-
Before no parameter members have been copied as the loop used the actual size of the object instead of the size of the parameters to be copied.
-
The coding and design conventions (CDC) document was also updated.
-
Initially, there was a unlogic relation between GModels and GOptimizerPars, where GModels derives from GOptimizerPars, but both classes contained different types of objects. GModels is a model container, while GOptimizerPars is a parameter container. Now, GModels derives directly from GContainer and no longer from GOptimizerPars. The GModels::pars() method has been added to extract a flat array of model parameter pointers into a GOptimizerPars object. GOptimizerPars, which was abstract before, is now a real container class that also derives from GContainer.
-
For some reason, the GOptimizerPars class was not abstract although it should be an abstract class. The code has been modified to make the class now abstract.
-
All classes now derive from GBase. ostream and GLog friends are removed since they are now implement at the GBase level.
-
…td::vector<GModelPar*> instead of GModelPar**; add print() method and GLog friend