CASM  1.1.0
A Clusters Approach to Statistical Mechanics
enumerate_supercells.hh
Go to the documentation of this file.
1 #ifndef CASM_enum_enumerate_supercells
2 #define CASM_enum_enumerate_supercells
3 
4 #include <functional>
5 #include <map>
6 #include <string>
7 
8 namespace CASM {
9 
10 class PrimClex;
11 class Supercell;
12 
13 namespace DB {
14 template <typename T>
15 class Database;
16 }
17 
21  : primclex_ptr(&primclex) {}
22 
24  std::string method_name;
25 
27  std::function<bool(Supercell const &)> filter;
28 
30  bool dry_run = false;
31 
33  int verbosity = 10;
34 
36  PrimClex const *primclex_ptr = nullptr;
37 };
38 
39 template <typename EnumeratorType>
41  EnumeratorType &enumerator,
42  DB::Database<Supercell> &supercell_db);
43 
44 } // namespace CASM
45 
46 #endif
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:55
Represents a supercell of the primitive parent crystal structure.
Definition: Supercell.hh:51
Main CASM namespace.
Definition: APICommand.hh:8
void enumerate_supercells(EnumerateSupercellsOptions const &options, EnumeratorType &enumerator, DB::Database< Supercell > &supercell_db)
PrimClex * primclex
Definition: settings.cc:135
Options for the enumerate_supercells function.
EnumerateSupercellsOptions(PrimClex const &primclex)
std::function< bool(Supercell const &)> filter
If filter(supercell)==true, keep supercell, else skip.
PrimClex const * primclex_ptr
Use while transitioning Supercell to no longer need a PrimClex const *
std::string method_name
Method name, for printing progress.
bool dry_run
If dry_run==true, do not save results, just print to screen.
int verbosity
Printing verbosity level.