1 #ifndef CASM_GLOBAL_DEFINTIONS_HH
2 #define CASM_GLOBAL_DEFINTIONS_HH
11 namespace program_options {}
14 #ifdef EIGEN_DEFAULT_DENSE_INDEX_TYPE
15 #define INDEX_TYPE EIGEN_DEFAULT_DENSE_INDEX_TYPE
17 #define INDEX_TYPE long
26 typedef unsigned long int ulint;
30 const double TOL = 0.00001;
33 const double KB = 8.6173423E-05;
36 const double PLANCK = 4.135667516E-15;
58 template <
typename BinaryCompare>
63 template <
typename... CompareArgs>
82 template <
typename Object,
typename Transform,
typename... Args>
83 Object &
apply(
const Transform &f, Object &obj, Args &&... args) {
84 obj.apply_sym(f, std::forward<Args>(args)...);
92 template <
typename Object,
typename Transform,
typename... Args>
93 Object
copy_apply(
const Transform &f, Object obj, Args &&... args) {
94 return CASM::apply(f, obj, std::forward<Args>(args)...);
UnaryCompare_f(const argument_type &lhs, const CompareArgs &... args)
bool operator()(const argument_type &rhs)
notstd::first_argument_type< BinaryCompare > argument_type
const argument_type & m_lhs
const BinaryCompare m_compare_method
Supercell & apply(const SymOp &op, Supercell &scel)
Apply symmetry operation to Supercell.
MappingNode copy_apply(PermuteIterator const &_it, MappingNode const &_node, bool transform_cost_mat=true)
Reorders the permutation and compounds the spatial isometry (rotation.
bool valid_index(Index i)
INDEX_TYPE Index
For long integer indexing:
typename std::decay< typename function_traits< F >::template arg< 0 >::type >::type first_argument_type