28#ifndef GDALARGUMENTPARSER_H
29#define GDALARGUMENTPARSER_H
36#define argparse gdal_argparse
39#define ARGPARSE_CUSTOM_STRTOD CPLStrtodM
41#include "argparse/argparse.hpp"
43using namespace argparse;
106 bool *store_into =
nullptr,
107 const std::string &help =
"");
110 std::map<std::string, ArgumentParser::argument_it>::iterator
111 find_argument(
const std::string &name);
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:57
Argument & add_inverted_logic_flag(const std::string &name, bool *store_into=nullptr, const std::string &help="")
Add an inverted logic (default true, false when set) flag.
Definition: gdalargumentparser.cpp:342
void add_creation_options_argument(CPLStringList &var)
Add "-co KEY=VALUE" argument for creation options, and store its value into var.
Definition: gdalargumentparser.cpp:165
void display_error_and_usage(const std::exception &err)
Format an exception as an error message and display the program usage.
Definition: gdalargumentparser.cpp:98
void parse_args_without_binary_name(CSLConstList papszArgs)
Parse command line arguments, without the initial program name.
Definition: gdalargumentparser.cpp:238
void add_quiet_argument(bool *pVar)
Add -q/–quiet argument, and store its value in *pVar (if pVar not null)
Definition: gdalargumentparser.cpp:110
GDALArgumentParser(const std::string &program_name, bool bForBinary)
Constructor.
Definition: gdalargumentparser.cpp:40
CPLStringList get_non_positional_arguments(const CPLStringList &aosArgs)
Return the non positional arguments.
Definition: gdalargumentparser.cpp:272
void parse_args(const CPLStringList &aosArgs)
Parse command line arguments, with the initial program name.
Definition: gdalargumentparser.cpp:362
void add_input_format_argument(CPLStringList *pvar)
Add "-if format_name" argument for input format, and store its value into *pvar.
Definition: gdalargumentparser.cpp:126
void add_output_format_argument(std::string &var)
Add "-of format_name" argument for output format, and store its value into var.
Definition: gdalargumentparser.cpp:152
void add_output_type_argument(GDALDataType &eDT)
Add "-ot data_type" argument for output type, and store its value into eDT.
Definition: gdalargumentparser.cpp:217
void add_open_options_argument(CPLStringList &var)
Add "-oo KEY=VALUE" argument for open options, and store its value into var.
Definition: gdalargumentparser.cpp:191
void add_metadata_item_options_argument(CPLStringList &var)
Add "-mo KEY=VALUE" argument for metadata item options, and store its value into var.
Definition: gdalargumentparser.cpp:178
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.
GDALDataType
Definition: gdal.h:64