CASM
AClustersApproachtoStatisticalMechanics
|
#include <EnumEquivalents.hh>
Enumerate over all equivalents.
Assumes the following exist:
Definition at line 24 of file EnumEquivalents.hh.
Public Types | |
typedef InputEnumIterator < ObjectType, IsConst > | iterator |
typedef ObjectType | value_type |
typedef CASM_TMP::ConstSwitch < IsConst, ObjectType > & | reference |
typedef long | step_type |
Public Member Functions | |
template<typename MakeInvariantSubgroup > | |
EnumEquivalents (const ObjectType &generating_obj, SymOpIterator begin, SymOpIterator end, MakeInvariantSubgroup f=MakeInvariantSubgroup(), SymOpCompare compare=SymOpCompare()) | |
Constructor. More... | |
const ObjectType & | generator () const |
const SymOpType & | sym_op () const |
const std::vector< SymOpType > & | invariant_subgroup () const |
iterator | begin () |
iterator | end () |
reference | current () const |
Access the current ObjectType by reference. More... | |
step_type | step () const |
Increments with each enumerated object. More... | |
bool | valid () const |
Returns false if enumeration is complete. More... | |
virtual jsonParser | source (step_type step) const |
virtual std::string | name () const =0 |
Derived enumerators must implement name, via ENUM_MEMBERS. More... | |
Protected Member Functions | |
void | _initialize (value_type *_initial) |
void | _initialize () |
void | _set_current_ptr (value_type *_new) |
Change the pointer. More... | |
value_type & | _current () |
Access the current ObjectType by reference. More... | |
void | _set_step (step_type val) |
Set current step value. More... | |
void | _increment_step () |
Increment current step value. More... | |
void | _decrement_step () |
Decrement current step value. More... | |
void | _invalidate () |
Call if enumeration complete. More... | |
void | _validate () |
Used if random access enumerator step is moved into valid range. More... | |
Private Member Functions | |
void | increment () override |
Implement increment. More... | |
bool | _check (const SymOpType &X) const |
Private Attributes | |
notstd::cloneable_ptr< ObjectType > | m_initial |
notstd::cloneable_ptr< ObjectType > | m_current |
SymOpIterator | m_symop_it |
SymOpIterator | m_symop_end |
std::vector< SymOpType > | m_invariant_subgroup |
SymOpCompare | m_compare |
|
inherited |
Definition at line 231 of file InputEnumerator.hh.
|
inherited |
Definition at line 192 of file Enumerator.hh.
|
inherited |
Definition at line 103 of file Enumerator.hh.
|
inherited |
Definition at line 191 of file Enumerator.hh.
|
inlineprotectedinherited |
Access the current ObjectType by reference.
Definition at line 244 of file Enumerator.hh.
|
inlineprotectedinherited |
Decrement current step value.
Definition at line 164 of file Enumerator.hh.
|
inlineprotectedinherited |
Increment current step value.
Definition at line 159 of file Enumerator.hh.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
Initialize
Definition at line 216 of file Enumerator.hh.
|
inlineprotectedinherited |
Call if enumeration complete.
Definition at line 169 of file Enumerator.hh.
|
inlineprotectedinherited |
Change the pointer.
Definition at line 239 of file Enumerator.hh.
|
inlineprotectedinherited |
Set current step value.
Definition at line 154 of file Enumerator.hh.
|
inlineprotectedinherited |
Used if random access enumerator step is moved into valid range.
Definition at line 174 of file Enumerator.hh.
|
inlineinherited |
Definition at line 245 of file InputEnumerator.hh.
|
inlineinherited |
Access the current ObjectType by reference.
Definition at line 232 of file Enumerator.hh.
|
inlineinherited |
Definition at line 249 of file InputEnumerator.hh.
|
pure virtualinherited |
Derived enumerators must implement name, via ENUM_MEMBERS.
Implemented in CASM::ScelEnumT< IsConst >, CASM::ScelEnumByPropsT< IsConst >, CASM::ScelEnumByNameT< IsConst >, CASM::SuperConfigEnum, CASM::ConfigEnumRandomOccupations, CASM::ConfigEnumEquivalents, CASM::ConfigEnumAllOccupations, CASM::TestEnum, CASM::ConfigEnumStrain, CASM::ScelEnumEquivalents, CASM::ConfigEnumInterpolation, and CASM::LatticeEnumEquivalents.
|
inlinevirtualinherited |
|
inlineinherited |
Increments with each enumerated object.
Definition at line 113 of file Enumerator.hh.
|
inlineinherited |
Returns false if enumeration is complete.
Definition at line 118 of file Enumerator.hh.