grpc
third_party
abseil-cpp
absl
flags
internal
abseil-cpp/absl/flags/internal/parse.h
Go to the documentation of this file.
1
//
2
// Copyright 2019 The Abseil Authors.
3
//
4
// Licensed under the Apache License, Version 2.0 (the "License");
5
// you may not use this file except in compliance with the License.
6
// You may obtain a copy of the License at
7
//
8
// https://www.apache.org/licenses/LICENSE-2.0
9
//
10
// Unless required by applicable law or agreed to in writing, software
11
// distributed under the License is distributed on an "AS IS" BASIS,
12
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
// See the License for the specific language governing permissions and
14
// limitations under the License.
15
16
#ifndef ABSL_FLAGS_INTERNAL_PARSE_H_
17
#define ABSL_FLAGS_INTERNAL_PARSE_H_
18
19
#include <string>
20
#include <vector>
21
22
#include "absl/base/config.h"
23
#include "absl/flags/declare.h"
24
#include "absl/strings/string_view.h"
25
26
ABSL_DECLARE_FLAG
(std::vector<std::string>, flagfile);
27
ABSL_DECLARE_FLAG
(std::vector<std::string>, fromenv);
28
ABSL_DECLARE_FLAG
(std::vector<std::string>, tryfromenv);
29
ABSL_DECLARE_FLAG
(std::vector<std::string>, undefok);
30
31
namespace
absl
{
32
ABSL_NAMESPACE_BEGIN
33
namespace
flags_internal {
34
35
enum class
ArgvListAction
{
kRemoveParsedArgs
,
kKeepParsedArgs
};
36
enum class
UsageFlagsAction
{
kHandleUsage
,
kIgnoreUsage
};
37
enum class
OnUndefinedFlag
{
38
kIgnoreUndefined
,
39
kReportUndefined
,
40
kAbortIfUndefined
41
};
42
43
std::vector<char*>
ParseCommandLineImpl
(
int
argc,
char
* argv[],
44
ArgvListAction
arg_list_act,
45
UsageFlagsAction
usage_flag_act,
46
OnUndefinedFlag
on_undef_flag);
47
48
// --------------------------------------------------------------------
49
// Inspect original command line
50
51
// Returns true if flag with specified name was either present on the original
52
// command line or specified in flag file present on the original command line.
53
bool
WasPresentOnCommandLine
(
absl::string_view
flag_name);
54
55
}
// namespace flags_internal
56
ABSL_NAMESPACE_END
57
}
// namespace absl
58
59
#endif // ABSL_FLAGS_INTERNAL_PARSE_H_
absl::flags_internal::UsageFlagsAction::kIgnoreUsage
@ kIgnoreUsage
absl::string_view
Definition:
abseil-cpp/absl/strings/string_view.h:167
absl::flags_internal::OnUndefinedFlag
OnUndefinedFlag
Definition:
abseil-cpp/absl/flags/internal/parse.h:37
absl::flags_internal::ArgvListAction
ArgvListAction
Definition:
abseil-cpp/absl/flags/internal/parse.h:35
ABSL_NAMESPACE_END
#define ABSL_NAMESPACE_END
Definition:
third_party/abseil-cpp/absl/base/config.h:171
absl::flags_internal::ParseCommandLineImpl
std::vector< char * > ParseCommandLineImpl(int argc, char *argv[], ArgvListAction arg_list_act, UsageFlagsAction usage_flag_act, OnUndefinedFlag on_undef_flag)
Definition:
abseil-cpp/absl/flags/parse.cc:608
ABSL_NAMESPACE_BEGIN
#define ABSL_NAMESPACE_BEGIN
Definition:
third_party/abseil-cpp/absl/base/config.h:170
absl::flags_internal::OnUndefinedFlag::kAbortIfUndefined
@ kAbortIfUndefined
absl::flags_internal::ArgvListAction::kRemoveParsedArgs
@ kRemoveParsedArgs
absl::flags_internal::UsageFlagsAction
UsageFlagsAction
Definition:
abseil-cpp/absl/flags/internal/parse.h:36
absl::flags_internal::OnUndefinedFlag::kIgnoreUndefined
@ kIgnoreUndefined
absl::flags_internal::WasPresentOnCommandLine
bool WasPresentOnCommandLine(absl::string_view flag_name)
Definition:
abseil-cpp/absl/flags/parse.cc:597
absl
Definition:
abseil-cpp/absl/algorithm/algorithm.h:31
absl::flags_internal::UsageFlagsAction::kHandleUsage
@ kHandleUsage
absl::flags_internal::ArgvListAction::kKeepParsedArgs
@ kKeepParsedArgs
ABSL_DECLARE_FLAG
ABSL_DECLARE_FLAG(std::vector< std::string >, flagfile)
absl::flags_internal::OnUndefinedFlag::kReportUndefined
@ kReportUndefined
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:39