00001 #if !defined(__NAMEIDENTIFIER_HPP)
00002 #define __NAMEIDENTIFIER_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(__IDENTIFIER_HPP)
00029 #include <Identifier.hpp>
00030 #endif
00031
00032 #include <string>
00033
00034 DECLARE_TYPE( std::string, Name );
00035
00040 DECLARE_CLASS( NameIdentifier );
00041
00042 class NameIdentifier : public CORELINUX(Identifier)
00043 {
00044 public:
00045
00046
00047
00048
00049
00051
00052 NameIdentifier( NameCref );
00053
00055
00056 NameIdentifier( NameIdentifierCref ) ;
00057
00059
00060 virtual ~NameIdentifier( void );
00061
00062
00063
00064
00065
00067
00068 NameIdentifierRef operator=( NameIdentifierCref );
00069
00071
00072 bool operator==( NameIdentifierCref );
00073
00074
00075
00077
00078 NameCref getName( void ) const;
00079
00080 protected:
00081
00082
00083
00084
00086
00087 NameIdentifier( void ) throw(CORELINUX(Assertion));
00088
00089
00090
00091
00092
00099 virtual bool isEqual( CORELINUX(IdentifierCref) ) const ;
00100
00107 virtual bool isLessThan( CORELINUX(IdentifierCref) ) const ;
00108
00115 virtual bool isLessThanOrEqual
00116 (
00117 CORELINUX(IdentifierCref)
00118 ) const ;
00119
00126 virtual bool isGreaterThan( CORELINUX(IdentifierCref) ) const ;
00127
00134 virtual bool isGreaterThanOrEqual
00135 (
00136 CORELINUX(IdentifierCref)
00137 ) const ;
00138
00139 private:
00140
00141 Name theName;
00142
00143 };
00144
00145 #endif // if !defined(__NAMEIDENTIFIER_HPP)
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155