Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Tag.h

Go to the documentation of this file.
00001 #ifndef TAGCOLL_TAG_H 00002 #define TAGCOLL_TAG_H 00003 00004 #pragma interface 00005 00006 #include <string> 00007 00008 namespace Tagcoll 00009 { 00010 00011 class Facet; 00012 class FacetImpl; 00013 class TagImpl; 00014 class TagSet; 00015 class FacetSet; 00016 00035 class Tag 00036 { 00037 protected: 00038 TagImpl* impl; 00039 00040 Tag(FacetImpl* facet, const std::string& name) throw (); 00041 00042 public: 00043 Tag() throw (); 00044 Tag(const Tag& f) throw (); 00045 ~Tag() throw (); 00046 Tag& operator=(const Tag& f) throw (); 00047 00048 bool operator==(const Tag& f) const throw (); 00049 bool operator<(const Tag& f) const throw (); 00050 00051 operator bool() const throw (); 00052 00053 Facet facet() const throw (); 00054 00055 const std::string& name() const throw (); 00056 std::string fullname() const throw (); 00057 00058 const std::string& sdesc() const throw (); 00059 const std::string& ldesc() const throw (); 00060 const std::string& fulldata() const throw (); 00061 00062 void sdesc(const std::string& desc) throw (); 00063 void ldesc(const std::string& desc) throw (); 00064 void fulldata(const std::string& desc) throw (); 00065 00066 friend class FacetImpl; 00067 friend class TagSet; 00068 }; 00069 00070 class Facet 00071 { 00072 protected: 00073 FacetImpl* impl; 00074 00075 Facet(FacetImpl* impl) throw (); 00076 00077 public: 00078 explicit Facet(const std::string& name) throw (); 00079 Facet() throw (); 00080 Facet(const Facet& f) throw (); 00081 ~Facet() throw (); 00082 Facet& operator=(const Facet& f) throw (); 00083 00084 bool operator==(const Facet& f) const throw (); 00085 bool operator<(const Facet& f) const throw (); 00086 00087 operator bool() const throw (); 00088 00089 const std::string& name() const throw (); 00090 00091 const std::string& sdesc() const throw (); 00092 const std::string& ldesc() const throw (); 00093 const std::string& fulldata() const throw (); 00094 00095 void sdesc(const std::string& desc) throw (); 00096 void ldesc(const std::string& desc) throw (); 00097 void fulldata(const std::string& desc) throw (); 00098 00099 Tag obtainTag(const std::string& name) throw (); 00100 00101 bool hasTag(const std::string& name) const throw (); 00102 Tag getTag(const std::string& name) const throw (); 00103 const TagSet& tags() const throw (); 00104 00105 friend class Tag; 00106 friend class FacetSet; 00107 }; 00108 00109 }; 00110 00111 // vim:set ts=3 sw=3: 00112 #endif

Generated on Sun Aug 15 19:05:33 2004 for libtagcoll by doxygen 1.3.8