CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SuperlatticeEnumerator.hh>
Iterators used with SuperlatticeEnumerator.
Allows iterating over unique superlattices
Definition at line 116 of file SuperlatticeEnumerator.hh.
Public Types | |
typedef int | difference_type |
typedef Lattice | value_type |
typedef const Lattice & | reference |
typedef const Lattice * | pointer |
Public Member Functions | |
SuperlatticeIterator () | |
SuperlatticeIterator (const SuperlatticeEnumerator &enumerator, int volume, int dims) | |
SuperlatticeIterator & | operator= (const SuperlatticeIterator &B) |
bool | operator== (const SuperlatticeIterator &B) const |
Iterator comparison. More... | |
bool | operator!= (const SuperlatticeIterator &B) const |
Iterator comparison. More... | |
reference | operator* () const |
Access the supercell. More... | |
pointer | operator-> () const |
Access the supercell. More... | |
Eigen::Matrix3i | matrix () const |
constructed supercell matrix More... | |
HermiteCounter::value_type | volume () const |
current volume More... | |
const SuperlatticeEnumerator & | enumerator () const |
const reference to the SuperlatticeEnumerator this is iterating with More... | |
SuperlatticeIterator & | operator++ () |
Prefix increment operator. Increment to next unique supercell. More... | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::forward_iterator_tag | iterator_category |
fixes alignment of m_deformation More... | |
Private Member Functions | |
void | _increment () |
Postfix increment operator. Increment to next unique supercell. More... | |
void | _try_increment () |
Check if the current supercell matrix hermite normal form is in a canonical form. More... | |
void | _update_super () |
Update m_super when required. More... | |
Private Attributes | |
bool | m_super_updated |
Indicates if m_super reflects the current m_current supercell matrix. More... | |
const SuperlatticeEnumerator * | m_enum |
Pointer to SuperlatticeEnumerator which holds the unit cell and point group. More... | |
notstd::cloneable_ptr< HermiteCounter > | m_current |
Current supercell matrix in HermitCounter form. More... | |
Lattice | m_super |
A supercell, stored here so that iterator dereferencing will be OK. Only used when requested. More... | |
std::vector< Eigen::Matrix3i > | m_canon_hist |
Keep track of the HNF matrices for the current determinant value. More... | |