00001
#if !defined(__MODELER_HPP)
00002
#define __MODELER_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#if !defined(__COMMON_HPP)
00025
#include <Common.hpp>
00026
#endif
00027
00028
#if !defined(__MAP_HPP)
00029
#include <Map.hpp>
00030
#endif
00031
00032
#if !defined(__VECTOR_HPP)
00033
#include <Vector.hpp>
00034
#endif
00035
00036
#if !defined(__OBJECT_HPP)
00037
#include <Object.hpp>
00038
#endif
00039
00040 CORELINUX_VECTOR(
DwordIdentifier , IdVector ) ;
00041 CORELINUX_MAP(
DwordIdentifier, IdVector, less<DwordIdentifier>, IdMap ) ;
00042
00048 DECLARE_CLASS( Modeler );
00049
00050
class Modeler
00051 {
00052
public:
00053
00054
00055
00056
00057
00059
00060 Modeler(
void );
00061
00063
00064 Modeler( ModelerCref );
00065
00067
00068
virtual ~Modeler(
void );
00069
00070
00071
00072
00073
00075
00076 ModelerRef operator=( ModelerCref );
00077
00079
00080
bool operator==( ModelerCref ) const;
00081
00082
00083
00084
00091 CORELINUX(Count) getParentCount(
DwordIdentifierCref ) const;
00092
00100 IdVector getParents(
DwordIdentifierCref ) const
00101 throw(CORELINUX(Exception)) ;
00102
00103
00104
00105
00112
void addParent(
DwordIdentifierCref, DwordIdentifierCref );
00113
00119
void removeParent( DwordIdentifierCref, DwordIdentifierCref );
00120
00126
void removeParents( DwordIdentifierCref );
00127
00133
void removeChildren( DwordIdentifierCref );
00134
00135 protected:
00136
00137 private:
00138
00139 IdMap theParentsMap;
00140
00141 };
00142
00143 #endif
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153