$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::util::internal::graph_base< E > Class Template Reference

#include <mln/util/internal/graph_base.hh>

Public Member Functions

const util::tracked_ptr
< mln::internal::data< E > > & 
data_hook_ () const
void print_debug (std::ostream &ostr) const
const void * id () const
bool has (const util::vertex< E > &v) const
bool has (const util::edge< E > &e) const
vertex_id_t v_other (const edge_id_t &id_e, const vertex_id_t &id_v) const
bool is_valid () const
void invalidate ()

Protected Member Functions

 graph_base ()

Protected Attributes

util::tracked_ptr
< mln::internal::data< E > > 
data_

Public Types

typedef Graph< void > category
typedef ord_pair< vertex_id_tedge_data_t
typedef util::edge< E > edge_t
typedef E exact_t
typedef std::vector< edge_id_tvertex_data_t
typedef util::vertex< E > vertex_t

Detailed Description

template<typename E>
class mln::util::internal::graph_base< E >

Definition at line 68 of file graph_base.hh.

Constructor & Destructor Documentation

template<typename E>
mln::util::internal::graph_base< E >::graph_base ( )
protected

Constructor.

Member Function Documentation

template<typename E>
const util::tracked_ptr< mln::internal::data<E> >& mln::util::internal::graph_base< E >::data_hook_ ( ) const

Hook to data; for debugging purpose.

template<typename E>
bool mln::util::internal::graph_base< E >::has ( const util::vertex< E > &  v) const

Vertex oriented methodsCheck whether a vertex v exists in the graph.

template<typename E>
bool mln::util::internal::graph_base< E >::has ( const util::edge< E > &  e) const

Edge oriented methodsCheck whether an edge e exists in the graph.

template<typename E>
const void* mln::util::internal::graph_base< E >::id ( ) const

Misc.

methods

Returns the graph id, the "this" pointer.

template<typename E>
void mln::util::internal::graph_base< E >::invalidate ( )

Invalidate the graph.

template<typename E>
bool mln::util::internal::graph_base< E >::is_valid ( ) const

Return true if this graph is valid.

template<typename E>
void mln::util::internal::graph_base< E >::print_debug ( std::ostream &  ostr) const

Print on ostr the graph.

Parameters
[in]ostrThe output stream.
template<typename E>
vertex_id_t mln::util::internal::graph_base< E >::v_other ( const edge_id_t id_e,
const vertex_id_t id_v 
) const

Vertex and edge oriented methods.

Returns the other adjacent vertex id of a given edge id id_e.

Member Data Documentation

template<typename E>
util::tracked_ptr< mln::internal::data<E> > mln::util::internal::graph_base< E >::data_
protected

Internal data, sharable by several graphs.

Definition at line 129 of file graph_base.hh.

Member Typedef Documentation

template<typename E>
typedef Graph<void> mln::Graph< E >::category
inherited

Definition at line 62 of file core/concept/graph.hh.

template<typename E>
typedef ord_pair<vertex_id_t> mln::util::internal::graph_base< E >::edge_data_t

Internal edge data type.

Definition at line 81 of file graph_base.hh.

template<typename E>
typedef util::edge<E> mln::util::internal::graph_base< E >::edge_t

The type of an edge.

Definition at line 75 of file graph_base.hh.

template<typename E>
typedef E mln::Object< E >::exact_t
inherited

Definition at line 105 of file object.hh.

template<typename E>
typedef std::vector<edge_id_t> mln::util::internal::graph_base< E >::vertex_data_t

Internal vertex data type.

Definition at line 78 of file graph_base.hh.

template<typename E>
typedef util::vertex<E> mln::util::internal::graph_base< E >::vertex_t

The type of a vertex.

Definition at line 73 of file graph_base.hh.