28 #ifndef GDALARGUMENTPARSER_H
29 #define GDALARGUMENTPARSER_H
37 #define argparse gdal_argparse
40 #define ARGPARSE_CUSTOM_STRTOD CPLStrtodM
45 #pragma warning(disable : 4702)
48 #include "argparse/argparse.hpp"
54 using namespace argparse;
75 std::string usage()
const;
78 void add_extra_usage_hint(
const std::string &osExtraUsageHint);
81 void display_error_and_usage(
const std::exception &err);
84 Argument &add_quiet_argument(
bool *pVar);
90 Argument &add_output_format_argument(std::string &var);
96 Argument &add_metadata_item_options_argument(
CPLStringList &var);
108 Argument &add_layer_creation_options_argument(
CPLStringList &var);
111 Argument &add_dataset_creation_options_argument(
CPLStringList &var);
114 void parse_args_without_binary_name(
CSLConstList papszArgs);
128 Argument &add_inverted_logic_flag(
const std::string &name,
129 bool *store_into =
nullptr,
130 const std::string &help =
"");
154 bool is_used_globally(
const std::string &name);
157 std::map<std::string, ArgumentParser::argument_it>::iterator
158 find_argument(
const std::string &name);
159 std::vector<std::unique_ptr<GDALArgumentParser>> aoSubparsers;
160 std::string m_osExtraUsageHint{};
String list class designed around our use of C "char**" string lists.
Definition: cpl_string.h:449
Parse command-line arguments for GDAL utilities.
Definition: gdalargumentparser.h:68
Various convenience functions for CPL.
Core portability definitions for CPL.
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1183
Various convenience functions for working with strings and string lists.
Public (C callable) GDAL entry points.
GDALDataType
Definition: gdal.h:64