Util--  1.1
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
utilmm::undirected_graph< BidirectionalGraph, GraphRef > Class Template Reference

#include <utilmm/undirected_graph.hh>

Collaboration diagram for utilmm::undirected_graph< BidirectionalGraph, GraphRef >:
Collaboration graph
[legend]

Classes

class  base_in_edge_iterator
 
class  base_out_edge_iterator
 
class  edge_iterator
 

Public Types

typedef BidirectionalGraph base_type
 
typedef Traits::vertex_descriptor vertex_descriptor
 
typedef boost::undirected_tag directed_category
 
typedef Traits::edge_parallel_category edge_parallel_category
 
typedef Traits::traversal_category traversal_category
 
typedef std::pair< typename Traits::edge_descriptor, bool > edge_descriptor
 
typedef edge_descriptor(* make_undirected_edge_descriptor) (typename Traits::edge_descriptor)
 
typedef Traits::degree_size_type degree_size_type
 
typedef iterator_sequence< base_in_edge_iterator, base_out_edge_iteratorin_edge_iterator
 
typedef in_edge_iterator out_edge_iterator
 
typedef iterator_sequence< typename Traits::adjacency_iterator, typename BidirectionalGraph::inv_adjacency_iterator > adjacency_iterator
 
typedef adjacency_iterator inv_adjacency_iterator
 
typedef Traits::vertex_iterator vertex_iterator
 
typedef Traits::edge_iterator traits_edge_iterator
 
typedef Traits::vertices_size_type vertices_size_type
 
typedef Traits::edges_size_type edges_size_type
 
typedef BidirectionalGraph::edge_property_type edge_property_type
 
typedef BidirectionalGraph::vertex_property_type vertex_property_type
 
typedef undirected_graph_tag graph_tag
 

Public Member Functions

 undirected_graph (GraphRef g)
 
boost::graph::detail::bundled_result< BidirectionalGraph, edge_descriptor >::type & operator[] (edge_descriptor x)
 
boost::graph::detail::bundled_result< BidirectionalGraph, edge_descriptor >::type const & operator[] (edge_descriptor x) const
 
boost::graph::detail::bundled_result< BidirectionalGraph, vertex_descriptor >::type & operator[] (vertex_descriptor x)
 
boost::graph::detail::bundled_result< BidirectionalGraph, vertex_descriptor >::type const & operator[] (vertex_descriptor x) const
 

Static Public Member Functions

static edge_descriptor make_out_edge_descriptor (typename Traits::edge_descriptor e)
 
static edge_descriptor make_in_edge_descriptor (typename Traits::edge_descriptor e)
 
static vertex_descriptor null_vertex ()
 

Public Attributes

GraphRef m_g
 

Detailed Description

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
class utilmm::undirected_graph< BidirectionalGraph, GraphRef >

undirected_graph creates an undirected graph from a bidirectional graph. This can allow to use some undirected-graph-only algorithms on bidirectional graphs

Member Typedef Documentation

◆ adjacency_iterator

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef iterator_sequence< typename Traits::adjacency_iterator , typename BidirectionalGraph::inv_adjacency_iterator > utilmm::undirected_graph< BidirectionalGraph, GraphRef >::adjacency_iterator

◆ base_type

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef BidirectionalGraph utilmm::undirected_graph< BidirectionalGraph, GraphRef >::base_type

◆ degree_size_type

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::degree_size_type utilmm::undirected_graph< BidirectionalGraph, GraphRef >::degree_size_type

◆ directed_category

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef boost::undirected_tag utilmm::undirected_graph< BidirectionalGraph, GraphRef >::directed_category

◆ edge_descriptor

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef std::pair<typename Traits::edge_descriptor, bool> utilmm::undirected_graph< BidirectionalGraph, GraphRef >::edge_descriptor

◆ edge_parallel_category

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::edge_parallel_category utilmm::undirected_graph< BidirectionalGraph, GraphRef >::edge_parallel_category

◆ edge_property_type

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef BidirectionalGraph::edge_property_type utilmm::undirected_graph< BidirectionalGraph, GraphRef >::edge_property_type

◆ edges_size_type

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::edges_size_type utilmm::undirected_graph< BidirectionalGraph, GraphRef >::edges_size_type

◆ graph_tag

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef undirected_graph_tag utilmm::undirected_graph< BidirectionalGraph, GraphRef >::graph_tag

◆ in_edge_iterator

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef iterator_sequence< base_in_edge_iterator , base_out_edge_iterator > utilmm::undirected_graph< BidirectionalGraph, GraphRef >::in_edge_iterator

◆ inv_adjacency_iterator

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef adjacency_iterator utilmm::undirected_graph< BidirectionalGraph, GraphRef >::inv_adjacency_iterator

◆ make_undirected_edge_descriptor

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef edge_descriptor(* utilmm::undirected_graph< BidirectionalGraph, GraphRef >::make_undirected_edge_descriptor) (typename Traits::edge_descriptor)

◆ out_edge_iterator

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef in_edge_iterator utilmm::undirected_graph< BidirectionalGraph, GraphRef >::out_edge_iterator

◆ traits_edge_iterator

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::edge_iterator utilmm::undirected_graph< BidirectionalGraph, GraphRef >::traits_edge_iterator

◆ traversal_category

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::traversal_category utilmm::undirected_graph< BidirectionalGraph, GraphRef >::traversal_category

◆ vertex_descriptor

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::vertex_descriptor utilmm::undirected_graph< BidirectionalGraph, GraphRef >::vertex_descriptor

◆ vertex_iterator

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::vertex_iterator utilmm::undirected_graph< BidirectionalGraph, GraphRef >::vertex_iterator

◆ vertex_property_type

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef BidirectionalGraph::vertex_property_type utilmm::undirected_graph< BidirectionalGraph, GraphRef >::vertex_property_type

◆ vertices_size_type

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
typedef Traits::vertices_size_type utilmm::undirected_graph< BidirectionalGraph, GraphRef >::vertices_size_type

Constructor & Destructor Documentation

◆ undirected_graph()

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
utilmm::undirected_graph< BidirectionalGraph, GraphRef >::undirected_graph ( GraphRef  g)
inline

Member Function Documentation

◆ make_in_edge_descriptor()

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
static edge_descriptor utilmm::undirected_graph< BidirectionalGraph, GraphRef >::make_in_edge_descriptor ( typename Traits::edge_descriptor  e)
inlinestatic

◆ make_out_edge_descriptor()

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
static edge_descriptor utilmm::undirected_graph< BidirectionalGraph, GraphRef >::make_out_edge_descriptor ( typename Traits::edge_descriptor  e)
inlinestatic

◆ null_vertex()

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
static vertex_descriptor utilmm::undirected_graph< BidirectionalGraph, GraphRef >::null_vertex ( )
inlinestatic

◆ operator[]() [1/4]

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
boost::graph::detail::bundled_result<BidirectionalGraph, edge_descriptor>::type& utilmm::undirected_graph< BidirectionalGraph, GraphRef >::operator[] ( edge_descriptor  x)
inline

◆ operator[]() [2/4]

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
boost::graph::detail::bundled_result<BidirectionalGraph, edge_descriptor>::type const& utilmm::undirected_graph< BidirectionalGraph, GraphRef >::operator[] ( edge_descriptor  x) const
inline

◆ operator[]() [3/4]

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
boost::graph::detail::bundled_result<BidirectionalGraph, vertex_descriptor>::type& utilmm::undirected_graph< BidirectionalGraph, GraphRef >::operator[] ( vertex_descriptor  x)
inline

◆ operator[]() [4/4]

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
boost::graph::detail::bundled_result<BidirectionalGraph, vertex_descriptor>::type const& utilmm::undirected_graph< BidirectionalGraph, GraphRef >::operator[] ( vertex_descriptor  x) const
inline

Member Data Documentation

◆ m_g

template<class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
GraphRef utilmm::undirected_graph< BidirectionalGraph, GraphRef >::m_g

The documentation for this class was generated from the following file:

Generated on Mon Sep 24 2018 17:06:40 for Util-- by doxygen 1.8.13
SourceForge.net Project Page