#include "absl/flags/internal/usage.h"
#include <stdint.h>
#include <algorithm>
#include <cstdlib>
#include <functional>
#include <iterator>
#include <map>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
#include "absl/base/attributes.h"
#include "absl/base/config.h"
#include "absl/base/const_init.h"
#include "absl/base/thread_annotations.h"
#include "absl/flags/commandlineflag.h"
#include "absl/flags/flag.h"
#include "absl/flags/internal/flag.h"
#include "absl/flags/internal/path_util.h"
#include "absl/flags/internal/private_handle_accessor.h"
#include "absl/flags/internal/program_name.h"
#include "absl/flags/internal/registry.h"
#include "absl/flags/usage_config.h"
#include "absl/strings/match.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_split.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include "absl/synchronization/mutex.h"
bool FLAGS_help = …;
bool FLAGS_helpfull = …;
bool FLAGS_helpshort = …;
bool FLAGS_helppackage = …;
bool FLAGS_version = …;
bool FLAGS_only_check_args = …;
bool FLAGS_helpon = …;
bool FLAGS_helpmatch = …;
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace flags_internal {
namespace {
PerFlagFilter;
constexpr size_t kHrfMaxLineLength = …;
class XMLElement { … };
class FlagHelpPrettyPrinter { … };
void FlagHelpHumanReadable(const CommandLineFlag& flag, std::ostream& out) { … }
void FlagsHelpImpl(std::ostream& out, PerFlagFilter filter_cb,
HelpFormat format, absl::string_view program_usage_message) { … }
void FlagsHelpImpl(std::ostream& out,
flags_internal::FlagKindFilter filename_filter_cb,
HelpFormat format, absl::string_view program_usage_message) { … }
}
void FlagHelp(std::ostream& out, const CommandLineFlag& flag,
HelpFormat format) { … }
void FlagsHelp(std::ostream& out, absl::string_view filter, HelpFormat format,
absl::string_view program_usage_message) { … }
HelpMode HandleUsageFlags(std::ostream& out,
absl::string_view program_usage_message) { … }
namespace {
ABSL_CONST_INIT absl::Mutex help_attributes_guard(absl::kConstInit);
ABSL_CONST_INIT std::string* match_substr
ABSL_GUARDED_BY(help_attributes_guard) = …;
ABSL_CONST_INIT HelpMode help_mode ABSL_GUARDED_BY(help_attributes_guard) = …;
ABSL_CONST_INIT HelpFormat help_format ABSL_GUARDED_BY(help_attributes_guard) = …;
}
std::string GetFlagsHelpMatchSubstr() { … }
void SetFlagsHelpMatchSubstr(absl::string_view substr) { … }
HelpMode GetFlagsHelpMode() { … }
void SetFlagsHelpMode(HelpMode mode) { … }
HelpFormat GetFlagsHelpFormat() { … }
void SetFlagsHelpFormat(HelpFormat format) { … }
bool DeduceUsageFlags(absl::string_view name, absl::string_view value) { … }
void MaybeExit(HelpMode mode) { … }
}
ABSL_NAMESPACE_END
}