permlib
0.2.6
Library for permutation computations
|
stores an orbit in a set for fast contains() operation More...
#include <orbit_set.h>
Public Types | |
typedef std::set< PDOMAIN > ::const_iterator | const_iterator |
Public Member Functions | |
virtual bool | contains (const PDOMAIN &val) const |
true iff there exists a transversal element mapping ![]() | |
bool | empty () const |
true iff orbit is empty (i.e. contains no element at all) | |
template<class Action > | |
void | orbit (const PDOMAIN &beta, const std::list< typename PERM::ptr > &generators, Action a) |
computes orbit of beta under generators | |
unsigned long | size () const |
number of orbit elements | |
virtual const PDOMAIN & | element () const |
returns one element of the orbit | |
const_iterator | begin () const |
begin-iterator to orbit elements | |
const_iterator | end () const |
end-iterator to orbit elements | |
Protected Member Functions | |
virtual bool | foundOrbitElement (const PDOMAIN &alpha, const PDOMAIN &alpha_p, const typename PERM::ptr &p) |
callback when the orbit algorithm constructs an element alpha_p from alpha and p | |
Protected Attributes | |
std::set< PDOMAIN > | m_orbitSet |
orbit elements as set |
stores an orbit in a set for fast contains() operation
bool permlib::OrbitSet< PERM, PDOMAIN >::foundOrbitElement | ( | const PDOMAIN & | alpha, |
const PDOMAIN & | alpha_p, | ||
const typename PERM::ptr & | p | ||
) | [inline, protected, virtual] |
callback when the orbit algorithm constructs an element alpha_p from alpha and p
Implements permlib::Orbit< PERM, PDOMAIN >.
void permlib::OrbitSet< PERM, PDOMAIN >::orbit | ( | const PDOMAIN & | beta, |
const std::list< typename PERM::ptr > & | generators, | ||
Action | a | ||
) | [inline] |
computes orbit of beta under generators
beta | |
generators | |
a | ()-callable structure that defines how a PERM acts on a PDOMAIN-element |