[clam-devel] More changes on DynamicType
David García Garzón
david.garcia at upf.edu
Sun Jun 26 09:29:06 PDT 2011
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
More information about the clam-devel
mailing list