1 #ifndef CASM_symmetry_SimpleOrbit
2 #define CASM_symmetry_SimpleOrbit
27 template <
typename _SymCompareType>
32 using Element =
typename _SymCompareType::Element;
37 template <
typename GroupIterator>
38 SimpleOrbit(
typename SymCompareType::Element
const &_generating_element,
39 GroupIterator _group_begin, GroupIterator _group_end,
73 throw std::runtime_error(
"No equivalence map for SimpleOrbit");
79 throw std::runtime_error(
"No generating group for SimpleOrbit");
InvariantsType const & invariants() const
const multivector< SymOp >::X< 2 > & equivalence_map() const
Not implemented: Will throw. Exists only for compatibility with orbit printing.
typename _SymCompareType::InvariantsType InvariantsType
SimpleOrbit(typename SymCompareType::Element const &_generating_element, GroupIterator _group_begin, GroupIterator _group_end, SymCompareType const &_sym_compare)
Construct a SimpleOrbit using a range of SymOp or PermuteIterator.
Element const & operator[](size_type index) const
Return Element at index, without bounds checking.
typename _SymCompareType::Element Element
const_iterator end() const
std::vector< Element > m_element
std::vector< Element > const & elements() const
const Access vector of Element
_SymCompareType SymCompareType
SymCompareType const & sym_compare() const
Return the SymCompare functor reference.
const_iterator cend() const
const_iterator begin() const
const SymGroup & generating_group() const
Not implemented: Will throw. Exists only for compatibility with orbit printing.
const_iterator cbegin() const
bool operator<(const SimpleOrbit &B) const
Compare orbits, using SymCompareType::inter_orbit_compare.
Element const & prototype() const
Identical to element(0)
InvariantsType m_invariants
Element const & element(size_type index) const
Equivalent to operator[](size_type index) const.
typename std::vector< Element >::const_iterator const_iterator
SymCompareType m_sym_compare
SymGroup is a collection of symmetry operations that satisfy the group property The symmetry operatio...
typename multivector_impl::multivector_tmp< T, N >::type X