33 #ifndef EXPLICITTRANSVERSAL_H_
34 #define EXPLICITTRANSVERSAL_H_
36 #include <permlib/transversal/transversal.h>
47 virtual PERM*
at(
unsigned long val)
const;
50 virtual void permute(
const PERM& g,
const PERM& gInv);
61 virtual void registerMove(
unsigned long from,
unsigned long to,
const typename PERM::ptr &p);
95 if (!transversal[from])
96 transversal[to] = boost::shared_ptr<PERM>(
new PERM(*p));
98 transversal[to] = boost::shared_ptr<PERM>(
new PERM(*transversal[from]));
99 (*transversal[to]) *= *p;
103 template <
class PERM>
114 template <
class PERM>
120 p = boost::shared_ptr<PERM>(
new PERM(*p));
127 #endif // -- EXPLICITTRANSVERSAL_H_