78 #ifndef GFLAGS_GFLAGS_H_ 79 #define GFLAGS_GFLAGS_H_ 88 #ifndef GFLAGS_DLL_DEFINE_FLAG 90 # define GFLAGS_DLL_DEFINE_FLAG __declspec(dllexport) 92 # define GFLAGS_DLL_DEFINE_FLAG 137 #define DEFINE_validator(name, validator) \ 138 static const bool name##_validator_registered = \ 139 GFLAGS_NAMESPACE::RegisterFlagValidator(&FLAGS_##name, validator) 154 struct CommandLineFlagInfo {
283 class FlagSaverImpl*
impl_;
297 const char* prog_name,
298 bool errors_are_fatal);
345 #ifndef SWIG // In swig, use ParseCommandLineFlagsScript() instead. 432 FlagRegisterer(
const char* name,
const char*
type,
434 void* current_storage,
void* defvalue_storage);
448 #ifndef SWIG // In swig, ignore the main flag declarations 450 #if defined(STRIP_FLAG_HELP) && STRIP_FLAG_HELP > 0 452 #define MAYBE_STRIPPED_HELP(txt) \ 453 (false ? (txt) : GFLAGS_NAMESPACE::kStrippedFlagHelp) 455 #define MAYBE_STRIPPED_HELP(txt) txt 469 #define DEFINE_VARIABLE(type, shorttype, name, value, help) \ 470 namespace fL##shorttype { \ 471 static const type FLAGS_nono##name = value; \ 473 GFLAGS_DLL_DEFINE_FLAG type FLAGS_##name = FLAGS_nono##name; \ 474 type FLAGS_no##name = FLAGS_nono##name; \ 475 static GFLAGS_NAMESPACE::FlagRegisterer o_##name( \ 476 #name, #type, MAYBE_STRIPPED_HELP(help), __FILE__, \ 477 &FLAGS_##name, &FLAGS_no##name); \ 479 using fL##shorttype::FLAGS_##name 490 struct CompileAssert {};
492 (
sizeof(double) !=
sizeof(
bool)) ? 1 : -1];
500 #define DEFINE_bool(name, val, txt) \ 502 typedef ::fLB::CompileAssert FLAG_##name##_value_is_not_a_bool[ \ 503 (sizeof(::fLB::IsBoolFlag(val)) != sizeof(double))? 1: -1]; \ 505 DEFINE_VARIABLE(bool, B, name, val, txt) 507 #define DEFINE_int32(name, val, txt) \ 508 DEFINE_VARIABLE(GFLAGS_NAMESPACE::int32, I, \ 511 #define DEFINE_int64(name, val, txt) \ 512 DEFINE_VARIABLE(GFLAGS_NAMESPACE::int64, I64, \ 515 #define DEFINE_uint64(name,val, txt) \ 516 DEFINE_VARIABLE(GFLAGS_NAMESPACE::uint64, U64, \ 519 #define DEFINE_double(name, val, txt) \ 520 DEFINE_VARIABLE(double, D, name, val, txt) 533 return new(stringspot)
clstring(value);
537 return new(stringspot)
clstring(value);
550 #define DEFINE_string(name, val, txt) \ 552 using ::fLS::clstring; \ 553 static union { void* align; char s[sizeof(clstring)]; } s_##name[2]; \ 554 clstring* const FLAGS_no##name = ::fLS:: \ 555 dont_pass0toDEFINE_string(s_##name[0].s, \ 557 static GFLAGS_NAMESPACE::FlagRegisterer o_##name( \ 558 #name, "string", MAYBE_STRIPPED_HELP(txt), __FILE__, \ 559 s_##name[0].s, new (s_##name[1].s) clstring(*FLAGS_no##name)); \ 560 extern GFLAGS_DLL_DEFINE_FLAG clstring& FLAGS_##name; \ 561 using fLS::FLAGS_##name; \ 562 clstring& FLAGS_##name = *FLAGS_no##name; \ 564 using fLS::FLAGS_##name 573 #endif // GFLAGS_GFLAGS_H_ GLsizeiptr const void GLenum usage
Definition: gl2.h:393
std::string description
Definition: gflags.h:157
GFLAGS_DLL_DECL const char * VersionString()
Definition: gflags.cc:1531
GFLAGS_DLL_DECL uint64 Uint64FromEnv(const char *varname, uint64 defval)
Definition: gflags.cc:1812
GFLAGS_DLL_DECL const char * GetArgv0()
Definition: gflags.cc:1492
uint32_t flag
Definition: ssl_lib.c:2732
GFLAGS_DLL_DECL bool GetCommandLineOption(const char *name, std::string *OUTPUT)
GFLAGS_DLL_DECL const char * ProgramInvocationShortName()
Definition: gflags.cc:1497
GFLAGS_DLL_DECL bool RegisterFlagValidator(const bool *flag, bool(*validate_fn)(const char *, bool))
Definition: gflags.cc:1844
GFLAGS_DLL_DECL int32 Int32FromEnv(const char *varname, int32 defval)
Definition: gflags.cc:1806
SET_FLAG_IF_DEFAULT
Definition: gflags.h:227
std::string default_value
Definition: gflags.h:159
GFLAGS_DLL_DECL void HandleCommandLineHelpFlags()
Definition: gflags_reporting.cc:371
GFLAGS_DLL_DECL void GetAllFlags(std::vector< CommandLineFlagInfo > *OUTPUT)
Definition: gflags.cc:1427
GFLAGS_DLL_DECL CommandLineFlagInfo GetCommandLineFlagInfoOrDie(const char *name)
Definition: gflags.cc:1585
bool has_validator_fn
Definition: gflags.h:161
GFLAGS_DLL_DECL std::string SetCommandLineOptionWithMode(const char *name, const char *value, FlagSettingMode set_mode)
Definition: gflags.cc:1594
CompileAssert expected_sizeof_double_neq_sizeof_bool[(sizeof(double) !=sizeof(bool)) ? 1 :-1]
Definition: gflags.h:492
GFLAGS_DLL_DECL std::string CommandlineFlagsIntoString()
Definition: gflags.cc:1728
GFLAGS_DLL_DECL uint32 ParseCommandLineNonHelpFlags(int *argc, char ***argv, bool remove_flags)
Definition: gflags.cc:1918
GFLAGS_DLL_DECL const char * GetArgv()
Definition: gflags.cc:1491
GFLAGS_DLL_DECL const char * ProgramInvocationName()
Definition: gflags.cc:1494
uint16_t version
Definition: ssl_lib.c:2731
std::string clstring
Definition: gflags_declare.h:107
GFLAGS_DLL_DECL bool ReadFlagsFromString(const std::string &flagfilecontents, const char *prog_name, bool errors_are_fatal)
GFLAGS_DLL_DECL void SetArgv(int argc, const char **argv)
Definition: gflags.cc:1463
GFLAGS_DLL_DECL const char * ProgramUsage()
Definition: gflags.cc:1511
std::string name
Definition: gflags.h:155
GFLAGS_DLL_DECL const std::vector< std::string > & GetArgvs()
Definition: gflags.cc:1490
SET_FLAGS_VALUE
Definition: gflags.h:227
std::unique_ptr< ModuleRtpRtcpImpl > impl_
Definition: rtp_rtcp_impl_unittest.cc:125
uint64_t uint64
Definition: angle_config.h:30
std::string type
Definition: gflags.h:156
int64_t int64
Definition: angle_config.h:29
GFLAGS_DLL_DECL const char kStrippedFlagHelp[]
Definition: gflags.h:442
std::string current_value
Definition: gflags.h:158
GFLAGS_DLL_DECL int64 Int64FromEnv(const char *varname, int64 defval)
Definition: gflags.cc:1809
GFLAGS_DLL_DECL void AllowCommandLineReparsing()
Definition: gflags.cc:1936
EGLAttrib * value
Definition: eglext.h:120
GFLAGS_DLL_DECL double DoubleFromEnv(const char *varname, double defval)
Definition: gflags.cc:1815
EGLImageKHR EGLint * name
Definition: eglext.h:851
GFLAGS_DLL_DECL uint32 ParseCommandLineFlags(int *argc, char ***argv, bool remove_flags)
Definition: gflags.cc:1914
GFLAGS_DLL_DECL void ShutDownCommandLineFlags()
Definition: gflags.cc:1955
std::string filename
Definition: gflags.h:160
const char * argv[]
Definition: DumpRenderTree.cpp:1631
#define GFLAGS_DLL_DECL
Definition: gflags_declare.h:53
GFLAGS_DLL_DECL bool AppendFlagsIntoFile(const std::string &filename, const char *prog_name)
GFLAGS_DLL_DECL uint32 GetArgvSum()
Definition: gflags.cc:1493
GFLAGS_DLL_DECL std::string SetCommandLineOption(const char *name, const char *value)
Definition: gflags.cc:1611
clstring * dont_pass0toDEFINE_string(char *stringspot, int value)
EGLenum type
Definition: eglext.h:63
GFLAGS_DLL_DECL bool IsBoolFlag(bool from)
GLsizei const GLchar *const * string
Definition: gl2.h:479
bool is_default
Definition: gflags.h:162
GFLAGS_DLL_DECL void ReparseCommandLineNonHelpFlags()
Definition: gflags.cc:1940
GFLAGS_DLL_DECL void ShowUsageWithFlags(const char *argv0)
Definition: gflags_reporting.cc:306
GFLAGS_DLL_DECL void SetUsageMessage(const std::string &usage)
const void * flag_ptr
Definition: gflags.h:165
GFLAGS_DLL_DECL const char * StringFromEnv(const char *varname, const char *defval)
Definition: gflags.cc:1823
GFLAGS_DLL_DECL bool ReadFromFlagsFile(const std::string &filename, const char *prog_name, bool errors_are_fatal)
GFLAGS_DLL_DECL void SetVersionString(const std::string &version)
GFLAGS_DLL_DECL bool GetCommandLineFlagInfo(const char *name, CommandLineFlagInfo *OUTPUT)
Definition: gflags.cc:1571
GFLAGS_DLL_DECL std::string DescribeOneFlag(const CommandLineFlagInfo &flag)
Definition: gflags_reporting.cc:119
uint32_t uint32
Definition: angle_config.h:28
GFLAGS_DLL_DECL bool BoolFromEnv(const char *varname, bool defval)
Definition: gflags.cc:1803
GFLAGS_DLL_DECL void ShowUsageWithFlagsRestrict(const char *argv0, const char *restrict)
Definition: gflags_reporting.cc:298
int32_t int32
Definition: angle_config.h:27