Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ABSL_FLAGS_INTERNAL_PARSE_H_
00017 #define ABSL_FLAGS_INTERNAL_PARSE_H_
00018
00019 #include <string>
00020 #include <vector>
00021
00022 #include "absl/flags/declare.h"
00023
00024 ABSL_DECLARE_FLAG(std::vector<std::string>, flagfile);
00025 ABSL_DECLARE_FLAG(std::vector<std::string>, fromenv);
00026 ABSL_DECLARE_FLAG(std::vector<std::string>, tryfromenv);
00027 ABSL_DECLARE_FLAG(std::vector<std::string>, undefok);
00028
00029 namespace absl {
00030 namespace flags_internal {
00031
00032 enum class ArgvListAction { kRemoveParsedArgs, kKeepParsedArgs };
00033 enum class UsageFlagsAction { kHandleUsage, kIgnoreUsage };
00034 enum class OnUndefinedFlag {
00035 kIgnoreUndefined,
00036 kReportUndefined,
00037 kAbortIfUndefined
00038 };
00039
00040 std::vector<char*> ParseCommandLineImpl(int argc, char* argv[],
00041 ArgvListAction arg_list_act,
00042 UsageFlagsAction usage_flag_act,
00043 OnUndefinedFlag on_undef_flag);
00044
00045 }
00046 }
00047
00048 #endif // ABSL_FLAGS_INTERNAL_PARSE_H_