CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
TestEnum.hh
Go to the documentation of this file.
1 #ifndef CASM_TestEnum
2 #define CASM_TestEnum
3 
8 
9 extern "C" {
11 }
12 
13 namespace CASM {
14 
22  class TestEnum : public InputEnumeratorBase<Configuration> {
25 
26  // -- Required members -------------------
27 
28  public:
29 
31  TestEnum(Supercell &_scel);
32 
33  std::string name() const override {
34  return enumerator_name;
35  }
36 
37  static const std::string enumerator_name;
38  static const std::string interface_help;
39  static int run(PrimClex &primclex, const jsonParser &kwargs, const Completer::EnumOption &enum_opt);
40 
41  private:
42 
43 
45  void increment() override;
46 
47 
48  // -- Unique -------------------
49 
51  bool _check_current() const;
52 
55  };
56 
58 }
59 
60 #endif
bool _check_current() const
Returns true if current() is primitive and canonical.
Definition: TestEnum.cc:121
A Counter allows looping over many incrementing variables in one loop.
Definition: Counter.hh:71
PrimClex * primclex
Definition: settings.cc:101
static const std::string enumerator_name
Definition: TestEnum.hh:37
Base class for generic use of enumerators that may be accessed through the API.
Definition: Enumerator.hh:418
Main CASM namespace.
Definition: complete.cpp:8
notstd::cloneable_ptr< Configuration > m_current
Definition: TestEnum.hh:54
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
Definition: TestEnum.hh:33
static const std::string interface_help
Definition: TestEnum.hh:38
void increment() override
Implements increment.
Definition: TestEnum.cc:101
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:52
Counter< Array< int > > m_counter
Definition: TestEnum.hh:53
CASM::EnumInterfaceBase * make_TestEnum_interface()
Definition: TestEnum.cc:13
static int run(PrimClex &primclex, const jsonParser &kwargs, const Completer::EnumOption &enum_opt)
Definition: TestEnum.cc:53
TestEnum(Supercell &_scel)
Construct with a Supercell, using all permutations.
Definition: TestEnum.cc:78