CASM  1.1.0
A Clusters Approach to Statistical Mechanics
enum.hh
Go to the documentation of this file.
1 #ifndef CASM_enum
2 #define CASM_enum
3 
4 #include "casm/app/APICommand.hh"
8 
9 namespace CASM {
10 
29 class EnumCommand : public APICommand<Completer::EnumOption> {
30  public:
31  static const std::string name;
32 
33  EnumCommand(CommandArgs const &_args, Completer::EnumOption &_opt);
34 
35  int vm_count_check() const override;
36 
37  int help() const override;
38 
39  int desc() const override;
40 
41  int run() const override;
42 
43  // -- custom --
44 
45  EnumInterfaceVector const &enumerators() const;
46 
47  void print_names(std::ostream &sout,
48  EnumInterfaceVector const &enumerators) const;
49 
50  private:
53 };
54 } // namespace CASM
55 
56 #endif
int run() const override
Definition: enum.cc:163
EnumInterfaceVector m_standard_enumerators
Definition: enum.hh:51
EnumInterfaceVector const & enumerators() const
Definition: enum.cc:221
EnumInterfaceVector const * m_enumerator_vector
Definition: enum.hh:52
int help() const override
Definition: enum.cc:105
EnumCommand(CommandArgs const &_args, Completer::EnumOption &_opt)
Definition: enum.cc:78
void print_names(std::ostream &sout, EnumInterfaceVector const &enumerators) const
Definition: enum.cc:236
int vm_count_check() const override
Definition: enum.cc:82
int desc() const override
Definition: enum.cc:115
static const std::string name
Definition: enum.hh:31
Main CASM namespace.
Definition: APICommand.hh:8
std::vector< notstd::cloneable_ptr< EnumInterfaceBase > > EnumInterfaceVector
Data structure holding basic CASM command info.