Android-cuttlefish cvd tool
Classes | Namespaces | Functions | Variables
flag_parser.cpp File Reference
#include "cuttlefish/common/libs/utils/flag_parser.h"
#include <algorithm>
#include <cerrno>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <iostream>
#include <iterator>
#include <sstream>
#include <string>
#include <string_view>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include <android-base/logging.h>
#include <android-base/parsebool.h>
#include <android-base/parseint.h>
#include <android-base/scopeguard.h>
#include <android-base/strings.h>
#include <fmt/format.h>
#include <fmt/ranges.h>
#include "cuttlefish/common/libs/utils/result.h"
#include "cuttlefish/common/libs/utils/tee_logging.h"
Include dependency graph for flag_parser.cpp:

Classes

struct  cuttlefish::Separated
 

Namespaces

namespace  cuttlefish
 
namespace  cuttlefish::anonymous_namespace{flag_parser.cpp}
 

Functions

std::ostream & cuttlefish::operator<< (std::ostream &out, const FlagAlias &alias)
 
static bool cuttlefish::LikelyFlag (const std::string &next_arg)
 
Result< bool > cuttlefish::ParseBool (const std::string &value, const std::string &name)
 
static std::string cuttlefish::XmlEscape (const std::string &s)
 
std::ostream & cuttlefish::operator<< (std::ostream &out, const Flag &flag)
 
std::vector< std::string > cuttlefish::ArgsToVec (int argc, char **argv)
 
static Separated cuttlefish::SeparateByEndOfOptionMark (std::vector< std::string > args)
 
static Result< void > cuttlefish::ConsumeFlagsImpl (const std::vector< Flag > &flags, std::vector< std::string > &args)
 
static Result< void > cuttlefish::ConsumeFlagsImpl (const std::vector< Flag > &flags, std::vector< std::string > &&args)
 
Result< void > cuttlefish::ConsumeFlags (const std::vector< Flag > &flags, std::vector< std::string > &args, const bool recognize_end_of_option_mark)
 
Result< void > cuttlefish::ConsumeFlags (const std::vector< Flag > &flags, std::vector< std::string > &&args, const bool recognize_end_of_option_mark)
 
Result< void > cuttlefish::ConsumeFlagsConstrained (const std::vector< Flag > &flags, std::vector< std::string > &args)
 
Result< void > cuttlefish::ConsumeFlagsConstrained (const std::vector< Flag > &flags, std::vector< std::string > &&args)
 
bool cuttlefish::WriteGflagsCompatXml (const std::vector< Flag > &flags, std::ostream &out)
 
Flag cuttlefish::VerbosityFlag (android::base::LogSeverity &value)
 
Flag cuttlefish::HelpFlag (const std::vector< Flag > &flags, std::string text)
 
static Result< void > cuttlefish::GflagsCompatBoolFlagSetter (const std::string &name, bool &value, const FlagMatch &match)
 
static Flag cuttlefish::GflagsCompatBoolFlagBase (const std::string &name)
 
Flag cuttlefish::HelpXmlFlag (const std::vector< Flag > &flags, std::ostream &out, bool &value, std::string text)
 
Flag cuttlefish::InvalidFlagGuard ()
 
Flag cuttlefish::UnexpectedArgumentGuard ()
 
Flag cuttlefish::GflagsCompatFlag (const std::string &name)
 
Flag cuttlefish::GflagsCompatFlag (const std::string &name, std::string &value)
 
template<typename T >
std::optional< T > cuttlefish::ParseInteger (const std::string &value)
 
template<typename T >
static Flag cuttlefish::GflagsCompatNumericFlagGeneric (const std::string &name, T &value)
 
Flag cuttlefish::GflagsCompatFlag (const std::string &name, int32_t &value)
 
template<typename T >
static Flag cuttlefish::GflagsCompatUnsignedNumericFlagGeneric (const std::string &name, T &value)
 
Flag cuttlefish::GflagsCompatFlag (const std::string &name, std::size_t &value)
 
Flag cuttlefish::GflagsCompatFlag (const std::string &name, bool &value)
 
Flag cuttlefish::GflagsCompatFlag (const std::string &name, std::vector< std::string > &value)
 
Flag cuttlefish::GflagsCompatFlag (const std::string &name, std::vector< bool > &value, const bool default_value)
 
Result< bool > cuttlefish::HasHelpFlag (const std::vector< std::string > &args)
 

Variables

constexpr std::array cuttlefish::anonymous_namespace{flag_parser.cpp}::help_bool_opts
 
constexpr std::array cuttlefish::anonymous_namespace{flag_parser.cpp}::help_str_opts