Lines Matching refs:std
46 std::ostream& operator<<(std::ostream& out, const FlagAlias& alias) { in operator <<()
108 Flag& Flag::Help(const std::string& help) & { in Help()
112 Flag Flag::Help(const std::string& help) && { in Help()
117 Flag& Flag::Getter(std::function<std::string()> fn) & { in Getter()
118 getter_ = std::move(fn); in Getter()
121 Flag Flag::Getter(std::function<std::string()> fn) && { in Getter()
122 getter_ = std::move(fn); in Getter()
126 Flag& Flag::Setter(std::function<Result<void>(const FlagMatch&)> setter) & { in Setter()
127 setter_ = std::move(setter); in Setter()
130 Flag Flag::Setter(std::function<Result<void>(const FlagMatch&)> setter) && { in Setter()
131 setter_ = std::move(setter); in Setter()
135 static bool LikelyFlag(const std::string& next_arg) { in LikelyFlag()
139 Result<bool> ParseBool(const std::string& value, const std::string& name) { in ParseBool()
150 const std::string& arg, const std::optional<std::string>& next_arg) const { in Process()
199 Result<void> Flag::Parse(std::vector<std::string>& arguments) const { in Parse()
201 std::string arg = arguments[i]; in Parse()
202 std::optional<std::string> next_arg; in Parse()
223 Result<void> Flag::Parse(std::vector<std::string>&& arguments) const { in Parse()
224 CF_EXPECT(Parse(static_cast<std::vector<std::string>&>(arguments))); in Parse()
237 static std::string XmlEscape(const std::string& s) { in XmlEscape()
242 bool Flag::WriteGflagsCompatXml(std::ostream& out) const { in WriteGflagsCompatXml()
243 std::unordered_set<std::string> name_guesses; in WriteGflagsCompatXml()
245 std::string_view name = alias.name; in WriteGflagsCompatXml()
252 name_guesses.insert(std::string{name}); in WriteGflagsCompatXml()
254 name_guesses.insert(std::string{name}); in WriteGflagsCompatXml()
259 name_guesses.insert(std::string{name}); in WriteGflagsCompatXml()
278 std::vector<bool> has_aliases = {has_bool_aliases, has_other_aliases, in WriteGflagsCompatXml()
281 std::count(has_aliases.cbegin(), has_aliases.cend(), true); in WriteGflagsCompatXml()
292 std::string type_str = in WriteGflagsCompatXml()
298 auto help = help_ ? XmlEscape(*help_) : std::string{""}; in WriteGflagsCompatXml()
300 auto value = getter_ ? XmlEscape((*getter_)()) : std::string{""}; in WriteGflagsCompatXml()
309 std::ostream& operator<<(std::ostream& out, const Flag& flag) { in operator <<()
327 std::vector<std::string> ArgsToVec(int argc, char** argv) { in ArgsToVec()
328 std::vector<std::string> args; in ArgsToVec()
337 std::vector<std::string> args_before_mark;
338 std::vector<std::string> args_after_mark;
340 static Separated SeparateByEndOfOptionMark(std::vector<std::string> args) { in SeparateByEndOfOptionMark()
341 std::vector<std::string> args_before_mark; in SeparateByEndOfOptionMark()
342 std::vector<std::string> args_after_mark; in SeparateByEndOfOptionMark()
344 auto itr = std::find(args.begin(), args.end(), "--"); in SeparateByEndOfOptionMark()
347 args_before_mark = std::move(args); in SeparateByEndOfOptionMark()
354 .args_before_mark = std::move(args_before_mark), in SeparateByEndOfOptionMark()
355 .args_after_mark = std::move(args_after_mark), in SeparateByEndOfOptionMark()
359 static Result<void> ConsumeFlagsImpl(const std::vector<Flag>& flags, in ConsumeFlagsImpl()
360 std::vector<std::string>& args) { in ConsumeFlagsImpl()
367 static Result<void> ConsumeFlagsImpl(const std::vector<Flag>& flags, in ConsumeFlagsImpl()
368 std::vector<std::string>&& args) { in ConsumeFlagsImpl()
375 Result<void> ConsumeFlags(const std::vector<Flag>& flags, in ConsumeFlags()
376 std::vector<std::string>& args, in ConsumeFlags()
382 auto separated = SeparateByEndOfOptionMark(std::move(args)); in ConsumeFlags()
385 args = std::move(separated.args_before_mark); in ConsumeFlags()
387 std::make_move_iterator(separated.args_after_mark.begin()), in ConsumeFlags()
388 std::make_move_iterator(separated.args_after_mark.end())); in ConsumeFlags()
389 CF_EXPECT(std::move(result)); in ConsumeFlags()
393 Result<void> ConsumeFlags(const std::vector<Flag>& flags, in ConsumeFlags()
394 std::vector<std::string>&& args, in ConsumeFlags()
397 CF_EXPECT(ConsumeFlagsImpl(flags, std::move(args))); in ConsumeFlags()
400 auto separated = SeparateByEndOfOptionMark(std::move(args)); in ConsumeFlags()
401 CF_EXPECT(ConsumeFlagsImpl(flags, std::move(separated.args_before_mark))); in ConsumeFlags()
405 bool WriteGflagsCompatXml(const std::vector<Flag>& flags, std::ostream& out) { in WriteGflagsCompatXml()
424 Flag HelpFlag(const std::vector<Flag>& flags, std::string text) { in HelpFlag()
440 static Result<void> GflagsCompatBoolFlagSetter(const std::string& name, in GflagsCompatBoolFlagSetter()
465 static Flag GflagsCompatBoolFlagBase(const std::string& name) { in GflagsCompatBoolFlagBase()
475 Flag HelpXmlFlag(const std::vector<Flag>& flags, std::ostream& out, bool& value, in HelpXmlFlag()
476 std::string text) { in HelpXmlFlag()
477 const std::string name = "helpxml"; in HelpXmlFlag()
486 out << text << std::endl; in HelpXmlFlag()
489 out << "<?xml version=\"1.0\"?>" << std::endl << "<AllFlags>" << std::endl; in HelpXmlFlag()
491 out << "</AllFlags>" << std::flush; in HelpXmlFlag()
519 Flag GflagsCompatFlag(const std::string& name) { in GflagsCompatFlag()
527 Flag GflagsCompatFlag(const std::string& name, std::string& value) { in GflagsCompatFlag()
537 std::optional<T> ParseInteger(const std::string& value) { in ParseInteger()
555 static Flag GflagsCompatNumericFlagGeneric(const std::string& name, T& value) { in GflagsCompatNumericFlagGeneric()
557 .Getter([&value]() { return std::to_string(value); }) in GflagsCompatNumericFlagGeneric()
565 Flag GflagsCompatFlag(const std::string& name, int32_t& value) { in GflagsCompatFlag()
569 Flag GflagsCompatFlag(const std::string& name, bool& value) { in GflagsCompatFlag()
577 Flag GflagsCompatFlag(const std::string& name, in GflagsCompatFlag()
578 std::vector<std::string>& value) { in GflagsCompatFlag()
586 std::vector<std::string> str_vals = in GflagsCompatFlag()
588 value = std::move(str_vals); in GflagsCompatFlag()
593 Flag GflagsCompatFlag(const std::string& name, std::vector<bool>& value, in GflagsCompatFlag()
602 std::vector<std::string> str_vals = in GflagsCompatFlag()
605 std::vector<bool> output_vals; in GflagsCompatFlag()