Regina Calculation Engine
Classes | Namespaces | Functions
graph.h File Reference

Provides an interface for using knots and links with the Boost Graph Library. More...

#include <link/link.h>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/properties.hpp>

Classes

class  regina::graph::IncidentArcIterator< out >
 Iterates through the two directed arcs either entering or exiting a given crossing of a knot or link. More...
 
class  regina::graph::AdjacentCrossingIterator
 Iterates through the two crossings adjacent to a given crossing of a knot or link via an outgoing arc. More...
 
class  regina::graph::InherentLinkPropertyMap< PropertyType >
 Allows the Boost Graph Library to access inherent properties of the graph of a knot or link. More...
 
struct  std::iterator_traits< regina::graph::AdjacentCrossingIterator >
 
struct  std::iterator_traits< regina::graph::IncidentArcIterator< out > >
 
struct  boost::property_traits< regina::graph::InherentLinkPropertyMap< boost::vertex_index_t > >
 
struct  boost::property_map< regina::Link, PropertyType >
 
struct  boost::graph_traits< regina::Link >
 
struct  boost::graph_traits< regina::Link >::traversal_category
 

Namespaces

 regina
 Contains the entire Regina calculation engine.
 
 regina::graph
 Provides an interface for various types of objects from Regina to work directly with the Boost Graph Library (BGL).
 

Functions

std::pair< CrossingIterator, CrossingIterator > regina::vertices (const Link &l)
 Returns an iterator range containing all vertices of the underlying graph of the given knot or link. More...
 
std::pair< ArcIterator, ArcIterator > regina::edges (const Link &l)
 Returns an iterator range containing all edges of the underlying graph of the given triangulation. More...
 
size_t regina::num_vertices (const Link &l)
 Returns the number of vertices in the underlying graph of the given knot or link. More...
 
size_t regina::num_edges (const Link &l)
 Returns the number of edges in the graph of the given knot or link. More...
 
Crossing * regina::source (const StrandRef &e, const Link &t)
 Returns the source vertex of the given directed edge in the underlying graph of the given knot or link. More...
 
Crossing * regina::target (const StrandRef &e, const Link &t)
 Returns the target vertex of the given directed edge in the underlying graph of the given knot or link. More...
 
unsigned regina::degree (Crossing *v, const Link &l)
 Returns the total degree of the given vertex in the graph of the given knot or link. More...
 
unsigned regina::in_degree (Crossing *v, const Link &l)
 Returns the in-degree of the given vertex in the graph of the given knot or link. More...
 
unsigned regina::out_degree (Crossing *v, const Link &l)
 Returns the out-degree of the given vertex in the graph of the given knot or link. More...
 
std::pair< graph::AdjacentCrossingIterator, graph::AdjacentCrossingIterator > regina::adjacent_vertices (Crossing *v, const Link &l)
 Returns an iterator range containing both vertices adjacent to the given vertex of the underlying knot/link graph along outgoing directed edges. More...
 
std::pair< graph::IncidentArcIterator< false >, graph::IncidentArcIterator< false > > regina::in_edges (Crossing *v, const Link &l)
 Returns an iterator range containing both directed edges entering the given vertex of the underlying knot/link graph. More...
 
std::pair< graph::IncidentArcIterator< true >, graph::IncidentArcIterator< true > > regina::out_edges (Crossing *v, const Link &l)
 Returns an iterator range containing both directed edges exiting the given vertex of the underlying knot/link graph. More...
 
size_t regina::get (graph::InherentLinkPropertyMap< boost::vertex_index_t >, Crossing *v)
 Returns the index of the given vertex of the underlying graph of a knot or link. More...
 
graph::InherentLinkPropertyMap< boost::vertex_index_t > regina::get (boost::vertex_index_t, const Link &)
 Returns a Boost property map that can be used to query indices of vertices in the underlying graph of a knot or link. More...
 
size_t regina::get (boost::vertex_index_t, const Link &, Crossing *v)
 Returns the index of the given vertex of the underlying graph of a knot or link. More...
 

Detailed Description

Provides an interface for using knots and links with the Boost Graph Library.


Copyright © 1999-2020, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).