CASM  1.1.0
A Clusters Approach to Statistical Mechanics
QueryIO.hh
Go to the documentation of this file.
1 #ifndef CASM_app_query_QueryIO
2 #define CASM_app_query_QueryIO
3 
4 namespace CASM {
5 
6 class PermuteIterator;
7 template <typename ValueType>
8 struct QueryData;
9 
10 namespace adapter {
11 
12 template <typename ToType, typename FromType>
13 struct Adapter;
14 
15 template <typename DataObject>
16 struct Adapter<DataObject, QueryData<DataObject>> {
17  DataObject const &operator()(QueryData<DataObject> const &adaptable) const;
18 };
19 
20 } // namespace adapter
21 
24 template <typename ValueType>
25 struct QueryData {
26  QueryData(PrimClex const &_primclex, ValueType const &_value,
27  bool _include_equivalents = false, Index _equivalent_index = 0,
28  PermuteIterator const *_permute_it = nullptr);
29 
32 
34  ValueType const &value;
35 
38 
41 
45 };
46 
47 namespace QueryIO {
48 
51 template <typename QueryDataType>
53 
56 template <typename QueryDataType>
58 
61 template <typename QueryDataType>
63 
65 template <typename QueryDataType>
68 
71 template <typename QueryDataType>
73 
74 } // namespace QueryIO
75 
76 } // namespace CASM
77 
78 #endif
A DatumFormatter that returns a 1D value of specified type, via functions that may be specified at ru...
A DatumFormatter that returns a value of specified type, via functions that may be specified at runti...
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:55
Generic1DDatumFormatter< Eigen::Vector3l, QueryDataType > permute_translation()
Definition: QueryIO_impl.hh:90
GenericDatumFormatter< Index, QueryDataType > permute_scel_factor_group_op()
Definition: QueryIO_impl.hh:48
GenericDatumFormatter< Index, QueryDataType > equivalent_index()
Definition: QueryIO_impl.hh:39
GenericDatumFormatter< std::string, QueryDataType > permute_factor_group_op_desc()
Description of permute factor group operation in the prim factor group.
Definition: QueryIO_impl.hh:73
GenericDatumFormatter< Index, QueryDataType > permute_factor_group_op()
Definition: QueryIO_impl.hh:60
Main CASM namespace.
Definition: APICommand.hh:8
INDEX_TYPE Index
For long integer indexing:
Definition: definitions.hh:39
PrimClex const & primclex
Provides access to project data.
Definition: QueryIO.hh:31
QueryData(PrimClex const &_primclex, ValueType const &_value, bool _include_equivalents=false, Index _equivalent_index=0, PermuteIterator const *_permute_it=nullptr)
Definition: QueryIO_impl.hh:25
Index equivalent_index
Index incremented for each non-canonical equivalent.
Definition: QueryIO.hh:40
ValueType const & value
The object under consideration (Supercell, Configuration, etc.)
Definition: QueryIO.hh:34
bool include_equivalents
True if non-canonical equivalents are also being queried.
Definition: QueryIO.hh:37
PermuteIterator const * permute_it
Definition: QueryIO.hh:44