/* * Name.h * openChams * * Created by damien dupuis on 18/12/09. * Copyright 2009 UPMC / LIP6. All rights reserved. * */ #ifndef __OPENCHAMS_NAME_H__ #define __OPENCHAMS_NAME_H__ #include #include using namespace std; namespace OpenChams { class Name { public: Name(string); Name(const char*); bool operator==(const Name&); bool operator==(const string&); bool operator<(const Name) const; inline const string& getString() const; private: unsigned long _id; const string *_str; static map _dict; static unsigned long _globalId; }; const string& Name::getString() const{ return *_str; } } // namespace #endif