35 #ifndef OPENMS_DATASTRUCTURES_PARAM_H
36 #define OPENMS_DATASTRUCTURES_PARAM_H
81 ParamEntry(
const ParamEntry &other);
86 bool isValid(
String& message)
const;
88 bool operator==(
const ParamEntry& rhs)
const;
127 bool operator==(
const ParamNode& rhs)
const;
219 const std::vector<TraceInfo>& getTrace()
const;
227 std::vector<const Param::ParamNode*>
stack_;
246 bool operator==(
const Param& rhs)
const;
287 bool exists(
const String& key)
const;
337 bool hasTag(
const String& key,
const String& tag)
const;
351 void clearTags(
const String& key);
373 void setSectionDescription(
const String& key,
const String& description);
380 const String& getSectionDescription(
const String& key)
const;
397 void insert(
const String& prefix,
const Param& param);
408 void remove(
const String& key);
418 void removeAll(
const String& prefix);
427 Param copy(
const String& prefix,
bool remove_prefix =
false)
const;
451 void merge(
const Param& toMerge);
467 void setDefaults(
const Param& defaults,
const String& prefix =
"",
bool showMessage =
false);
487 void checkDefaults(
const String& name,
const Param& defaults,
const String& prefix =
"", std::ostream& os = std::cout)
const;
500 void setValidStrings(
const String& key,
const std::vector<String>& strings);
509 void setMinInt(
const String& key,
Int min);
518 void setMaxInt(
const String& key,
Int max);
559 void parseCommandLine(
const int argc,
const char** argv,
const String& prefix =
"");
594 OPENMS_DLLAPI std::ostream&
operator<<(std::ostream& os,
const Param& param);
598 #endif // OPENMS_DATASTRUCTURES_PARAM_H
DataValue value
Value associated with the entry.
Definition: Param.h:95
A more convenient string class.
Definition: String.h:56
std::vector< ParamNode > nodes
Subnodes.
Definition: Param.h:170
std::vector< ParamEntry >::iterator EntryIterator
Iterator for entries.
Definition: Param.h:114
String description
Description of the node.
Definition: Param.h:166
const Param::ParamNode * root_
Pointer to the root node.
Definition: Param.h:223
std::ostream & operator<<(std::ostream &os, const ItraqQuantifier::ItraqQuantifierStats &stats)
Parameter entry used to store the actual information inside of a Param entry.
Definition: Param.h:74
std::vector< const Param::ParamNode * > stack_
Pointers to the ParmNodes we are in.
Definition: Param.h:227
Int current_
Index of the current ParamEntry (-1 means invalid)
Definition: Param.h:225
Log Stream Class.
Definition: LogStream.h:303
std::set< String > tags
Tags list, used e.g. for advanced parameter tag.
Definition: Param.h:97
Int min_int
Default: - std::numeric_limits<Int>::max()
Definition: Param.h:102
TraceInfo(const String &n, const String &d, bool o)
Constructor with name, description, and open flag.
Definition: Param.h:183
Class to hold strings, numeric values, lists of strings and lists of numeric values.
Definition: DataValue.h:57
#define LOG_WARN
Macro if a warning, a piece of information which should be read by the user, should be logged...
Definition: LogStream.h:451
String name
Name of the node.
Definition: Param.h:164
String description
description of the node
Definition: Param.h:193
DoubleReal max_float
Default: std::numeric_limits<DoubleReal>::max()
Definition: Param.h:101
std::vector< ParamEntry >::const_iterator ConstEntryIterator
Iterator for entries.
Definition: Param.h:118
std::vector< ParamNode >::iterator NodeIterator
Iterator for child nodes.
Definition: Param.h:112
Int max_int
Default: std::numeric_limits<Int>::max()
Definition: Param.h:103
String name
Name of the entry.
Definition: Param.h:91
String name
name of the node
Definition: Param.h:191
DPosition< D, TCoordinateType > operator*(DPosition< D, TCoordinateType > position, typename DPosition< D, TCoordinateType >::CoordinateType scalar)
Scalar multiplication (a bit inefficient)
Definition: DPosition.h:415
Struct that captures information on entered / left nodes for ParamIterator.
Definition: Param.h:180
bool opened
If it was opened (true) or closed (false)
Definition: Param.h:195
String description
Description of the entry.
Definition: Param.h:93
Management and storage of parameters / INI files.
Definition: Param.h:69
std::vector< ParamNode >::const_iterator ConstNodeIterator
Iterator for child nodes.
Definition: Param.h:116
String list.
Definition: StringList.h:56
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
std::vector< String > valid_strings
Default: empty.
Definition: Param.h:104
Forward const iterator for the Param class.
Definition: Param.h:176
std::vector< TraceInfo > trace_
Node traversal data during last ++ operation.
Definition: Param.h:229
DoubleReal min_float
Default: - std::numeric_limits<DoubleReal>::max()
Definition: Param.h:100
Node inside a Param object which is used to build the internal tree.
Definition: Param.h:109
std::vector< ParamEntry > entries
Entries (leafs) in the node.
Definition: Param.h:168
int Int
Signed integer type.
Definition: Types.h:100
Map class based on the STL map (containing serveral convenience functions)
Definition: Map.h:50
Param::ParamNode root_
Invisible root node that stores all the data.
Definition: Param.h:590