CASM
AClustersApproachtoStatisticalMechanics
|
#include <ScelEnum.hh>
Enumerate over Supercell.
Definition at line 92 of file ScelEnum.hh.
Public Types | |
typedef InputEnumIterator < Supercell, IsConst > | iterator |
typedef Supercell | value_type |
typedef CASM_TMP::ConstSwitch < IsConst, Supercell > & | reference |
typedef long | step_type |
Public Member Functions | |
ScelEnumByPropsT (PrimClex &primclex, const ScelEnumProps &enum_props, bool existing_only=false) | |
Construct with PrimClex and ScelEnumProps settings. More... | |
ScelEnumByPropsT (PrimClex &primclex, const jsonParser &input) | |
Construct with PrimClex and ScelEnumProps JSON settings. More... | |
ScelEnumByPropsT (const ScelEnumByPropsT &)=delete | |
ScelEnumByPropsT & | operator= (const ScelEnumByPropsT &)=delete |
std::string | name () const override |
Derived enumerators must implement name, via ENUM_MEMBERS. More... | |
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 |
Static Public Attributes | |
static const std::string | enumerator_name = "ScelEnumByProps" |
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 | |
bool | _include (const Lattice &lat) const |
Check for existing supercells. More... | |
void | increment () override |
Implements increment over supercells. More... | |
Private Attributes | |
PrimClex * | m_primclex |
std::unique_ptr < SupercellEnumerator< Lattice > > | m_lattice_enum |
SupercellEnumerator< Lattice > ::const_iterator | m_lat_it |
SupercellEnumerator< Lattice > ::const_iterator | m_lat_end |
bool | m_existing_only |
Related Functions | |
(Note that these are not member functions.) | |
typedef ScelEnumByPropsT< true > | ConstScelEnumByProps |
typedef ScelEnumByPropsT< false > | ScelEnumByProps |
|
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.
CASM::ScelEnumByPropsT< IsConst >::ScelEnumByPropsT | ( | PrimClex & | primclex, |
const ScelEnumProps & | enum_props, | ||
bool | existing_only = false |
||
) |
Construct with PrimClex and ScelEnumProps settings.
primclex | A PrimClex for which to enumerate Supercells |
enum_props | Specifies which Supercells to enumerate |
existing_only | Skip Supercells specified by enum_props but not already existing in the Supercell list |
Definition at line 106 of file ScelEnum_impl.hh.
CASM::ScelEnumByPropsT< IsConst >::ScelEnumByPropsT | ( | PrimClex & | primclex, |
const jsonParser & | input | ||
) |
Construct with PrimClex and ScelEnumProps JSON settings.
primclex | A PrimClex for which to enumerate Supercells |
input | JSON used to make an ScelEnumProps object specifying which Supercells to enumerate, via make_scel_enum_props |
Definition at line 151 of file ScelEnum_impl.hh.
|
delete |
|
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.
|
private |
Check for existing supercells.
Definition at line 179 of file ScelEnum_impl.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.
|
overrideprivatevirtual |
Implements increment over supercells.
Implements CASM::InputEnumeratorBase< Supercell, IsConst >.
Definition at line 161 of file ScelEnum_impl.hh.
|
overridevirtual |
Derived enumerators must implement name, via ENUM_MEMBERS.
Implements CASM::EnumeratorBase.
Definition at line 155 of file ScelEnum_impl.hh.
|
delete |
|
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 129 of file ScelEnum.hh.
|
related |
Definition at line 132 of file ScelEnum.hh.
|
static |
Definition at line 108 of file ScelEnum.hh.
|
private |
Definition at line 125 of file ScelEnum.hh.
|
private |
Definition at line 123 of file ScelEnum.hh.
|
private |
Definition at line 122 of file ScelEnum.hh.
|
private |
Definition at line 121 of file ScelEnum.hh.
|
private |
Definition at line 119 of file ScelEnum.hh.