00001 #ifndef __cmt_group_h__ 00002 #define __cmt_group_h__ 00003 00004 #include "cmt_parser.h" 00005 #include "cmt_system.h" 00006 00007 class Group 00008 { 00009 public: 00010 00011 typedef cmt_vector<Group> GroupVector; 00012 00013 static Group* find (const cmt_string& name); 00014 static Group* add (const cmt_string& name); 00015 00016 static GroupVector& groups (); 00017 static void clear_all (); 00018 static void show_all (); 00019 00020 public: 00021 00022 Group (); 00023 Group (const cmt_string& name); 00024 00025 const cmt_string& name () const; 00026 void set (const cmt_string& new_name); 00027 void clear (); 00028 00029 Group& operator = (const Group& other); 00030 bool operator == (const cmt_string& name) const; 00031 bool operator != (const cmt_string& name) const; 00032 00033 private: 00034 cmt_string m_name; 00035 cmt_string m_macro; 00036 }; 00037 00038 #endif