30struct ConsumeFlagsOpts;
60 std::string
Name()
const;
80 std::span<const std::string> following_args)
const;
82 std::span<const std::string>)
const;
94 std::function<std::string()>
getter_ = []() {
return ""; };
95 std::function<Result<void>(std::string_view value)>
setter_;
112 std::vector<std::string>& args,
114Result<void>
ConsumeFlags(
const std::vector<Flag>& flags,
115 std::vector<std::string>&& args,
116 ConsumeFlagsOpts opts = {});
std::string CurrentValue() const
Definition: flag.cpp:145
Result< void > SetAndValidate(std::string_view) const
Definition: flag.cpp:218
std::vector< std::string > aliases_
Definition: flag.h:90
std::string Synopsis() const
Definition: flag.cpp:128
Style
Definition: flag.h:68
Flag & Setter(std::function< Result< void >(std::string_view)>) &
Definition: flag.cpp:110
const std::string & Description() const
Definition: flag.cpp:143
Style style_
Definition: flag.h:91
std::function< std::string()> getter_
Definition: flag.h:94
Flag & AddValidator(std::function< Result< void >()>) &
Definition: flag.cpp:118
bool operator<(const Flag &other) const
Definition: flag.h:61
friend void WriteGflagsCompatXml(const Flag &, std::ostream &)
Definition: gflags_compat.cpp:214
static Flag BoolFlag(std::string name)
Definition: flag.cpp:77
std::string value_name_hint_
Definition: flag.h:93
std::vector< std::function< Result< void >()> > validators_
Definition: flag.h:96
Result< size_t > MatchStringStyleFlag(std::string_view, std::span< const std::string >) const
Definition: flag.cpp:170
Flag & Help(std::string) &
Definition: flag.cpp:88
const std::string & ValueNameHint() const
Definition: flag.cpp:147
void ValidateAlias(const std::string &)
Definition: flag.cpp:155
Flag(std::string name, Style style)
Definition: flag.cpp:149
Flag & Alias(std::string alias) &
Definition: flag.cpp:81
Flag & Getter(std::function< std::string()>) &
Definition: flag.cpp:102
Result< size_t > Match(std::string_view current_arg, std::span< const std::string > following_args) const
Definition: flag.cpp:160
std::string Name() const
Definition: flag.cpp:126
static Flag StringFlag(std::string name)
Definition: flag.cpp:73
Result< size_t > MatchBoolStyleFlag(std::string_view) const
Definition: flag.cpp:196
std::function< Result< void >(std::string_view value)> setter_
Definition: flag.h:95
friend Result< void > ConsumeFlags(const std::vector< Flag > &, std::vector< std::string > &, ConsumeFlagsOpts)
Definition: flag.cpp:237
std::string help_
Definition: flag.h:92
char * name
Definition: libf2fs.c:1403
Definition: alloc_driver.h:20
Result< void > ConsumeFlags(const std::vector< Flag > &flags, std::vector< std::string > &args, ConsumeFlagsOpts opts)
Definition: flag.cpp:237
tl::expected< T, StackTraceError > Result
Definition: result_type.h:30
std::ostream & operator<<(std::ostream &out, DeviceType device_type)
Definition: device_type.cpp:72
bool fail_on_unexpected_argument
Definition: flag.h:106
bool stop_at_double_dashes
Definition: flag.h:104