CASM
AClustersApproachtoStatisticalMechanics
|
#include <ScelEnum.hh>
Enumerate over Supercell.
Definition at line 36 of file ScelEnum.hh.
Public Types | |
typedef RandomAccessEnumIterator < Supercell, IsConst > | iterator |
typedef std::reverse_iterator < iterator > | reverse_iterator |
typedef step_type | size_type |
typedef Supercell | value_type |
typedef CASM_TMP::ConstSwitch < IsConst, Supercell > & | reference |
typedef long | step_type |
Public Member Functions | |
ScelEnumByNameT (PrimClex &primclex, std::initializer_list< std::string > scelnames) | |
Construct with PrimClex and ScelEnumProps settings. More... | |
template<typename ScelNameIterator > | |
ScelEnumByNameT (PrimClex &primclex, ScelNameIterator begin, ScelNameIterator end) | |
Construct with PrimClex and ScelEnumProps settings. More... | |
ScelEnumByNameT (PrimClex &primclex, const jsonParser &input) | |
Construct with PrimClex and array of supercell names. More... | |
std::string | name () const override |
Derived enumerators must implement name, via ENUM_MEMBERS. More... | |
iterator | begin () |
iterator | end () |
reverse_iterator | rbegin () |
reverse_iterator | rend () |
size_type | size () const |
Number of elements in enumerator. More... | |
reference | front () |
Reference to first element in enumerator. More... | |
reference | back () |
Reference to last element in enumerator. More... | |
reference | initial () |
Reference to first element in enumerator. More... | |
reference | final () |
Reference to last element in enumerator. More... | |
reference | operator[] (size_type n) |
Reference an element in enumerator. More... | |
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 |
Static Public Attributes | |
static const std::string | enumerator_name = "ScelEnumByName" |
Protected Member Functions | |
void | _set_size (size_type val) |
Set size value. More... | |
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 | |
Supercell * | at_step (step_type n) override |
Implements at_step. More... | |
void | _init () |
Private Attributes | |
PrimClex * | m_primclex |
std::vector< Supercell * > | m_scelptr |
Related Functions | |
(Note that these are not member functions.) | |
typedef ScelEnumByNameT< true > | ConstScelEnumByName |
typedef ScelEnumByNameT< false > | ScelEnumByName |
|
inherited |
Definition at line 287 of file RandomAccessEnumerator.hh.
|
inherited |
Definition at line 192 of file Enumerator.hh.
|
inherited |
Definition at line 288 of file RandomAccessEnumerator.hh.
|
inherited |
Definition at line 289 of file RandomAccessEnumerator.hh.
|
inherited |
Definition at line 103 of file Enumerator.hh.
|
inherited |
Definition at line 191 of file Enumerator.hh.
CASM::ScelEnumByNameT< IsConst >::ScelEnumByNameT | ( | PrimClex & | primclex, |
std::initializer_list< std::string > | scelnames | ||
) |
Construct with PrimClex and ScelEnumProps settings.
Construct with PrimClex a initializer_list of Supercell names.
primclex | A PrimClex for which to enumerate Supercells |
scelnames | A list of names of Supercells to enumerate |
Definition at line 19 of file ScelEnum_impl.hh.
CASM::ScelEnumByNameT< IsConst >::ScelEnumByNameT | ( | PrimClex & | primclex, |
ScelNameIterator | begin, | ||
ScelNameIterator | end | ||
) |
Construct with PrimClex and ScelEnumProps settings.
Construct with PrimClex and a range of Supercell names.
primclex | A PrimClex for which to enumerate Supercells |
begin,end | A range of names of Supercells to enumerate |
Definition at line 39 of file ScelEnum_impl.hh.
CASM::ScelEnumByNameT< IsConst >::ScelEnumByNameT | ( | PrimClex & | primclex, |
const jsonParser & | input | ||
) |
Construct with PrimClex and array of supercell names.
Construct with PrimClex and JSON array containing supercell names.
primclex | A PrimClex for which to enumerate Supercells |
input | A JSON array of names of Supercells to enumerate |
Definition at line 58 of file ScelEnum_impl.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.
|
private |
Definition at line 83 of file ScelEnum_impl.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 size value.
Definition at line 365 of file RandomAccessEnumerator.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.
|
overrideprivatevirtual |
Implements at_step.
Random access implementation.
Implements CASM::RandomAccessEnumeratorBase< Supercell, IsConst >.
Definition at line 78 of file ScelEnum_impl.hh.
|
inlineinherited |
Reference to last element in enumerator.
Definition at line 333 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Definition at line 305 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Access the current ObjectType by reference.
Definition at line 232 of file Enumerator.hh.
|
inlineinherited |
Definition at line 309 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Reference to last element in enumerator.
Definition at line 344 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Reference to first element in enumerator.
Definition at line 327 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Reference to first element in enumerator.
Definition at line 339 of file RandomAccessEnumerator.hh.
|
overridevirtual |
Derived enumerators must implement name, via ENUM_MEMBERS.
Implements CASM::EnumeratorBase.
Definition at line 72 of file ScelEnum_impl.hh.
|
inlineinherited |
Reference an element in enumerator.
Definition at line 349 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Definition at line 313 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Definition at line 317 of file RandomAccessEnumerator.hh.
|
inlineinherited |
Number of elements in enumerator.
Definition at line 322 of file RandomAccessEnumerator.hh.
|
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.
|
related |
Definition at line 74 of file ScelEnum.hh.
|
related |
Definition at line 77 of file ScelEnum.hh.
|
static |
Definition at line 56 of file ScelEnum.hh.
|
private |
Definition at line 68 of file ScelEnum.hh.
|
private |
Definition at line 70 of file ScelEnum.hh.