mln::util::edge< G > Class Template Reference

Edge of a graph G. More...

#include <edge.hh>

Inheritance diagram for mln::util::edge< G >:

Inheritance graph

List of all members.

Public Types

typedef Edge< void > category
 Object category.
typedef G graph_t
 Graph associated type.
typedef edge_id_t id_t
 The edge type id.
typedef edge_id_t::value_t id_value_t
 The underlying type used to store edge ids.

Public Member Functions

void change_graph (const G &g)
 Set g_ with g;.
const G & graph () const
 Return a reference to the graph holding this edge.
edge_id_t id () const
 Return the edge id.
void invalidate ()
 Invalidate that vertex.
bool is_valid () const
 Misc.
 operator edge_id_t () const
 Conversion to the edge id.
void update_id (const edge_id_t &id)
 Set id_ with id;.
 edge (const G &g, const edge_id_t &id)
 edge (const G &g, id_value_t id)
 edge (const G &g)
 edge ()
 Constructors.
edge_id_t ith_nbh_edge (unsigned i) const
 Return the i th adjacent edge.
size_t nmax_nbh_edges () const
 Return the number max of adjacent edges.
vertex_id_t v1 () const
 Edge oriented.
vertex_id_t v2 () const
 Return the highest vertex id adjacent to this edge.
vertex_id_t v_other (const vertex_id_t &id_v) const
 Vertex and edges oriented.

Private Attributes

g_
edge_id_t id_


Detailed Description

template<typename G>
class mln::util::edge< G >

Edge of a graph G.

Definition at line 68 of file edge.hh.


Member Typedef Documentation

template<typename G>
typedef Edge<void> mln::util::edge< G >::category

Object category.

Definition at line 72 of file edge.hh.

template<typename G>
typedef G mln::util::edge< G >::graph_t

Graph associated type.

Definition at line 81 of file edge.hh.

template<typename G>
typedef edge_id_t mln::util::edge< G >::id_t

The edge type id.

Definition at line 78 of file edge.hh.

template<typename G>
typedef edge_id_t::value_t mln::util::edge< G >::id_value_t

The underlying type used to store edge ids.

Definition at line 75 of file edge.hh.


Constructor & Destructor Documentation

template<typename G>
mln::util::edge< G >::edge (  )  [inline]

Constructors.

Definition at line 230 of file edge.hh.

References mln::util::edge< G >::invalidate().

template<typename G>
mln::util::edge< G >::edge ( const G &  g  )  [inline, explicit]

Definition at line 237 of file edge.hh.

References mln::util::edge< G >::invalidate().

template<typename G>
mln::util::edge< G >::edge ( const G &  g,
id_value_t  id 
) [inline]

Definition at line 245 of file edge.hh.

References mln::util::edge< G >::g_.

template<typename G>
mln::util::edge< G >::edge ( const G &  g,
const edge_id_t id 
) [inline]

Definition at line 253 of file edge.hh.

References mln::util::edge< G >::g_.


Member Function Documentation

template<typename G>
void mln::util::edge< G >::change_graph ( const G &  g  )  [inline]

Set g_ with g;.

Definition at line 293 of file edge.hh.

References mln::util::edge< G >::g_.

Referenced by mln::if_possible::change_target().

template<typename G>
const G & mln::util::edge< G >::graph (  )  const [inline]

Return a reference to the graph holding this edge.

Definition at line 285 of file edge.hh.

References mln::util::edge< G >::g_.

Referenced by mln::p_edges< G, F >::has(), mln::util::line_graph< G >::has(), and mln::util::operator==().

template<typename G>
edge_id_t mln::util::edge< G >::id (  )  const [inline]

template<typename G>
void mln::util::edge< G >::invalidate (  )  [inline]

Invalidate that vertex.

Definition at line 309 of file edge.hh.

References mln::util::edge< G >::id_, and mln::util::object_id< Tag, V >::invalidate().

Referenced by mln::util::edge< G >::edge().

template<typename G>
bool mln::util::edge< G >::is_valid (  )  const [inline]

template<typename G>
edge_id_t mln::util::edge< G >::ith_nbh_edge ( unsigned  i  )  const [inline]

Return the i th adjacent edge.

Definition at line 355 of file edge.hh.

References mln::util::edge< G >::g_, and mln::util::edge< G >::id_.

template<typename G>
size_t mln::util::edge< G >::nmax_nbh_edges (  )  const [inline]

Return the number max of adjacent edges.

Definition at line 346 of file edge.hh.

References mln::util::edge< G >::g_, and mln::util::edge< G >::id_.

template<typename G>
mln::util::edge< G >::operator edge_id_t (  )  const [inline]

Conversion to the edge id.

Definition at line 277 of file edge.hh.

References mln::util::edge< G >::id_.

template<typename G>
void mln::util::edge< G >::update_id ( const edge_id_t id  )  [inline]

Set id_ with id;.

Definition at line 270 of file edge.hh.

References mln::util::edge< G >::id_.

template<typename G>
vertex_id_t mln::util::edge< G >::v1 (  )  const [inline]

Edge oriented.

Return the lowest vertex id adjacent to this edge.

Definition at line 328 of file edge.hh.

References mln::util::edge< G >::g_, and mln::util::edge< G >::id_.

Referenced by mln::util::edge< G >::v_other().

template<typename G>
vertex_id_t mln::util::edge< G >::v2 (  )  const [inline]

Return the highest vertex id adjacent to this edge.

Definition at line 337 of file edge.hh.

References mln::util::edge< G >::g_, and mln::util::edge< G >::id_.

Referenced by mln::util::edge< G >::v_other().

template<typename G>
vertex_id_t mln::util::edge< G >::v_other ( const vertex_id_t id_v  )  const [inline]

Vertex and edges oriented.

Return the vertex id of this edge which is different from id_v.

Definition at line 319 of file edge.hh.

References mln::util::edge< G >::g_, mln::util::edge< G >::id_, mln::util::edge< G >::v1(), and mln::util::edge< G >::v2().


Member Data Documentation

template<typename G>
G mln::util::edge< G >::g_ [private]

template<typename G>
edge_id_t mln::util::edge< G >::id_ [private]


Generated on Sun Apr 25 02:07:24 2010 for Milena (Olena) by  doxygen 1.5.6