4#include <boost/functional/hash.hpp>
10template <std::
size_t Rank,
typename Symmetry>
18template <std::
size_t Nq>
19struct std::hash<
Xped::qarray<Nq>>
24 boost::hash_combine(seed, ix);
30template <std::
size_t Nq, std::
size_t Nlegs>
31struct std::hash<std::array<Xped::qarray<Nq>, Nlegs>>
33 inline std::size_t operator()(
const std::array<
Xped::qarray<Nq>, Nlegs>& ix)
const
36 boost::hash_combine(seed, ix);
41template <std::
size_t Rank,
typename Symmetry>
42struct std::hash<
Xped::FusionTree<Rank, Symmetry>>
47 boost::hash_combine(seed, ix);
52template <std::
size_t Rank, std::
size_t CoRank,
typename Symmetry>
53struct std::hash<std::pair<Xped::FusionTree<Rank, Symmetry>, Xped::FusionTree<CoRank, Symmetry>>>
58 boost::hash_combine(seed, ix.first);
59 boost::hash_combine(seed, ix.second);
64template <std::
size_t Rank, std::
size_t CoRank,
typename Symmetry>
65struct std::hash<std::tuple<Xped::FusionTree<Rank, Symmetry>, Xped::FusionTree<CoRank, Symmetry>, Xped::util::Permutation>>
71 boost::hash_combine(seed, std::get<0>(ix));
72 boost::hash_combine(seed, std::get<1>(ix));
73 boost::hash_combine(seed, std::get<2>(ix));
Definition: FusionTree.hpp:24
Definition: qarray.hpp:30
Definition: Permutations.hpp:40