13#ifndef ML_GRAPH_TO_BOOST_UNDIRECTED_GRAPH_H 
   14#define ML_GRAPH_TO_BOOST_UNDIRECTED_GRAPH_H 
   23#include <boost/version.hpp> 
   24#include <boost/config.hpp> 
   25#include <boost/operators.hpp> 
   26#include <boost/graph/graph_traits.hpp> 
   27#include <boost/graph/properties.hpp> 
   28#include <boost/property_map/property_map.hpp> 
   79    public virtual incidence_graph_tag,     
 
   80    public virtual vertex_list_graph_tag    
 
 
  164        return _edge->succNode();
 
  166      return _edge->predNode();
 
 
 
  190                                            ml_ug_out_edge_iterator,  
 
  204                       std::vector<ml::VesselEdge*>::iterator 
edgeIter)
 
 
 
  232  inline boost::graph_traits<ml_undirected_graph_ptr>::vertex_descriptor
 
  233  source(graph_traits<ml_undirected_graph_ptr>::edge_descriptor e,
 
 
  240  inline boost::graph_traits<ml_undirected_graph_ptr>::vertex_descriptor
 
  241  target(graph_traits<ml_undirected_graph_ptr>::edge_descriptor e,
 
 
  259  inline std::pair<boost::graph_traits<ml_undirected_graph_ptr>::out_edge_iterator,
 
  260                   boost::graph_traits<ml_undirected_graph_ptr>::out_edge_iterator>
 
  264    return std::make_pair(
 
  265      boost::graph_traits<ml_undirected_graph_ptr>::out_edge_iterator(
vertex, 
vertex->edges()->begin()),
 
  266      boost::graph_traits<ml_undirected_graph_ptr>::out_edge_iterator(
vertex, 
vertex->edges()->end()) );
 
 
  273  inline boost::graph_traits<ml_undirected_graph_ptr>::degree_size_type
 
  277    return static_cast<boost::graph_traits<ml_undirected_graph_ptr>::degree_size_type
>(
vertex->getEdgeNum());
 
 
  284  inline std::pair<boost::graph_traits<ml_undirected_graph_ptr>::vertex_iterator,
 
  285                   boost::graph_traits<ml_undirected_graph_ptr>::vertex_iterator>
 
  288    return std::make_pair( g->beginNode(),
 
 
  293  inline boost::graph_traits<ml_undirected_graph_ptr>::vertices_size_type
 
  296    return static_cast<long> (g->numNodes());
 
 
  301  inline boost::graph_traits<ml_undirected_graph_ptr>::vertex_descriptor
 
#define MLGRAPHUTILITIES_EXPORT
Definiert systemspezifische Macros, die f"ur diese DLL gelten sollen.
 
value_type operator[](boost::ml_ug_edge edge) const
 
boost::ml_ug_edge key_type
 
boost::lvalue_property_map_tag category
 
Simple wrapper to store an ml::VesselEdge together with a ml::VesselNode, so that the source() functi...
 
friend bool operator==(const self &a, const self &b)
 
ml::VesselNode * target()
 
ml::VesselNode * source()
 
ml_ug_edge(ml::VesselNode *vertex, ml::VesselEdge *edge)
 
friend bool operator!=(const self &a, const self &b)
 
Vertex id Maps each vertex to a unique id.
 
ml_ug_vertex_id_map(ml_undirected_graph_ptr g)
 
ml_undirected_graph_ptr _g
 
ml::VesselNode * key_type
 
boost::readable_property_map_tag category
 
unsigned int operator[](ml::VesselNode *vertex) const
 
Tags a Graph object to be handled as undirected graph containing VesselEdges.
 
Iterator class to iterate over all out edges of a vertex (out_edge_iterator).
 
ml_ug_out_edge_iterator(ml::VesselNode *vertex, std::vector< ml::VesselEdge * >::iterator edgeIter)
 
std::vector< ml::VesselEdge * >::iterator _edgeIter
 
friend bool operator==(const self &x, const self &y)
 
boost::ml_ug_edge operator*()
 
ml_ug_out_edge_iterator()
 
ml::UndirectedGraph * ml_undirected_graph_ptr
typedef for use with graph_traits<>
 
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
 
Forward declaration for the boost::mutex class.
 
boost::graph_traits< ml_graph_ptr >::vertices_size_type num_vertices(const ml_graph_ptr g)
Returns the number of vertices in the graph g.
 
std::pair< boost::graph_traits< ml_graph_ptr >::out_edge_iterator, boost::graph_traits< ml_graph_ptr >::out_edge_iterator > out_edges(boost::graph_traits< ml_graph_ptr >::vertex_descriptor vertex, const ml_graph_ptr)
Returns an iterator-range providing access to the out-edges (for directed graphs) or incident edges (...
 
boost::graph_traits< ml_graph_ptr >::vertex_descriptor vertex(boost::graph_traits< ml_graph_ptr >::degree_size_type arrayIndex, const ml_graph_ptr g)
Returns the vertex at internal index.
 
ml_vertex_id_map get(vertex_index_t, ml_graph_ptr g)
get() function for vertex id property map vertex_index_t just necessary for overloading
 
std::pair< boost::graph_traits< ml_graph_ptr >::vertex_iterator, boost::graph_traits< ml_graph_ptr >::vertex_iterator > vertices(ml_graph_ptr g)
Returns an iterator-range providing access to all the vertices in the graph g.
 
boost::graph_traits< ml_graph_ptr >::vertex_descriptor source(graph_traits< ml_graph_ptr >::edge_descriptor e, const ml_graph_ptr)
Returns the vertex descriptor for u of the edge (u,v) represented by e.
 
boost::graph_traits< ml_graph_ptr >::degree_size_type out_degree(boost::graph_traits< ml_graph_ptr >::vertex_descriptor vertex, const ml_graph_ptr)
Returns the number of out-edges (for directed graphs) or the number of incident edges (for undirected...
 
boost::graph_traits< ml_graph_ptr >::vertex_descriptor target(graph_traits< ml_graph_ptr >::edge_descriptor e, const ml_graph_ptr)
Returns the vertex descriptor for v of the edge (u,v) represented by e.
 
ml_ug_edge edge_descriptor
The type for edge representative objects.
 
long degree_size_type
The unsigned intergral type used for representing the number out-edges or incident edges of a vertex.
 
long vertices_size_type
The unsigned integer type used to represent the number of vertices in the graph.
 
ml::Graph::NodeIterator vertex_iterator
A vertex iterator (obtained via vertices(g)) provides access to all of the vertices in a graph.
 
ml_undirected_graph_traversal_tag traversal_category
This describes the ways in which the vertices and edges of the graph can be visited.
 
ml::VesselNode * vertex_descriptor
The type for vertex representative objects.
 
allow_parallel_edge_tag edge_parallel_category
This describes whether the graph class allows the insertion of parallel edges (edges with the same so...
 
ml_ug_out_edge_iterator out_edge_iterator
 
undirected_tag directed_category
This type shall be convertible to directed_tag or undirected_tag.
 
This describes the ways in which the vertices and edges of the graph can be visited.
 
ml_ug_edge_weight_map const_type
 
ml_ug_edge_weight_map type
 
ml_ug_vertex_id_map const_type