Public Types | Private Attributes

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

 edge ()
 Constructors.
 edge (const G &g)
 edge (const G &g, id_value_t id)
 edge (const G &g, const edge_id_t &id)

bool is_valid () const
 Misc.
void invalidate ()
 Invalidate that vertex.
edge_id_t id () const
 Return the edge id.
void update_id (const edge_id_t &id)
 Set id_ with id;.
 operator edge_id_t () const
 Conversion to the edge id.
const G & graph () const
 Return a reference to the graph holding this edge.
void change_graph (const G &g)
 Set g_ with g;.

vertex_id_t v_other (const vertex_id_t &id_v) const
 Vertex and edges oriented.

vertex_id_t v1 () const
 Edge oriented.
vertex_id_t v2 () const
 Return the highest vertex id adjacent to this edge.
size_t nmax_nbh_edges () const
 Return the number max of adjacent edges.
edge_id_t ith_nbh_edge (unsigned i) const
 Return the i th adjacent edge.

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 69 of file edge.hh.


Member Typedef Documentation

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

Object category.

Definition at line 73 of file edge.hh.

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

Graph associated type.

Definition at line 82 of file edge.hh.

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

The edge type id.

Definition at line 79 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 76 of file edge.hh.


Constructor & Destructor Documentation

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

Constructors.

Definition at line 227 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 234 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 242 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 250 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 290 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 282 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 306 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 351 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 342 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 274 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 267 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 324 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 333 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 315 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]