|
enum class | visit_mode : int { graph
, visit_bfs
, visit_dfs
} |
|
template<int DirectedEdge, int EdgePlurality = edge_plurality::single_edged, typename ElementType = const char*, typename NodeIndexType = int, typename EdgeWeightType = float, template< typename, typename... > class NodeContainerType = std::list, template< typename, typename... > class IndexContainerType = std::vector, template< typename, typename... > class EdgeContainerType = std::vector> |
using | graph_t = graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType > |
|
using | element_t = ElementType |
|
using | index_t = NodeIndexType |
|
using | index_container_t = IndexContainerType< index_t > |
|
using | node_container_t = NodeContainerType< index_container_t > |
|
using | element_container_t = NodeContainerType< element_t > |
|
using | ref_element_container_t = NodeContainerType< std::reference_wrapper< element_t > > |
|
using | const_ref_element_container_t = NodeContainerType< std::reference_wrapper< const element_t > > |
|
using | node_ref_t = std::tuple< ElementType &, index_container_t & > |
|
using | const_node_ref_t = std::tuple< const ElementType &, const index_container_t & > |
|
using | node_info_t = std::tuple< const ElementType &, const_ref_element_container_t > |
|
using | element_t = ElementType |
|
using | index_t = NodeIndexType |
|
using | index_container_t = IndexContainerType< index_t > |
|
using | node_container_t = NodeContainerType< index_container_t > |
|
using | element_container_t = NodeContainerType< element_t > |
|
using | ref_element_container_t = NodeContainerType< std::reference_wrapper< element_t > > |
|
using | const_ref_element_container_t = NodeContainerType< std::reference_wrapper< const element_t > > |
|
using | node_ref_t = std::tuple< ElementType &, index_container_t & > |
|
using | const_node_ref_t = std::tuple< const ElementType &, const index_container_t & > |
|
using | node_info_t = std::tuple< const ElementType &, const_ref_element_container_t > |
|
|
auto | begin () |
|
auto | end () |
|
auto | cbegin () |
|
auto | cend () |
|
bool | empty () const |
|
decltype(auto) | adjacency_node_list (size_t node_index) |
|
decltype(auto) | adjacency_node_list (size_t node_index) const |
|
const node_container_t & | node_lists () const |
|
const element_container_t & | values () const |
|
auto | adjacent_node_values (size_t node_index) |
|
auto | adjacent_node_values (size_t node_index) const |
|
decltype(auto) | node_value (size_t node_index) |
|
decltype(auto) | node_value (size_t node_index) const |
|
node_info_t | node_info (size_t node_index) const |
|
| graph ()=default |
|
size_t | size () |
|
template<typename EleType , typename Type , typename... Types> |
void | emplace_back (EleType &&value, Type &&index0, Types &&... indices) |
|
auto | operator[] (size_t node_index) |
|
auto | operator[] (size_t node_index) const |
|
auto | begin () |
|
auto | end () |
|
auto | cbegin () |
|
auto | cend () |
|
bool | empty () const |
|
decltype(auto) | adjacency_node_list (size_t node_index) |
|
decltype(auto) | adjacency_node_list (size_t node_index) const |
|
const node_container_t & | node_lists () const |
|
const element_container_t & | values () const |
|
auto | adjacent_node_values (size_t node_index) |
|
auto | adjacent_node_values (size_t node_index) const |
|
decltype(auto) | node_value (size_t node_index) |
|
decltype(auto) | node_value (size_t node_index) const |
|
node_info_t | node_info (size_t node_index) const |
|
tpf::sstream & | get_node_name (tpf::sstream &os, size_t index) |
|
tpf::sstream & | get_node_definition (tpf::sstream &os, size_t index) |
|
tpf::sstream & | build_graph_edges (tpf::sstream &os, visit_mode vmode=visit_mode::graph) |
|
std::string | build_graph (visit_mode vmode=visit_mode::graph) |
|
| graph ()=default |
|
size_t | size () |
|
template<typename EleType , typename Type , typename... Types> |
void | emplace_back (EleType &&value, Type &&index0, Types &&... indices) |
|
auto | operator[] (size_t node_index) |
|
auto | operator[] (size_t node_index) const |
|
std::vector< index_t > | traverse_bfs (index_t start=0) |
|
void | push_stack (std::deque< index_t > &stack, std::vector< char > &visited, size_t node_index) |
|
std::vector< index_t > | traverse_dfs (index_t start=0) |
|
template<typename ElementType, typename NodeIndexType, template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType>
class tpf::graph< ElementType, NodeIndexType, NodeContainerType, IndexContainerType >
Definition at line 8 of file 059-graph01.hpp.
template<typename ElementType , typename NodeIndexType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType>
template<int DirectedEdge, int EdgePlurality = edge_plurality::single_edged, typename ElementType = const char*, typename NodeIndexType = int, typename EdgeWeightType = float, template< typename, typename... > class NodeContainerType = std::list, template< typename, typename... > class IndexContainerType = std::vector, template< typename, typename... > class EdgeContainerType = std::vector>
using tpf::graph< ElementType, NodeIndexType, NodeContainerType, IndexContainerType >::graph_t = graph<DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType> |
template<typename ElementType , typename NodeIndexType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType>
enum class tpf::graph::visit_mode : int |
|
strong |
template<typename ElementType , typename NodeIndexType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType>
auto tpf::graph< ElementType, NodeIndexType, NodeContainerType, IndexContainerType >::adjacent_node_values |
( |
size_t |
node_index | ) |
|
|
inline |
template<typename ElementType , typename NodeIndexType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType>
template<typename EleType , typename Type , typename... Types>
void tpf::graph< ElementType, NodeIndexType, NodeContainerType, IndexContainerType >::emplace_back |
( |
EleType && |
value, |
|
|
Type && |
index0, |
|
|
Types &&... |
indices |
|
) |
| |
|
inline |
template<typename ElementType , typename NodeIndexType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType>
template<typename EleType , typename Type , typename... Types>
void tpf::graph< ElementType, NodeIndexType, NodeContainerType, IndexContainerType >::emplace_back |
( |
EleType && |
value, |
|
|
Type && |
index0, |
|
|
Types &&... |
indices |
|
) |
| |
|
inline |