00001 00025 #ifndef DMN_DOMINOES_H 00026 #define DMN_DOMINOES_H 1 00027 00028 #include <dmn/domino.h> 00029 00030 #include <list> 00031 00032 namespace dmn 00033 { 00037 class Dominoes 00038 { 00039 private: 00040 std::list<Domino> dominoes_; 00041 00042 public: 00048 unsigned long size() const; 00049 00055 bool search(const Domino& domino) const; 00056 00065 bool insert(const Domino& domino); 00066 00075 bool insert_in_order(const Domino& domino, const HalfDomino& half); 00076 00082 bool erase(const Domino& domino); 00083 00089 bool is_ordered(); 00090 00100 Domino operator[](unsigned long position); 00101 00110 friend bool operator==(const Dominoes& dominoes1, 00111 const Dominoes& dominoes2); 00112 00121 friend bool operator!=(const Dominoes& dominoes1, 00122 const Dominoes& dominoes2); 00123 }; 00124 }; 00125 00126 #endif // DMN_DOMINOES_H