CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::ConfigEnumEquivalents Class Reference

#include <ConfigEnumEquivalents.hh>

+ Inheritance diagram for CASM::ConfigEnumEquivalents:

Detailed Description

Enumerate all equivalent Configurations in a Supercell, as generated by Supercell factor group symmetry.

  • The 'begin' Configuration is always the canonical form
  • Note that there may be other Configurations equivalent by primitive Structure factor group symmetry that can not be generated by permutations using the Supercell factor group symmetry

Definition at line 25 of file ConfigEnumEquivalents.hh.

Public Types

typedef InputEnumIterator
< Configuration, IsConst > 
iterator
 
typedef Configuration value_type
 
typedef CASM_TMP::ConstSwitch
< IsConst, Configuration > & 
reference
 
typedef long step_type
 

Public Member Functions

 ConfigEnumEquivalents (const Configuration &config)
 
 ConfigEnumEquivalents (const Configuration &config, PermuteIterator begin, PermuteIterator end)
 
std::string name () const override
 Derived enumerators must implement name, via ENUM_MEMBERS. More...
 
const Configurationgenerator () 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
 

Static Public Attributes

static const std::string enumerator_name = "ConfigEnumEquivalents"
 

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...
 

Member Typedef Documentation

Definition at line 231 of file InputEnumerator.hh.

typedef CASM_TMP::ConstSwitch<IsConst, Configuration >& CASM::ValEnumerator< Configuration , IsConst >::reference
inherited

Definition at line 192 of file Enumerator.hh.

typedef long CASM::EnumeratorBase::step_type
inherited

Definition at line 103 of file Enumerator.hh.

typedef Configuration CASM::ValEnumerator< Configuration , IsConst >::value_type
inherited

Definition at line 191 of file Enumerator.hh.

Constructor & Destructor Documentation

CASM::ConfigEnumEquivalents::ConfigEnumEquivalents ( const Configuration config)

Definition at line 28 of file ConfigEnumEquivalents.cc.

CASM::ConfigEnumEquivalents::ConfigEnumEquivalents ( const Configuration config,
PermuteIterator  begin,
PermuteIterator  end 
)

Definition at line 36 of file ConfigEnumEquivalents.cc.

Member Function Documentation

value_type& CASM::ValEnumerator< Configuration , IsConst >::_current ( )
inlineprotectedinherited

Access the current ObjectType by reference.

Definition at line 244 of file Enumerator.hh.

void CASM::EnumeratorBase::_decrement_step ( )
inlineprotectedinherited

Decrement current step value.

Definition at line 164 of file Enumerator.hh.

void CASM::EnumeratorBase::_increment_step ( )
inlineprotectedinherited

Increment current step value.

Definition at line 159 of file Enumerator.hh.

void CASM::EnumeratorBase::_initialize ( )
inlineprotectedinherited

Initialize

  • Sets step to 0
  • Sets valid to true

Definition at line 148 of file Enumerator.hh.

void CASM::ValEnumerator< Configuration , IsConst >::_initialize ( value_type _initial)
inlineprotectedinherited

Initialize

  • Sets current to point at _initial
  • Sets step to 0
  • Sets valid to true

Definition at line 216 of file Enumerator.hh.

void CASM::EnumeratorBase::_invalidate ( )
inlineprotectedinherited

Call if enumeration complete.

Definition at line 169 of file Enumerator.hh.

void CASM::ValEnumerator< Configuration , IsConst >::_set_current_ptr ( value_type _new)
inlineprotectedinherited

Change the pointer.

Definition at line 239 of file Enumerator.hh.

void CASM::EnumeratorBase::_set_step ( step_type  val)
inlineprotectedinherited

Set current step value.

Definition at line 154 of file Enumerator.hh.

void CASM::EnumeratorBase::_validate ( )
inlineprotectedinherited

Used if random access enumerator step is moved into valid range.

Definition at line 174 of file Enumerator.hh.

iterator CASM::InputEnumeratorBase< Configuration , IsConst >::begin ( )
inlineinherited

Definition at line 245 of file InputEnumerator.hh.

reference CASM::ValEnumerator< Configuration , IsConst >::current ( ) const
inlineinherited

Access the current ObjectType by reference.

Definition at line 232 of file Enumerator.hh.

iterator CASM::InputEnumeratorBase< Configuration , IsConst >::end ( )
inlineinherited

Definition at line 249 of file InputEnumerator.hh.

const Configuration & CASM::EnumEquivalents< Configuration , PermuteIterator , SymOpType, SymOpCompare >::generator ( ) const
inlineinherited

Definition at line 107 of file EnumEquivalents.hh.

const std::vector<SymOpType>& CASM::EnumEquivalents< Configuration , PermuteIterator , SymOpType, SymOpCompare >::invariant_subgroup ( ) const
inlineinherited

Definition at line 115 of file EnumEquivalents.hh.

std::string CASM::ConfigEnumEquivalents::name ( ) const
inlineoverridevirtual

Derived enumerators must implement name, via ENUM_MEMBERS.

Implements CASM::EnumeratorBase.

Definition at line 35 of file ConfigEnumEquivalents.hh.

virtual jsonParser CASM::EnumeratorBase::source ( step_type  step) const
inlinevirtualinherited

Default Object source just uses step#

Returns:

{
"enumerated_by": "<enumerator_type>",
"step": <step #>
}

Definition at line 131 of file Enumerator.hh.

step_type CASM::EnumeratorBase::step ( ) const
inlineinherited

Increments with each enumerated object.

Definition at line 113 of file Enumerator.hh.

const SymOpType& CASM::EnumEquivalents< Configuration , PermuteIterator , SymOpType, SymOpCompare >::sym_op ( ) const
inlineinherited

Definition at line 111 of file EnumEquivalents.hh.

bool CASM::EnumeratorBase::valid ( ) const
inlineinherited

Returns false if enumeration is complete.

Definition at line 118 of file Enumerator.hh.

Member Data Documentation

const std::string CASM::ConfigEnumEquivalents::enumerator_name = "ConfigEnumEquivalents"
static

Definition at line 39 of file ConfigEnumEquivalents.hh.


The documentation for this class was generated from the following files: