33 #ifndef KNOWNBSGSCONSTRUCTION_H_
34 #define KNOWNBSGSCONSTRUCTION_H_
36 #include <permlib/construct/base_construction.h>
37 #include <permlib/bsgs.h>
42 template <
class PERM,
class TRANS>
58 template <
class ForwardIterator,
class InputIterator>
59 BSGS<PERM, TRANS> construct(ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator knownBaseBegin, InputIterator knownBaseEnd)
const;
66 template <
class PERM,
class TRANS>
72 template <
class PERM,
class TRANS>
73 template <
class ForwardIterator,
class InputIterator>
75 ::construct(ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator knownBaseBegin, InputIterator knownBaseEnd)
const
77 const unsigned int &n = this->m_n;
79 std::vector<std::list<typename PERM::ptr> > S;
80 this->setup(generatorsBegin, generatorsEnd, knownBaseBegin, knownBaseEnd, ret, S);
81 BOOST_ASSERT( S.size() > 0 );
84 ret.
S.insert(ret.
S.end(), S[0].begin(), S[0].end());
90 #endif // -- KNOWNBSGSCONSTRUCTION_H_