#include <algorithm>
#include <map>
#include <stack>
#include <unordered_map>
#include <unordered_set>
#include <boost/range/algorithm/permutation.hpp>
#include <boost/range/algorithm/sort.hpp>
#include <vcsn/algos/accessible.hh>
#include <vcsn/dyn/automaton.hh>
#include <vcsn/dyn/fwd.hh>
#include <vcsn/misc/functional.hh>
#include <vcsn/misc/map.hh>
#include <vcsn/misc/vector.hh>
Go to the source code of this file.
#define HASH_TRANSITIONS |
( |
|
expression, |
|
|
|
endpoint_getter |
|
) |
| |
Value:{ \
std::unordered_set<state_t_of<Aut>> endpoint_states; \
transitions_t tt; \
{ \
tt.emplace_back(transition_t{a->weight_of(t), a->label_of(t)}); \
endpoint_states.emplace(a->endpoint_getter(t)); \
for (const auto& t: tt) \
{ \
hash_combine(
res, ws.hash(t.first)); \
hash_combine(
res, ls.hash(t.second)); \
} \
hash_combine(
res, endpoint_states.size()); \
}
std::shared_ptr< const node< Context >> expression
auto sort(const Aut &a) -> permutation_automaton< Aut >
Referenced by vcsn::are_isomorphicer< Aut1, Aut2 >::state_to_class().