1 #ifndef __DIADES__UTILS__PARTIALORDER_HH_ 2 #define __DIADES__UTILS__PARTIALORDER_HH_ 27 template<
typename Object,
52 set<Node>::const_iterator
_it;
70 set<Node>::const_iterator _it2=
_it;
81 return ((&_order) == (&it.
_order)) && (_it == it.
_it);
86 return !(*
this == it);
107 return _order.
empty();
116 _map[newNode] = object;
117 bool isMinMax =
true;
122 if(*nodeIt != newNode)
134 _order.
newEdge(*nodeIt,newNode);
135 set<Node>::iterator maxIt = _max.find(*nodeIt);
136 if(maxIt != _max.end())
139 _max.insert(newNode);
148 set<Node>::iterator minIt = _min.find(*nodeIt);
149 if(minIt != _min.end())
152 _min.insert(newNode);
161 _min.insert(newNode);
162 _max.insert(newNode);
169 return Iterator(*
this,_min.begin());
180 return Iterator(*
this,_max.begin());
224 template<
typename Object,
typename Order,
typename Equal>
230 template<
typename Object,
typename Order,
typename Equal>
const Object & operator*() const
Edge newEdge(Node source, Node target)
void init(Graph &g, SizeType capacity=0, ValueType dflt=ValueType())
bool operator!=(const Iterator &it) const
void erase(const Object &object)
Iterator maximalEnd() const
GraphIterator< Node > NodeIterator
Iterator minimalEnd() const
const PartialOrder & _order
Namespace of the Diades project.
void insert(const Object &object)
bool operator==(const Iterator &it) const
virtual void deleteNode(Node &node)
ConstIterator on the Net.
const Object & operator->(void) const
Iterator maximalBegin() const
set< Node >::const_iterator _it
PartialOrder(const PartialOrder &order)
Iterator(const PartialOrder &order, set< Node >::const_iterator it)
Iterator minimalBegin() const
const Object & getObject(Node node) const