1 #ifndef CASM_ConfigDoFCompare
2 #define CASM_ConfigDoFCompare
33 template <
typename ConfigDoFIsEquivalentType>
46 return m_f->is_less();
54 return m_f->is_less();
62 return m_f->is_less();
70 return m_f->is_less();
75 if ((*
m_f)(A, other)) {
78 return m_f->is_less();
87 return m_f->is_less();
93 if ((*
m_f)(A, B, other)) {
96 return m_f->is_less();
106 template <
typename ConfigDoFIsEquivalentType,
typename... Args>
109 std::forward<Args>(args)...));
Wrapper class for generic less than comparison of ConfigDoF.
ConfigDoFCompare(std::unique_ptr< ConfigDoFIsEquivalentType > f)
Construct a ConfigDoFCompare object for a particular DoF type.
bool operator()(const PermuteIterator &A) const
Return config < A*config.
bool operator()(const PermuteIterator &A, const ConfigDoF &other) const
Return config < A*other.
bool operator()(const PermuteIterator &A, const Configuration &other) const
Return config < A*other.
bool operator()(const PermuteIterator &A, const PermuteIterator &B, const Configuration &other) const
Return A*config < B*other.
notstd::cloneable_ptr< ConfigDoFIsEquivalent::Base > m_f
bool operator()(const PermuteIterator &A, const PermuteIterator &B, const ConfigDoF &other) const
Return A*config < B*other.
bool operator()(const PermuteIterator &A, const PermuteIterator &B) const
Return A*config < B*config.
ConfigDoFCompare make_dof_compare(Args &&... args)
bool operator()(const Configuration &other) const
Return config < other.
bool operator()(const ConfigDoF &other) const
Return config < other.
const ConfigDoF & configdof() const
const Access the DoF
A 'cloneable_ptr' can be used in place of 'unique_ptr'.