[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