CLAM-Development
1.4.0
|
This is an abstract class which serves as interface for configuration classes used as processing object construction arguments, which must derive from it. More...
#include <ProcessingConfig.hxx>
Public Member Functions | |
ProcessingConfig (const int n) | |
Constructor. | |
ProcessingConfig (const ProcessingConfig &prototype, bool shareData=false, bool deep=true) | |
Copy constructor. | |
virtual | ~ProcessingConfig () |
virtual const char * | GetClassName () const |
Return the class name. | |
![]() | |
DynamicType (const int nAttr) | |
Constructs a DynamicType object that can hold. | |
DynamicType (const DynamicType &prototype, const bool shareData, const bool deepCopy) | |
Copy constructor of a dynamic Type. | |
DynamicType (const DynamicType &prototype) | |
virtual | ~DynamicType () |
void | CopyInit (const DynamicType &dt) |
This method allows custom code for the copy-constructor of a dynamic type, since the copy-constructor is macro expanded and can not be overwritted. | |
bool | UpdateData () |
Method used to resize the data space of the dynamic type, necessary when some AddXXX() / RemoveXXX() (where XXX is an attribute name) has been done. | |
unsigned | GetNDynamicAttributes () const |
const char * | GetDynamicAttributeName (unsigned i) |
virtual const std::type_info & | GetTypeId (unsigned i) const =0 |
bool | AttributeIsComponent (unsigned i) const |
bool | AttributeIsDynamictype (unsigned i) const |
bool | IsAttributeInstantiated (unsigned i) const |
const void * | GetAttributeAsVoidPtr (unsigned i) const |
const Component * | GetAttributeAsComponent (unsigned i) const |
Component * | GetAttributeAsComponent (unsigned i) |
void | FullfilsInvariant () const |
virtual Component * | DeepCopy () const |
void | Debug () const |
virtual void | StoreOn (CLAM::Storage &storage) const |
Stores component's subitems on the given Storage. | |
virtual void | LoadFrom (CLAM::Storage &storage) |
Loads component's subitems from the given Storage. | |
![]() | |
virtual | ~Component () |
Additional Inherited Members | |
![]() | |
enum | { idLength = 120, typeLength = 120 } |
![]() | |
enum | { shrinkThreshold = 80 } |
![]() | |
void | DefaultInit () |
The concrete dynamic type constructor calls DefaultInit(). | |
virtual void | InformAll () |
implemented by the macros in the concrete class. | |
void | InformTypedAttr_ (unsigned id, const char *name, unsigned size, const char *type, const bool isPtr, const t_new, const t_new_copy, const t_destructor, const Component *ptr) |
void | InformTypedAttr_ (unsigned id, const char *name, unsigned size, const char *type, const bool isPtr, const t_new, const t_new_copy, const t_destructor, const DynamicType *ptr) |
void | InformTypedAttr_ (unsigned id, const char *name, unsigned size, const char *type, const bool isPtr, const t_new, const t_new_copy, const t_destructor, const void *ptr) |
void | AddAttr_ (const unsigned i, const unsigned size) |
void | RemoveAttr_ (const unsigned id) |
virtual DynamicType & | GetDynamicTypeCopy (const bool shareData=false, const bool deep=false) const =0 |
virtual Component * | ShallowCopy () const |
DynamicType & | operator= (const DynamicType &source) |
unsigned | GetNumAttr () const |
unsigned | GetNumActiveAttr () const |
char * | GetData () const |
void | SetData (char *srcData) |
TDynInfo * | GetDynamicTable () const |
TAttr * | GetTypeDescTable () const |
unsigned | GetDataSize () const |
bool | IsInstanciate () const |
bool | OwnsItsMemory () const |
void | SetOwnsItsMemory (const bool owns) |
bool | ExistAttr (unsigned id) const |
void | SetPreAllocateAllAttributes () |
int | DynTableRefCounter () |
void | InitDynTableRefCounter () |
int | DecrementDynTableRefCounter () |
int | IncrementDynTableRefCounter () |
virtual void | StoreDynAttributes (CLAM::Storage &s) const =0 |
virtual void | LoadDynAttributes (CLAM::Storage &s)=0 |
template<typename AttribType > | |
void | StoreAttribute (StaticTrue *asLeave, CLAM::Storage &s, AttribType &object, const char *name) const |
template<typename AttribType > | |
void | StoreAttribute (StaticFalse *asLeave, CLAM::Storage &s, AttribType &object, const char *name) const |
template<typename AttribType > | |
void | StoreIterableAttribute (CLAM::Storage &s, AttribType &object, const char *name, const char *elemName) const |
template<typename AttribType > | |
bool | LoadAttribute (StaticTrue *asLeave, CLAM::Storage &s, AttribType &object, const char *name) |
template<typename AttribType > | |
bool | LoadAttribute (StaticFalse *asLeave, CLAM::Storage &s, AttribType &object, const char *name) |
template<typename AttribType > | |
bool | LoadIterableAttribute (CLAM::Storage &s, AttribType &object, const char *name, const char *elemName) |
![]() | |
unsigned | numActiveAttr |
char * | data |
TDynInfo * | dynamicTable |
TAttr * | typeDescTable |
unsigned | dataSize |
bool | bOwnsItsMemory |
unsigned | numAttr |
unsigned | maxAttrSize |
unsigned | allocatedDataSize |
This is an abstract class which serves as interface for configuration classes used as processing object construction arguments, which must derive from it.
Note that the required virtual methods may be provided including a "Name" dynamic attribute in the derived dynamic classes.
Note that processing objects constructors will take configuration objects by value; further changes in a configuration object will have no effect on the processing object constructed with it.
Definition at line 41 of file ProcessingConfig.hxx.
|
inline |
Constructor.
Must be called from the initialization list of the derived classes.
n | Number of dynamic attributes |
Definition at line 48 of file ProcessingConfig.hxx.
|
inline |
Copy constructor.
prototype | copy source. |
shareData | true if the new object is to share its data with the source |
Definition at line 53 of file ProcessingConfig.hxx.
|
virtual |
Definition at line 6 of file ProcessingConfig.cxx.
|
inlinevirtual |
Return the class name.
Implements CLAM::DynamicType.
Definition at line 60 of file ProcessingConfig.hxx.