22 #ifndef PROGRAM_OPTIONS_VALUE_H_INCLUDED
23 #define PROGRAM_OPTIONS_VALUE_H_INCLUDED
25 #pragma warning (disable : 4786)
26 #pragma warning (disable : 4503)
31 #if defined(_MSC_VER) && _MSC_VER <= 1200
32 namespace std { using ::size_t; }
35 namespace ProgramOptions {
85 const char*
arg()
const;
90 char alias()
const {
return optAlias_; }
97 unsigned x = (lev * level_shift);
98 flags_ =
static_cast<byte_t>(x | (flags_&(level_shift-1)));
193 virtual bool doParse(
const std::string& name,
const std::string& value) = 0;
197 enum { desc_pack = 8, level_shift =
not_a_property, levels = 255/level_shift };
char alias() const
Definition: value.h:90
void clearProperty(Property f)
Definition: value.h:190
unsigned char byte_t
Definition: value.h:179
DescriptionLevel
Definition: value.h:38
State state() const
Returns the current state of this value.
Definition: value.h:70
virtual ~Value()
Definition: program_options.cpp:128
bool state(bool b, State s)
Definition: value.h:192
Value * state(Value::State s)
Definition: value.h:75
Value * negatable()
Definition: value.h:110
tuple s
Definition: server.py:45
bool parse(const std::string &name, const std::string &value, State st=value_fixed)
Parses the given string and updates the value's state.
Definition: program_options.cpp:177
Manages the value of an option and defines how it is parsed from a string.
Definition: value.h:53
Value * flag()
Definition: value.h:138
auto f
Definition: statements.cc:122
bool isNegatable() const
Returns true if this is the value of an negatable option.
Definition: value.h:109
const char * desc(DescType t) const
Definition: program_options.cpp:162
virtual bool doParse(const std::string &name, const std::string &value)=0
const char * arg() const
Returns the name of this value.
Definition: program_options.cpp:134
Value * level(DescriptionLevel lev)
Sets a description level for the corresponding option.
Definition: value.h:96
Property
Definition: value.h:180
Value * composing()
Definition: value.h:147
tuple b
Definition: pyclingo.py:47
const char * defaultsTo() const
Returns the default value of this or 0 none exists.
Definition: value.h:154
bool hasProperty(Property f) const
Definition: value.h:191
Value * arg(const char *n)
Definition: value.h:86
bool isImplicit() const
Returns true if value can be implicitly created from an empty string.
Definition: value.h:123
State
Possible (tentative) states of an option value.
Definition: value.h:56
DescType
Possible value descriptions.
Definition: value.h:62
Value(byte_t flagSet, State initial=value_unassigned)
Definition: program_options.cpp:120
bool isFlag() const
Returns true if this is the value of an option flag.
Definition: value.h:132
StringSet str
Definition: dependency.cc:92
tuple c
Definition: visualize.py:132
DescriptionLevel level() const
Returns the description level of the corresponding option.
Definition: value.h:102
int x
Definition: utility.cc:65
tuple d
Definition: pyclingo.py:49
Value * alias(char c)
Sets an alias name for the corresponding option.
Definition: value.h:89
const char * implicit() const
Returns the implicit value of this or 0 if isImplicit() == false.
Definition: program_options.cpp:171
void setProperty(Property f)
Definition: value.h:189
bool isComposing() const
Returns true if the value of this option can be composed from multiple source.
Definition: value.h:142
Value * implicit(const char *str)
Definition: value.h:161
Value * defaultsTo(const char *v)
Definition: value.h:152