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
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155