Besides the changes asked by Xavi (RemoveAttribute(i) and AddAttribute(i)) i did some further simplifications on DynamicTypes code. The direct impact of that is that less template code is generated when defining a DynamicType.
AddAll and RemoveAll are implemented in the base class instead being expanded as chained methods at the concrete class. This should require just a recompilation. The code in MandatoryInit has been split between the base DT constructor and a new macro generated static function called TypeDescriptorsTable(). Such table should be propagated among non-copy constructors until reaching DynamicType constructors. This requires changes to all non-copy constructors defined in dynamic types which are not generated by macros. Two typical cases: - Non-copy constructors of intermediate classes which should just propagate it. (See ProcessingData, ProcessingConfig...) - Custom non-copy constructors defined in the concrete classes that should call TypeDescriptorTable - Copy constructors do not require any modification as the table is taken from the prototype in DynamicType copy constructor. http://www.clam-project.org/wiki/Version_Migration_Guide#1.4_to_svn -- David García Garzón (Work) david dot garcia at upf anotherdot edu http://www.dtic.upf.edu/~dgarcia _______________________________________________ clam-devel mailing list clam-devel@lists.clam-project.org http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org