Memory Leaks
There is some memory leaks in the program.
Mostly due to block 9 (magnitude), related to Magnitude::operator+=
where exception are created.
EWOS is to fix it, dealloc all the caugth exception in the program
==12196==
==12196== HEAP SUMMARY:
==12196== in use at exit: 2,438,976 bytes in 304,872 blocks
==12196== total heap usage: 5,839,236 allocs, 5,534,364 frees, 892,824,771 bytes allocated
==12196==
==12196== 56 bytes in 7 blocks are definitely lost in loss record 1 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FCD3: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 168 bytes in 21 blocks are definitely lost in loss record 2 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FD33: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 4,976 bytes in 622 blocks are definitely lost in loss record 3 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A833D: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FA27: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 4,976 bytes in 622 blocks are definitely lost in loss record 4 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A833D: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x175AFB: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 18,120 bytes in 2,265 blocks are definitely lost in loss record 5 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A841E: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FA27: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 18,120 bytes in 2,265 blocks are definitely lost in loss record 6 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A841E: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x175AFB: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 160,600 bytes in 20,075 blocks are definitely lost in loss record 7 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x18400B: mutCSDVP<eoInt<eoScalarFitness<double, std::greater<double> > > >::_getCompStatusAtTF(std::vector<Course, std::allocator<Course> > const&, std::vector<int, std::allocator<int> >&, int, int) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x182552: mutCSDVP<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x181B6C: eoInvalidateMonOp<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x181AB7: eoSGATransform<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x181356: eoSelectTransform<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > > const&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x175B63: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 505,288 bytes in 63,161 blocks are definitely lost in loss record 8 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A8D50: ConstraintsProfession::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A833D: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x175BA0: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== 1,726,672 bytes in 215,834 blocks are definitely lost in loss record 9 of 9
==12196== at 0x4835DEF: operator new(unsigned long) (vg_replace_malloc.c:334)
==12196== by 0x19C356: Magnitude::operator+=(Magnitude const&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x19D309: Competency::evolveTowards(Magnitude&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A9B79: ConstraintsPrerequisites::integrityCheck(eoInt<eoScalarFitness<double, std::greater<double> > >) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x1A841E: CursusEval::operator()(eoInt<eoScalarFitness<double, std::greater<double> > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x183638: void apply<eoInt<eoScalarFitness<double, std::greater<double> > > >(eoUF<eoInt<eoScalarFitness<double, std::greater<double> > >&, void>&, std::vector<eoInt<eoScalarFitness<double, std::greater<double> > >, std::allocator<eoInt<eoScalarFitness<double, std::greater<double> > > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x181388: eoPopLoopEval<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&, eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x175BA0: eoEasyEA<eoInt<eoScalarFitness<double, std::greater<double> > > >::operator()(eoPop<eoInt<eoScalarFitness<double, std::greater<double> > > >&) (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196== by 0x16FB14: main (in /home/alexis/Works/csdvp-evolutionary-algorithm-optimization/build/application/ceao)
==12196==
==12196== LEAK SUMMARY:
==12196== definitely lost: 2,438,976 bytes in 304,872 blocks
==12196== indirectly lost: 0 bytes in 0 blocks
==12196== possibly lost: 0 bytes in 0 blocks
==12196== still reachable: 0 bytes in 0 blocks
==12196== suppressed: 0 bytes in 0 blocks
==12196==
==12196== For counts of detected and suppressed errors, rerun with: -v
==12196== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)