#include <adj_list.h>
template<typename vertex_t, typename edge_t>
class alglib::graph::models::adj_list< vertex_t, edge_t >
A 'model' of a graph
template<typename vertex_t, typename edge_t>
template<typename vertex_t, typename edge_t>
template<typename vertex_t, typename edge_t>
template<typename vertex_t, typename edge_t>
template<typename vertex_t, typename edge_t>
template<typename vertex_t, typename edge_t>
template<typename vertex_t, typename edge_t>
Ensure that both e.from and e.to exist and then insert e into the adjacency list of e.from. Complexity Gurantee: O(lg V)
Implements alglib::graph::models::graph_model< vertex_t, edge_t >.
long long from()
Definition: dijkstra.cpp:109
void add_vertex(const vertex_t &v)
Definition: adj_list.h:152
long long to()
Definition: dijkstra.cpp:110
template<typename vertex_t, typename edge_t >
template<typename vertex_t, typename edge_t>
131 typename alists_t::const_iterator it;
132 if((it = alists.find(u)) == alists.end())
133 throw std::out_of_range(
"The vertex doesn't exist");
134 return boost::make_transform_iterator((it->second).cbegin(), get_aedge);
template<typename vertex_t, typename edge_t>
138 typename alists_t::const_iterator it;
139 if((it = alists.find(u)) == alists.end())
140 throw std::out_of_range(
"The vertex doesn't exist");
141 return boost::make_transform_iterator((it->second).cend(), get_aedge);
template<typename vertex_t, typename edge_t >
Returs true if the two given vertices are adjacent, otherwise false.
If v exists in the adjacency list of u, then return true, otherwise false. Complexity Gurantee: O(lg V + lg deg u)
Implements alglib::graph::models::graph_model< vertex_t, edge_t >.
274 return alists.at(u).find(v) != alists.at(u).end();
template<typename vertex_t, typename edge_t>
117 typename alists_t::const_iterator it;
118 if((it = alists.find(u)) == alists.end())
119 throw std::out_of_range(
"The vertex doesn't exist");
120 return boost::make_transform_iterator((it->second).cbegin(), get_avertex);
template<typename vertex_t, typename edge_t>
124 typename alists_t::const_iterator it;
125 if((it = alists.find(u)) == alists.end())
126 throw std::out_of_range(
"The vertex doesn't exist");
127 return boost::make_transform_iterator((it->second).cend(), get_avertex);
template<typename vertex_t, typename edge_t>
109 return const_eiterator(*
this);
template<typename vertex_t, typename edge_t>
112 const_eiterator it(*
this);
113 it.vit = alists.end();
template<typename vertex_t, typename edge_t >
template<typename vertex_t , typename edge_t >
template<typename vertex_t , typename edge_t >
template<typename vertex_t, typename edge_t >
template<typename vertex_t, typename edge_t >
template<typename vertex_t, typename edge_t >
template<typename vertex_t, typename edge_t>
103 return boost::make_transform_iterator(alists.cbegin(), get_vertex);
template<typename vertex_t, typename edge_t>
106 return boost::make_transform_iterator(alists.cend(), get_vertex);
template<typename vertex_t, typename edge_t>
friend class const_iterator |
|
friend |
The documentation for this class was generated from the following file: