stores an orbit in a set for fast contains() operation
More...
#include <orbit_set.h>
|
typedef std::set< PDOMAIN >::const_iterator | const_iterator |
|
typedef PERM | PERMtype |
| type of permutation used for this orbit
|
|
|
virtual bool | contains (const PDOMAIN &val) const |
| true iff there exists a transversal element mapping to val
|
|
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 More...
|
|
size_t | 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
|
|
|
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 More...
|
|
template<class Action > |
void | orbit (const PDOMAIN &beta, const std::list< typename PERM::ptr > &generators, Action a, std::list< PDOMAIN > &orbitList) |
| computes orbit of beta under generators More...
|
|
template<class Action > |
void | orbitUpdate (const PDOMAIN &beta, const std::list< typename PERM::ptr > &generators, const typename PERM::ptr &g, Action a, std::list< PDOMAIN > &orbitList) |
| updates an existing orbit of beta after one element has been added More...
|
|
|
std::set< PDOMAIN > | m_orbitSet |
| orbit elements as set
|
|
template<class PERM, class PDOMAIN>
class permlib::OrbitSet< PERM, PDOMAIN >
stores an orbit in a set for fast contains() operation
◆ foundOrbitElement()
template<class PERM , class PDOMAIN >
bool permlib::OrbitSet< PERM, PDOMAIN >::foundOrbitElement |
( |
const PDOMAIN & |
alpha, |
|
|
const PDOMAIN & |
alpha_p, |
|
|
const typename PERM::ptr & |
p |
|
) |
| |
|
inlineprotectedvirtual |
callback when the orbit algorithm constructs an element alpha_p from alpha and p
- Returns
- true iff alpha_p is a new element that has not been seen before
Implements permlib::Orbit< PERM, PDOMAIN >.
◆ orbit()
template<class PERM , class PDOMAIN >
template<class Action >
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
- Parameters
-
beta | |
generators | |
a | ()-callable structure that defines how a PERM acts on a PDOMAIN-element |
- See also
- Transversal::TrivialAction
The documentation for this class was generated from the following file: