#include <graph_base.hh>
Public Types | |
typedef Graph< void > | category |
typedef ord_pair< vertex_id_t > | edge_data_t |
Internal edge data type. | |
typedef util::edge< E > | edge_t |
The type of an edge. | |
typedef E | exact_t |
typedef std::vector< edge_id_t > | vertex_data_t |
Internal vertex data type. | |
typedef util::vertex< E > | vertex_t |
The type of a vertex. | |
Public Member Functions | |
const util::tracked_ptr < mln::internal::data< E > > & | data_hook_ () const |
Hook to data; for debugging purpose. | |
void | print_debug (std::ostream &ostr) const |
Print on ostr the graph. | |
bool | has (const util::edge< E > &e) const |
Edge oriented methods | |
bool | has (const util::vertex< E > &v) const |
Vertex oriented methods | |
const void * | id () const |
Misc. | |
void | invalidate () |
Invalidate the graph. | |
bool | is_valid () const |
Return true if this graph is valid. | |
vertex_id_t | v_other (const edge_id_t &id_e, const vertex_id_t &id_v) const |
Vertex and edge oriented methods. | |
Protected Member Functions | |
graph_base () | |
Constructor. | |
Protected Attributes | |
util::tracked_ptr < mln::internal::data< E > > | data_ |
Internal data, sharable by several graphs. |
Definition at line 65 of file graph_base.hh.
typedef Graph<void> mln::Graph< E >::category [inherited] |
typedef ord_pair<vertex_id_t> mln::util::internal::graph_base< E >::edge_data_t |
Reimplemented in mln::util::graph, and mln::util::line_graph< G >.
Definition at line 78 of file graph_base.hh.
typedef util::edge<E> mln::util::internal::graph_base< E >::edge_t |
The type of an edge.
Reimplemented in mln::util::line_graph< G >.
Definition at line 72 of file graph_base.hh.
typedef E mln::Object< E >::exact_t [inherited] |
typedef std::vector<edge_id_t> mln::util::internal::graph_base< E >::vertex_data_t |
Reimplemented in mln::util::graph, and mln::util::line_graph< G >.
Definition at line 75 of file graph_base.hh.
typedef util::vertex<E> mln::util::internal::graph_base< E >::vertex_t |
The type of a vertex.
Reimplemented in mln::util::line_graph< G >.
Definition at line 70 of file graph_base.hh.
mln::util::internal::graph_base< E >::graph_base | ( | ) | [inline, protected] |
const util::tracked_ptr< mln::internal::data< E > > & mln::util::internal::graph_base< E >::data_hook_ | ( | ) | const [inline] |
Hook to data; for debugging purpose.
Definition at line 266 of file graph_base.hh.
References mln::util::internal::graph_base< E >::data_.
bool mln::util::internal::graph_base< E >::has | ( | const util::edge< E > & | e | ) | const [inline] |
Edge oriented methods
Check whether an edge e
exists in the graph.
Definition at line 211 of file graph_base.hh.
References mln::exact(), and mln::util::edge< G >::id().
bool mln::util::internal::graph_base< E >::has | ( | const util::vertex< E > & | v | ) | const [inline] |
Vertex oriented methods
Check whether a vertex v
exists in the graph.
Definition at line 199 of file graph_base.hh.
References mln::exact(), and mln::util::vertex< G >::id().
const void * mln::util::internal::graph_base< E >::id | ( | ) | const [inline] |
Misc.
methods
Returns the graph id, the "this" pointer.
Definition at line 167 of file graph_base.hh.
References mln::util::internal::graph_base< E >::data_, and mln::util::tracked_ptr< T >::ptr_.
Referenced by mln::util::line_graph< G >::is_subgraph_of(), mln::util::graph::is_subgraph_of(), and mln::operator==().
void mln::util::internal::graph_base< E >::invalidate | ( | ) | [inline] |
Invalidate the graph.
Definition at line 228 of file graph_base.hh.
References mln::util::tracked_ptr< T >::clean_(), and mln::util::internal::graph_base< E >::data_.
bool mln::util::internal::graph_base< E >::is_valid | ( | ) | const [inline] |
Return true if this graph is valid.
Definition at line 220 of file graph_base.hh.
References mln::util::internal::graph_base< E >::data_.
void mln::util::internal::graph_base< E >::print_debug | ( | std::ostream & | ostr | ) | const [inline] |
Print on ostr
the graph.
[in] | ostr | The output stream. |
Definition at line 241 of file graph_base.hh.
References mln::exact().
vertex_id_t mln::util::internal::graph_base< E >::v_other | ( | const edge_id_t & | id_e, | |
const vertex_id_t & | id_v | |||
) | const [inline] |
Vertex and edge oriented methods.
Returns the other adjacent vertex id of a given edge id id_e
.
Definition at line 179 of file graph_base.hh.
References mln::exact().
Referenced by mln::util::line_graph< G >::v_ith_nbh_vertex(), and mln::util::graph::v_ith_nbh_vertex().
util::tracked_ptr< mln::internal::data<E> > mln::util::internal::graph_base< E >::data_ [protected] |
Internal data, sharable by several graphs.
Definition at line 126 of file graph_base.hh.
Referenced by mln::util::graph::add_edge(), mln::util::graph::add_vertex(), mln::util::graph::add_vertices(), mln::util::internal::graph_base< E >::data_hook_(), mln::util::line_graph< G >::e_nmax(), mln::util::graph::e_nmax(), mln::util::graph::edge(), mln::util::graph::edges(), mln::util::line_graph< G >::graph(), mln::util::graph::graph(), mln::util::line_graph< G >::has_e(), mln::util::graph::has_e(), mln::util::line_graph< G >::has_v(), mln::util::graph::has_v(), mln::util::internal::graph_base< E >::id(), mln::util::internal::graph_base< E >::invalidate(), mln::util::internal::graph_base< E >::is_valid(), mln::util::line_graph< G >::line_graph(), mln::util::line_graph< G >::v1(), mln::util::graph::v1(), mln::util::line_graph< G >::v2(), mln::util::graph::v2(), mln::util::line_graph< G >::v_ith_nbh_edge(), mln::util::graph::v_ith_nbh_edge(), mln::util::line_graph< G >::v_nmax(), mln::util::graph::v_nmax(), mln::util::line_graph< G >::v_nmax_nbh_edges(), and mln::util::graph::v_nmax_nbh_edges().