1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| template <class N_, class E_> class Graph
{
...
public:
/* Si plus tard, tu viens à décider que la std::deque ne convient
* pas, il suffira de modifier le typedef en conséquence sans
* que cela n'implique de changer tous les endroits dans ton
* code où tu les utilises :D
*/
typedef std::deque<N_*>::const_iterator const_iterator;
typedef std::deque<N_*>::iterator iterator;
const_iterator begin() const{return _node.begin();}
const_iterator end() const{return _nodes.end();}
/* les fonction qui vont bien (choisir celles qui t'intéressent :D*/
bool isEmpty() const{return _nodes.empty();}
void push_front(T* t){_nodes.push_front(t);}
void push_back(T* t){_nodes.push_back(t);}
size_t size() const{return _nodes.size();}
/* ... */
private:
std::deque<N_*> _nodes;
}; |
Partager