28 template<
class iterator>
29 void find(iterator start1, iterator end1, iterator start2, iterator end2);
32 template<
class iterator>
33 void apply(iterator start1, iterator end1);
42 template<
class iterator>
43 void find(iterator start1, iterator end1, iterator start2, iterator end2);
49 template<
class iterator>
50 void Perm::find(iterator start1, iterator end1, iterator start2, iterator end2)
72 template<
class iterator>
75 typedef typename std::remove_reference<decltype(*start)>::type value_type;
77 std::vector<value_type> orig;
85 if(orig.size()!=
perm.size()) {
86 std::cerr <<
"Perm::apply: orig.size()=" << orig.size() <<
", "
87 <<
"perm.size()=" <<
perm.size() << std::endl;
88 assert(orig.size()==
perm.size());
91 for(
unsigned int i=0; i<orig.size(); ++i) {
98 template<
class iterator>
99 void Images::find(iterator start1, iterator end1, iterator start2, iterator end2)
103 while(start1!=end1) {
Definition: Permutations.hh:22
void find(iterator start1, iterator end1, iterator start2, iterator end2)
Find the permutation that takes [start1, end1> to [start2, end2>.
Definition: Permutations.hh:99
Generic permutation group material.
Definition: Permutations.hh:17
void find(iterator start1, iterator end1, iterator start2, iterator end2)
Find the permutation that takes [start1, end1> to [start2, end2>.
Definition: Permutations.hh:50
PermutationException(const std::string &ex)
Definition: Permutations.hh:19
void apply(iterator start1, iterator end1)
Apply the permutation 'perm' on the given range.
Definition: Permutations.hh:73
std::vector< int > perm
Definition: Permutations.hh:24
std::vector< int > images
Definition: Permutations.hh:39
Definition: Permutations.hh:37