39 typename F = std::function<bool(
const TNode &,
const size_t &)>>
44 F f_user = [](
const TNode &,
const size_t &) ->
bool {
return false; });
63 typename F = std::function<void(
const TNode &,
const size_t &)>>
69 F f_user = [](
const TNode &,
const size_t &) {});
71 template<
typename TGraph,
typename TNode>
87 template<
typename TNode>
96 template<
typename TGraph,
typename TNode,
typename F1,
typename F2>
99 impl(
const TGraph &
graph,
107 template<
typename TGraph,
typename TNode,
typename F1,
typename F2>
110 expansion(
const TGraph &
graph,
111 DFS::Data<TNode> &data,
123template<
typename TGraph,
typename TNode,
typename F>
125 impl(
graph,
start,
start, f_user, [](
const TNode &) ->
bool {
return false; });
130template<
typename TGraph,
typename TNode,
typename F>
133 [&](
const TNode &n,
const auto &d) ->
bool {
137 [&](
const TNode &n) ->
bool {
return goal == n; });
142template<
typename TGraph,
typename TNode,
typename F1,
typename F2>
161template<
typename TGraph,
typename TNode,
typename F1,
typename F2>
163DFS::expansion(
const TGraph &
graph,
164 DFS::Data<TNode> &data,
169 if (data.v.find(n) != data.v.end())
return false;
172 data.p.insert_or_assign(n, p);
173 data.d[n] = data.d[p] + 1;
176 if (f_user(n, data.d[n])) {
185 for (
const auto &
i :
graph.successors(n)) {
186 bool stop = expansion(
graph, data,
i, n, f_user, f_stop);
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
static ext::vector< TNode > reconstructPath(const ext::map< TNode, TNode > &p, const TNode &start, const TNode &goal)
Definition: ReconstructPath.hpp:68
static void run(const TGraph &graph, const TNode &start, F f_user=[](const TNode &, const size_t &) -> bool { return false;})
Definition: DFS.hpp:124
static ext::vector< TNode > findPathRegistration(const TGraph &graph, const TNode &start, const TNode &goal)
Definition: DFS.hpp:74
static ext::vector< TNode > findPath(const TGraph &graph, const TNode &start, const TNode &goal, F f_user=[](const TNode &, const size_t &) {})
Definition: DFS.hpp:131
int i
Definition: AllEpsilonClosure.h:118
Definition: ReconstructPath.hpp:14
void start(measurements::stealth_string name, measurements::Type type)
Definition: measurements.cpp:14