CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
ConfigEnumAllOccupations.hh
Go to the documentation of this file.
1 #ifndef CASM_ConfigEnumAllOccupations
2 #define CASM_ConfigEnumAllOccupations
3 
8 
9 extern "C" {
11 }
12 
13 namespace CASM {
14 
22  class ConfigEnumAllOccupations : public InputEnumeratorBase<Configuration> {
25 
26  // -- Required members -------------------
27 
28  public:
29 
31  ConfigEnumAllOccupations(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
ConfigEnumAllOccupations(Supercell &_scel)
Construct with a Supercell, using all permutations.
A Counter allows looping over many incrementing variables in one loop.
Definition: Counter.hh:71
PrimClex * primclex
Definition: settings.cc:101
void increment() override
Implements increment.
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
static const std::string enumerator_name
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:52
static int run(PrimClex &primclex, const jsonParser &kwargs, const Completer::EnumOption &enum_opt)
std::string name() const override
Derived enumerators must implement name, via ENUM_MEMBERS.
CASM::EnumInterfaceBase * make_ConfigEnumAllOccupations_interface()
bool _check_current() const
Returns true if current() is primitive and canonical.
notstd::cloneable_ptr< Configuration > m_current
static const std::string interface_help