32 #ifdef __GTL_USE_NAMESPACES
35 typedef std::iterator<std::bidirectional_iterator_tag, edge>
bi_iter_edge;
36 typedef std::iterator<std::bidirectional_iterator_tag, node>
bi_iter_node;
41 typedef bidirectional_iterator<edge,ptrdiff_t>
bi_iter_edge;
44 #endif // __GTL_USE_NAMESPACES
102 list<node> opposites(
edge)
const;
111 bool is_hidden ()
const;
119 int excentricity()
const;
135 class inout_edges_iterator;
140 class adj_nodes_iterator;
145 class adj_edges_iterator;
154 adj_nodes_iterator adj_nodes_begin()
const;
161 adj_nodes_iterator adj_nodes_end()
const;
168 adj_edges_iterator adj_edges_begin()
const;
175 adj_edges_iterator adj_edges_end()
const;
210 inout_edges_iterator inout_edges_begin()
const;
217 inout_edges_iterator inout_edges_end()
const;
224 bool is_directed()
const;
225 bool is_undirected()
const;
229 friend class adj_edges_iterator;
246 adj_edges_iterator();
247 adj_edges_iterator(
node,
bool);
250 bool operator==(
const adj_edges_iterator&)
const;
251 bool operator!=(
const adj_edges_iterator&)
const;
254 adj_edges_iterator &operator++();
255 adj_edges_iterator operator++(
int);
256 adj_edges_iterator &operator--();
257 adj_edges_iterator operator--(
int);
261 const edge* operator->()
const;
277 inout_edges_iterator();
281 bool operator==(
const inout_edges_iterator&)
const;
282 bool operator!=(
const inout_edges_iterator&)
const;
285 inout_edges_iterator &operator++();
286 inout_edges_iterator operator++(
int);
287 inout_edges_iterator &operator--();
288 inout_edges_iterator operator--(
int);
292 const edge* operator->()
const;
295 in_edges_iterator akt_edge[2], last_edge, begin_edge;
307 adj_nodes_iterator();
308 adj_nodes_iterator(
const node&,
bool);
311 bool operator==(
const adj_nodes_iterator&)
const;
312 bool operator!=(
const adj_nodes_iterator&)
const;
315 adj_nodes_iterator &operator++();
316 adj_nodes_iterator operator++(
int);
317 adj_nodes_iterator &operator--();
318 adj_nodes_iterator operator--(
int);
322 const node* operator->()
const;
337 #define forall_out_edges(e,v) GTL_FORALL(e,v,node::out_edges_iterator,out_edges_)
338 #define forall_in_edges(e,v) GTL_FORALL(e,v,node::in_edges_iterator,in_edges_)
339 #define forall_inout_edges(e,v) GTL_FORALL(e,v,node::inout_edges_iterator,inout_edges_)
340 #define forall_adj_edges(e,v) GTL_FORALL(e,v,node::adj_edges_iterator,adj_edges_)