#include <ConfigEnumAllOccupations.hh>
Enumerate over all possible occupations on particular sites in a Configuration
Definition at line 30 of file ConfigEnumAllOccupations.hh.
◆ iterator
◆ reference
template<typename ValueType , bool IsConst = true>
◆ step_type
template<typename ValueType , bool IsConst = true>
◆ value_type
template<typename ValueType , bool IsConst = true>
◆ ConfigEnumAllOccupations()
CASM::ConfigEnumAllOccupations::ConfigEnumAllOccupations |
( |
ConfigEnumInput const & |
config_enum_input | ) |
|
Construct with a Supercell, using all permutations.
Construct with a ConfigEnumInput, specifying which sites to enumerate on and which to keep fixed
Note:
- The output configurations are set to fixed occupation matching
config_enum_input.configuration()
on all sites not included in config_enum_input.sites()
.
- All allowed occupation values are enumerated on the selected sites (
config_enum_input.sites()
), but Configuration are only output if the are primitive.
- If all sites are selected, then only canonical Configuration are output. This can be checked with
this->canonical_guarantee()
.
Definition at line 41 of file ConfigEnumAllOccupations.cc.
◆ _current_is_valid_for_output()
bool CASM::ConfigEnumAllOccupations::_current_is_valid_for_output |
( |
| ) |
const |
|
private |
Returns true if current() is primitive and canonical.
Returns true if current() is valid for output
When enumerating on all sites:
- Require output configurations are primitive and canonical When enumerating on a subset of sites:
- Require output configurations are primitive (but not canonical)
Definition at line 103 of file ConfigEnumAllOccupations.cc.
◆ _decrement_step()
template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_decrement_step |
|
inlineprotectedinherited |
◆ _increment_step()
template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_increment_step |
|
inlineprotectedinherited |
◆ _initialize() [1/2]
template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_initialize |
|
inlineprotectedinherited |
Initialize
- Sets step to 0
- Sets valid to true
Definition at line 144 of file Enumerator.hh.
◆ _initialize() [2/2]
template<typename ValueType , bool IsConst = true>
Initialize
- Sets current to point at _initial
- Sets step to 0
- Sets valid to true
Definition at line 197 of file Enumerator.hh.
◆ _invalidate()
template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_invalidate |
|
inlineprotectedinherited |
◆ _set_current_ptr()
template<typename ValueType , bool IsConst = true>
◆ _set_step() [1/2]
void CASM::EnumeratorBase::_set_step |
( |
step_type |
val | ) |
|
|
inlineprotectedinherited |
◆ _set_step() [2/2]
template<typename ValueType , bool IsConst = true>
void CASM::EnumeratorBase::_set_step |
|
inlineprotectedinherited |
◆ _validate()
void CASM::EnumeratorBase::_validate |
( |
| ) |
|
|
inlineprotectedinherited |
Used if random access enumerator step is moved into valid range.
Definition at line 162 of file Enumerator.hh.
◆ begin()
◆ canonical_guarantee()
bool CASM::ConfigEnumAllOccupations::canonical_guarantee |
( |
| ) |
const |
Returns true if enumerator is guaranteed to output canonical configurations
Returns true if enumerator is guaranteed to output canonical configurations
Output is sometimes canonical (when enumerating on all supercell sites) and sometimes not (when enumerating on a subset of supercell sites). If this returns true, then the output is guaranteed to be in canonical form.
Definition at line 75 of file ConfigEnumAllOccupations.cc.
◆ current()
template<typename ValueType , bool IsConst = true>
Access the current ObjectType by reference.
Definition at line 211 of file Enumerator.hh.
◆ end()
◆ increment()
void CASM::ConfigEnumAllOccupations::increment |
( |
| ) |
|
|
overrideprivatevirtual |
◆ name() [1/2]
std::string CASM::ConfigEnumAllOccupations::name |
( |
| ) |
const |
|
overridevirtual |
◆ name() [2/2]
template<typename ValueType , bool IsConst = true>
virtual std::string CASM::EnumeratorBase::name |
|
inherited |
Derived enumerators must implement name, via ENUM_MEMBERS.
◆ source() [1/2]
Default Object source just uses step#
Returns:
{
"enumerated_by": "<enumerator_type>",
}
step_type step() const
Increments with each enumerated object.
Definition at line 129 of file Enumerator.hh.
◆ source() [2/2]
template<typename ValueType , bool IsConst = true>
Default Object source just uses step#
Returns:
{
"enumerated_by": "<enumerator_type>",
}
Definition at line 129 of file Enumerator.hh.
◆ step() [1/2]
step_type CASM::EnumeratorBase::step |
( |
| ) |
const |
|
inlineinherited |
Increments with each enumerated object.
Definition at line 115 of file Enumerator.hh.
◆ step() [2/2]
template<typename ValueType , bool IsConst = true>
Increments with each enumerated object.
Definition at line 115 of file Enumerator.hh.
◆ valid() [1/2]
bool CASM::EnumeratorBase::valid |
( |
| ) |
const |
|
inlineinherited |
Returns false if enumeration is complete.
Definition at line 118 of file Enumerator.hh.
◆ valid() [2/2]
template<typename ValueType , bool IsConst = true>
bool CASM::EnumeratorBase::valid |
|
inlineinherited |
Returns false if enumeration is complete.
Definition at line 118 of file Enumerator.hh.
◆ enumerator_name
const std::string CASM::ConfigEnumAllOccupations::enumerator_name |
|
static |
◆ InputEnumIteratorBase< ValueType, IsConst >
◆ m_counter
Counter<std::vector<int> > CASM::ConfigEnumAllOccupations::m_counter |
|
private |
◆ m_current
◆ m_current_ptr
template<typename ValueType , bool IsConst = true>
◆ m_enumerate_on_a_subset_of_supercell_sites
bool CASM::ConfigEnumAllOccupations::m_enumerate_on_a_subset_of_supercell_sites |
|
private |
◆ m_site_index_selection
std::set<Index> CASM::ConfigEnumAllOccupations::m_site_index_selection |
|
private |
◆ m_step
◆ m_valid
bool CASM::EnumeratorBase::m_valid |
|
privateinherited |
The documentation for this class was generated from the following files: