CLAM-Development  1.4.0
Public Member Functions
CLAM::ProcessingConfig Class Reference

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>

List of all members.

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.
- Public Member Functions inherited from CLAM::DynamicType
 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 ComponentGetAttributeAsComponent (unsigned i) const
ComponentGetAttributeAsComponent (unsigned i)
void FullfilsInvariant () const
virtual ComponentDeepCopy () 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.
- Public Member Functions inherited from CLAM::Component
virtual ~Component ()

Additional Inherited Members

- Public Types inherited from CLAM::DynamicType
enum  { idLength = 120, typeLength = 120 }
- Protected Types inherited from CLAM::DynamicType
enum  { shrinkThreshold = 80 }
- Protected Member Functions inherited from CLAM::DynamicType
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 DynamicTypeGetDynamicTypeCopy (const bool shareData=false, const bool deep=false) const =0
virtual ComponentShallowCopy () const
DynamicTypeoperator= (const DynamicType &source)
unsigned GetNumAttr () const
unsigned GetNumActiveAttr () const
char * GetData () const
void SetData (char *srcData)
TDynInfoGetDynamicTable () const
TAttrGetTypeDescTable () 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)
- Protected Attributes inherited from CLAM::DynamicType
unsigned numActiveAttr
char * data
TDynInfodynamicTable
TAttrtypeDescTable
unsigned dataSize
bool bOwnsItsMemory
unsigned numAttr
unsigned maxAttrSize
unsigned allocatedDataSize

Detailed Description

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.


Constructor & Destructor Documentation

CLAM::ProcessingConfig::ProcessingConfig ( const int  n)
inline

Constructor.

Must be called from the initialization list of the derived classes.

Parameters:
nNumber of dynamic attributes

Definition at line 48 of file ProcessingConfig.hxx.

CLAM::ProcessingConfig::ProcessingConfig ( const ProcessingConfig prototype,
bool  shareData = false,
bool  deep = true 
)
inline

Copy constructor.

Parameters:
prototypecopy source.
shareDatatrue if the new object is to share its data with the source

Definition at line 53 of file ProcessingConfig.hxx.

CLAM::ProcessingConfig::~ProcessingConfig ( )
virtual

Definition at line 6 of file ProcessingConfig.cxx.


Member Function Documentation

virtual const char* CLAM::ProcessingConfig::GetClassName ( ) const
inlinevirtual

Return the class name.

Implements CLAM::DynamicType.

Definition at line 60 of file ProcessingConfig.hxx.


The documentation for this class was generated from the following files: