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 // if !defined(__MODELER_HPP)
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153