Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

NameIdentifier.hpp

00001 #if   !defined(__NAMEIDENTIFIER_HPP)
00002 #define  __NAMEIDENTIFIER_HPP
00003 
00004 /*
00005   CoreLinux++ 
00006   Copyright (C) 2000 CoreLinux Consortium
00007   
00008    The CoreLinux++ Library is free software; you can redistribute it and/or
00009    modify it under the terms of the GNU Library General Public License as
00010    published by the Free Software Foundation; either version 2 of the
00011    License, or (at your option) any later version.
00012 
00013    The CoreLinux++ Library Library is distributed in the hope that it will 
00014    be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016    Library General Public License for more details.
00017 
00018    You should have received a copy of the GNU Library General Public
00019    License along with the GNU C Library; see the file COPYING.LIB.  If not,
00020    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00021    Boston, MA 02111-1307, USA.  
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    // Constructors and destructors
00048    //
00049                   
00051                      
00052                         NameIdentifier( NameCref );
00053 
00055                      
00056                         NameIdentifier( NameIdentifierCref ) ;
00057 
00059 
00060    virtual              ~NameIdentifier( void );
00061 
00062    //
00063    // Operator overloads 
00064    //
00065 
00067 
00068             NameIdentifierRef operator=( NameIdentifierCref );
00069 
00071 
00072             bool        operator==( NameIdentifierCref );
00073    //
00074    // Accessors
00075    //
00077 
00078             NameCref    getName( void ) const;
00079 
00080 protected:
00081 
00082    //
00083    // Constructors
00084    //
00086 
00087                      NameIdentifier( void ) throw(CORELINUX(Assertion));
00088 
00089 
00090    //
00091    // Identifier overloads
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    Common rcs information do not modify
00149    $Author: frankc $
00150    $Revision: 1.1 $
00151    $Date: 2000/04/21 02:38:47 $
00152    $Locker:  $
00153 */
00154 
00155 

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium