#include <grid_graph.hpp>
Classes | |
struct | traversal_category |
Public Member Functions | |
grid_graph (vertex_descriptor dimension_lengths) | |
grid_graph (vertex_descriptor dimension_lengths, bool wrap_all_dimensions) | |
grid_graph (vertex_descriptor dimension_lengths, WrapDimensionArray wrap_dimension) | |
std::size_t | dimensions () const |
vertices_size_type | length (std::size_t dimension) const |
bool | wrapped (std::size_t dimension) const |
vertex_descriptor | next (vertex_descriptor vertex, std::size_t dimension_index, vertices_size_type distance=1) const |
vertex_descriptor | previous (vertex_descriptor vertex, std::size_t dimension_index, vertices_size_type distance=1) const |
Static Public Member Functions | |
static vertex_descriptor | null_vertex () |
Protected Member Functions | |
vertices_size_type | num_vertices () const |
edges_size_type | num_edges () const |
edges_size_type | num_edges (std::size_t dimension_index) const |
vertices_size_type | index_of (vertex_descriptor vertex) const |
vertex_descriptor | vertex_at (vertices_size_type vertex_index) const |
edge_descriptor | edge_at (edges_size_type edge_index) const |
edges_size_type | index_of (edge_descriptor edge) const |
degree_size_type | out_degree (vertex_descriptor vertex) const |
edge_descriptor | out_edge_at (vertex_descriptor vertex, degree_size_type out_edge_index) const |
degree_size_type | in_degree (vertex_descriptor vertex) const |
edge_descriptor | in_edge_at (vertex_descriptor vertex, edges_size_type in_edge_index) const |
void | precalculate () |
Protected Attributes | |
const vertex_descriptor | m_dimension_lengths |
WrapDimensionArray | m_wrap_dimension |
vertices_size_type | m_num_vertices |
boost::array< edges_size_type, Dimensions > | m_edge_count |
edges_size_type | m_num_edges |
typedef transform_iterator<adjacent_vertex_function, degree_iterator> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::adjacency_iterator |
typedef detail::grid_graph_adjacent_vertex_at<type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::adjacent_vertex_function |
typedef counting_iterator<degree_size_type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::degree_iterator |
typedef EdgeIndex boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::degree_size_type |
typedef directed_tag boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::directed_category |
typedef std::pair<vertex_descriptor, vertex_descriptor> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_descriptor |
typedef detail::grid_graph_edge_at<type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_function |
typedef counting_iterator<edges_size_type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_index_iterator |
typedef transform_iterator<edge_function, edge_index_iterator> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_iterator |
typedef disallow_parallel_edge_tag boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_parallel_category |
typedef EdgeIndex boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edges_size_type |
typedef detail::grid_graph_in_edge_at<type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::in_edge_function |
typedef transform_iterator<in_edge_function, degree_iterator> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::in_edge_iterator |
typedef detail::grid_graph_out_edge_at<type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_edge_function |
typedef transform_iterator<out_edge_function, degree_iterator> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_edge_iterator |
typedef grid_graph<Dimensions, VertexIndex, EdgeIndex> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::type |
typedef boost::array<VertexIndex, Dimensions> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::vertex_descriptor |
typedef detail::grid_graph_vertex_at<type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::vertex_function |
typedef counting_iterator<vertices_size_type> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::vertex_index_iterator |
typedef transform_iterator<vertex_function, vertex_index_iterator> boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::vertex_iterator |
typedef VertexIndex boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::vertices_size_type |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
References boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::length(), boost::xpressive::make_pair, boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::next(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::num_edges(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::num_vertices(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::previous(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::vertex_at(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::wrapped().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
References BOOST_ASSERT, boost::edge_index, boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::index_of(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::length(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::num_edges(), boost::source(), boost::target(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::wrapped().
|
inline |
References boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::m_dimension_lengths.
Referenced by boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_at(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::index_of(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::next(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_degree(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_edge_at(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::precalculate(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::previous(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::vertex_at().
|
inline |
References boost::distance(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::length(), boost::accumulators::extract::min, and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::wrapped().
Referenced by boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_at(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_edge_at().
|
inlinestatic |
|
inlineprotected |
References boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::m_num_edges.
Referenced by boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_at(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::index_of(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::precalculate().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
References boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::length(), boost::xpressive::make_pair, boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::next(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::previous(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::wrapped().
Referenced by boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::in_edge_at().
|
inlineprotected |
References boost::fusion::accumulate(), boost::array< T, N >::begin(), boost::array< T, N >::end(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::length(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::m_dimension_lengths, boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::m_edge_count, boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::m_num_edges, boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::m_num_vertices, boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::num_edges(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::num_vertices(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::wrapped().
Referenced by boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::grid_graph().
|
inline |
References boost::distance(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::length(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::wrapped().
Referenced by boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_at(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_edge_at().
|
inlineprotected |
|
inline |
References boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::m_wrap_dimension.
Referenced by boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::edge_at(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::index_of(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::next(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_degree(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::out_edge_at(), boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::precalculate(), and boost::grid_graph< Dimensions, VertexIndex, EdgeIndex >::previous().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |