1 #ifndef PermuteIterator_HH
2 #define PermuteIterator_HH
16 class PermuteIterator :
36 public std::iterator <std::bidirectional_iterator_tag, PermuteIterator>,
37 public Comparisons<PermuteIterator> {
59 Index _factor_group_index,
60 Index _translation_index);
PrimGrid const * m_prim_grid
m_prim_grid holds permutation representation of lattice translations acting on sites of the supercell...
bool operator<(const PermuteIterator &iter) const
void from_json(ClexDescription &desc, const jsonParser &json)
jsonParser & to_json(const ClexDescription &desc, jsonParser &json)
bool _eq(const PermuteIterator &iter) const
PermuteIterator & operator++()
void from_json(const jsonParser &json)
PermuteIterator & operator--()
Index permute_ind(Index i) const
PermuteIterator inverse() const
const Permutation & factor_group_permute() const
Return the factor group permutation being pointed at.
Index m_factor_group_index
SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian...
EigenIndex Index
For long integer indexing:
const T & permute_by_bit(Index i, const Array< T > &before_array) const
Return after_array[i], given i and before_array.
ReturnArray< T > permute(const Array< T > &before_array) const
Apply the combined factor_group permutation and translation permutation being pointed at...
const Permutation & translation_permute() const
Return the translation permutation being pointed at.
PermuteIterator begin_next_fg_op() const
const PermuteIterator & operator*() const
Returns the combination of factor_group permutation and translation permutation.
PermuteIterator & operator=(PermuteIterator iter)
Array< Permutation > const * m_trans_permute
m_trans_permute points to the Array
of translation permutations inside of m_prim_grid (t...
Index m_translation_index
Index translation_index() const
Return the index into m_prim_grid of the translation being pointed at.
friend void swap(PermuteIterator &a, PermuteIterator &b)
jsonParser & to_json(jsonParser &json) const
Index factor_group_index() const
Return the index into m_factor_group_permute of the factor group op being pointed at...
Basic std::vector like container (deprecated)
Permutation combined_permute() const
Returns the combination of factor_group permutation and translation permutation.
SymGroupRep::RemoteHandle m_fg_permute_rep
permutation representation of factor group acting on sites of the supercell