CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
Args.hh
Go to the documentation of this file.
1 #ifndef ARGS_HH
2 #define ARGS_HH
3 
4 #include <iostream>
5 #include <string>
6 #include <sstream>
7 
9 
10 namespace CASM {
11 
42 
43 
44  class Args {
45  bool all_ok;
46 
47 
48  // ////////////////////////////////////////
49  // Input file names
51 
58 
59  // collect -keyword value1 value2 ...
63 
64  // ////////////////////////////////////////
65  // Additional settings
66  double tol;
68 
69  // ////////////////////////////////////////
70  // Function to call (only 1 allowed at present)
71  std::string function_name;
72 
73  // ////////////////////////////////////////
74  // Strings I don't understand
76 
77 
78  public:
79 
80  // ////////////////////////////////////////
81  // ////////////////////////////////////////
82  // Member functions
83 
84  Args();
85  Args(const Array<std::string> args, std::ostream &out);
86 
87  void set(const Array<std::string> args, std::ostream &out);
88 
89  void clear();
90 
91  // ////////////////////////////////////////
92  // Accessors
93 
94  bool is_ok() const;
95 
96  const std::string &get_function_name() const ;
97 
98  const Array<std::string> &get_prim_filenames() const ;
104  const Array<std::string> &get_keyvals(std::string key) const ;
105 
106 
107  double get_tol() const ;
108  COORD_TYPE get_coord_mode() const ;
109 
110  // ////////////////////////////////////////
111  // Mutators
112 
113  void set_function_name(const std::string &in) ;
114 
115  void set_prim_filenames(const Array<std::string> &in) ;
116  void set_cspecs_filenames(const Array<std::string> &in) ;
117  void set_hspecs_filenames(const Array<std::string> &in) ;
118  void set_lcspecs_filenames(const Array<std::string> &in) ;
120  void set_matrix_filenames(const Array<std::string> &in) ;
121  void set_keyvals(const std::string &key, const Array<std::string> &invals) ;
122 
123 
130 
131  void set_tol(double in) ;
132  void set_coord_mode(COORD_TYPE in) ;
133 
134  // ////////////////////////////////////////
135  // Print
136 
137  void print(std::ostream &out) const ;
138 
139 
140  };
141 
142 };
143 
144 #endif
const Array< std::string > & get_prim_filenames() const
Definition: Args.cc:181
Array< std::string > null_values
Definition: Args.hh:62
void set_tol(double in)
Definition: Args.cc:272
bool is_ok() const
Definition: Args.cc:173
void set_function_name(const std::string &in)
Definition: Args.cc:218
const Array< std::string > & get_hspecs_filenames() const
Definition: Args.cc:187
void clear()
Definition: Args.cc:153
COORD_TYPE get_coord_mode() const
Definition: Args.cc:211
const std::string & get_function_name() const
Definition: Args.cc:177
const Array< std::string > & get_keyvals(std::string key) const
Definition: Args.cc:199
Array< std::string > structure_filenames
Definition: Args.hh:56
Main CASM namespace.
Definition: complete.cpp:8
bool all_ok
Definition: Args.hh:45
const Array< std::string > & get_lcspecs_filenames() const
Definition: Args.cc:190
Array< std::string > hspecs_filenames
Definition: Args.hh:54
const Array< std::string > & get_matrix_filenames() const
Definition: Args.cc:196
void set_lcspecs_filenames(const Array< std::string > &in)
Definition: Args.cc:231
void set_matrix_filenames(const Array< std::string > &in)
Definition: Args.cc:237
const Array< std::string > & get_structure_filenames() const
Definition: Args.cc:193
Array< std::string > prim_filenames
Definition: Args.hh:52
Args()
Definition: Args.cc:9
Array< std::string > input_file_options
Definition: Args.hh:50
COORD_TYPE coord_mode
Definition: Args.hh:67
double tol
Definition: Args.hh:66
void set(const Array< std::string > args, std::ostream &out)
Definition: Args.cc:17
Array< Array< std::string > > values
Definition: Args.hh:61
const Array< std::string > & get_cspecs_filenames() const
Definition: Args.cc:184
Array< std::string > cspecs_filenames
Definition: Args.hh:53
Array< std::string > lcspecs_filenames
Definition: Args.hh:55
void print(std::ostream &out) const
Definition: Args.cc:282
void set_hspecs_filenames(const Array< std::string > &in)
Definition: Args.cc:228
Array< std::string > keywords
Definition: Args.hh:60
Array< std::string > err_list
Definition: Args.hh:75
Array< std::string > matrix_filenames
Definition: Args.hh:57
void set_coord_mode(COORD_TYPE in)
Definition: Args.cc:275
void set_prim_filenames(const Array< std::string > &in)
Definition: Args.cc:222
double get_tol() const
Definition: Args.cc:208
void set_cspecs_filenames(const Array< std::string > &in)
Definition: Args.cc:225
void set_keyvals(const std::string &key, const Array< std::string > &invals)
Definition: Args.cc:240
std::string function_name
Definition: Args.hh:71
void set_structure_filenames(const Array< std::string > &in)
Definition: Args.cc:234