Revert "Added const to argv type for better interoperability. (#99)"
This reverts commit 0f819a5cab.
This commit is contained in:
parent
0fe1dc892b
commit
cc4914f065
@ -1095,7 +1095,7 @@ namespace cxxopts
|
|||||||
ParseResult(
|
ParseResult(
|
||||||
const std::unordered_map<std::string, std::shared_ptr<OptionDetails>>&,
|
const std::unordered_map<std::string, std::shared_ptr<OptionDetails>>&,
|
||||||
std::vector<std::string>,
|
std::vector<std::string>,
|
||||||
int&, const char**&);
|
int&, char**&);
|
||||||
|
|
||||||
size_t
|
size_t
|
||||||
count(const std::string& o) const
|
count(const std::string& o) const
|
||||||
@ -1138,7 +1138,7 @@ namespace cxxopts
|
|||||||
get_option(std::shared_ptr<OptionDetails>);
|
get_option(std::shared_ptr<OptionDetails>);
|
||||||
|
|
||||||
void
|
void
|
||||||
parse(int& argc, const char**& argv);
|
parse(int& argc, char**& argv);
|
||||||
|
|
||||||
void
|
void
|
||||||
add_to_option(const std::string& option, const std::string& arg);
|
add_to_option(const std::string& option, const std::string& arg);
|
||||||
@ -1161,7 +1161,7 @@ namespace cxxopts
|
|||||||
checked_parse_arg
|
checked_parse_arg
|
||||||
(
|
(
|
||||||
int argc,
|
int argc,
|
||||||
const char* argv[],
|
char* argv[],
|
||||||
int& current,
|
int& current,
|
||||||
std::shared_ptr<OptionDetails> value,
|
std::shared_ptr<OptionDetails> value,
|
||||||
const std::string& name
|
const std::string& name
|
||||||
@ -1213,7 +1213,7 @@ namespace cxxopts
|
|||||||
}
|
}
|
||||||
|
|
||||||
ParseResult
|
ParseResult
|
||||||
parse(int& argc, const char**& argv);
|
parse(int& argc, char**& argv);
|
||||||
|
|
||||||
OptionAdder
|
OptionAdder
|
||||||
add_options(std::string group = "");
|
add_options(std::string group = "");
|
||||||
@ -1431,7 +1431,7 @@ ParseResult::ParseResult
|
|||||||
(
|
(
|
||||||
const std::unordered_map<std::string, std::shared_ptr<OptionDetails>>& options,
|
const std::unordered_map<std::string, std::shared_ptr<OptionDetails>>& options,
|
||||||
std::vector<std::string> positional,
|
std::vector<std::string> positional,
|
||||||
int& argc, const char**& argv
|
int& argc, char**& argv
|
||||||
)
|
)
|
||||||
: m_options(options)
|
: m_options(options)
|
||||||
, m_positional(std::move(positional))
|
, m_positional(std::move(positional))
|
||||||
@ -1532,7 +1532,7 @@ void
|
|||||||
ParseResult::checked_parse_arg
|
ParseResult::checked_parse_arg
|
||||||
(
|
(
|
||||||
int argc,
|
int argc,
|
||||||
const char* argv[],
|
char* argv[],
|
||||||
int& current,
|
int& current,
|
||||||
std::shared_ptr<OptionDetails> value,
|
std::shared_ptr<OptionDetails> value,
|
||||||
const std::string& name
|
const std::string& name
|
||||||
@ -1639,7 +1639,7 @@ Options::parse_positional(std::initializer_list<std::string> options)
|
|||||||
|
|
||||||
inline
|
inline
|
||||||
ParseResult
|
ParseResult
|
||||||
Options::parse(int& argc, const char**& argv)
|
Options::parse(int& argc, char**& argv)
|
||||||
{
|
{
|
||||||
ParseResult result(m_options, m_positional, argc, argv);
|
ParseResult result(m_options, m_positional, argc, argv);
|
||||||
return result;
|
return result;
|
||||||
@ -1647,7 +1647,7 @@ Options::parse(int& argc, const char**& argv)
|
|||||||
|
|
||||||
inline
|
inline
|
||||||
void
|
void
|
||||||
ParseResult::parse(int& argc, const char**& argv)
|
ParseResult::parse(int& argc, char**& argv)
|
||||||
{
|
{
|
||||||
int current = 1;
|
int current = 1;
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,7 @@ THE SOFTWARE.
|
|||||||
|
|
||||||
#include "cxxopts.hpp"
|
#include "cxxopts.hpp"
|
||||||
|
|
||||||
int main(int argc, const char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8,7 +8,7 @@ class Argv {
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
Argv(std::initializer_list<const char*> args)
|
Argv(std::initializer_list<const char*> args)
|
||||||
: m_argv(new const char*[args.size()])
|
: m_argv(new char*[args.size()])
|
||||||
, m_argc(args.size())
|
, m_argc(args.size())
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@ -26,7 +26,7 @@ class Argv {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char** argv() const {
|
char** argv() const {
|
||||||
return m_argv.get();
|
return m_argv.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,8 +36,8 @@ class Argv {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
std::vector<std::unique_ptr<const char[]>> m_args;
|
std::vector<std::unique_ptr<char[]>> m_args;
|
||||||
std::unique_ptr<const char*[]> m_argv;
|
std::unique_ptr<char*[]> m_argv;
|
||||||
int m_argc;
|
int m_argc;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ TEST_CASE("Basic options", "[options]")
|
|||||||
"--space",
|
"--space",
|
||||||
});
|
});
|
||||||
|
|
||||||
const char** actual_argv = argv.argv();
|
char** actual_argv = argv.argv();
|
||||||
auto argc = argv.argc();
|
auto argc = argv.argc();
|
||||||
|
|
||||||
auto result = options.parse(argc, actual_argv);
|
auto result = options.parse(argc, actual_argv);
|
||||||
@ -122,7 +122,7 @@ TEST_CASE("No positional", "[positional]")
|
|||||||
|
|
||||||
Argv av({"tester", "a", "b", "def"});
|
Argv av({"tester", "a", "b", "def"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
auto result = options.parse(argc, argv);
|
auto result = options.parse(argc, argv);
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ TEST_CASE("Some positional explicit", "[positional]")
|
|||||||
|
|
||||||
Argv av({"tester", "--output", "a", "b", "c", "d"});
|
Argv av({"tester", "--output", "a", "b", "c", "d"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
auto result = options.parse(argc, argv);
|
auto result = options.parse(argc, argv);
|
||||||
@ -198,7 +198,7 @@ TEST_CASE("No positional with extras", "[positional]")
|
|||||||
|
|
||||||
Argv av({"extras", "--", "a", "b", "c", "d"});
|
Argv av({"extras", "--", "a", "b", "c", "d"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
auto old_argv = argv;
|
auto old_argv = argv;
|
||||||
@ -220,7 +220,7 @@ TEST_CASE("Empty with implicit value", "[implicit]")
|
|||||||
|
|
||||||
Argv av({"implicit", "--implicit="});
|
Argv av({"implicit", "--implicit="});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
auto result = options.parse(argc, argv);
|
auto result = options.parse(argc, argv);
|
||||||
@ -239,7 +239,7 @@ TEST_CASE("Default values", "[default]")
|
|||||||
SECTION("Sets defaults") {
|
SECTION("Sets defaults") {
|
||||||
Argv av({"implicit"});
|
Argv av({"implicit"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
auto result = options.parse(argc, argv);
|
auto result = options.parse(argc, argv);
|
||||||
@ -250,7 +250,7 @@ TEST_CASE("Default values", "[default]")
|
|||||||
SECTION("When values provided") {
|
SECTION("When values provided") {
|
||||||
Argv av({"implicit", "--default", "5"});
|
Argv av({"implicit", "--default", "5"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
auto result = options.parse(argc, argv);
|
auto result = options.parse(argc, argv);
|
||||||
@ -285,7 +285,7 @@ TEST_CASE("Integers", "[options]")
|
|||||||
|
|
||||||
Argv av({"ints", "--", "5", "6", "-6", "0", "0xab", "0xAf", "0x0"});
|
Argv av({"ints", "--", "5", "6", "-6", "0", "0xab", "0xAf", "0x0"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
options.parse_positional("positional");
|
options.parse_positional("positional");
|
||||||
@ -312,7 +312,7 @@ TEST_CASE("Unsigned integers", "[options]")
|
|||||||
|
|
||||||
Argv av({"ints", "--", "-2"});
|
Argv av({"ints", "--", "-2"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
options.parse_positional("positional");
|
options.parse_positional("positional");
|
||||||
@ -385,7 +385,7 @@ TEST_CASE("Floats", "[options]")
|
|||||||
|
|
||||||
Argv av({"floats", "--double", "0.5", "--", "4", "-4", "1.5e6", "-1.5e6"});
|
Argv av({"floats", "--double", "0.5", "--", "4", "-4", "1.5e6", "-1.5e6"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
options.parse_positional("positional");
|
options.parse_positional("positional");
|
||||||
@ -410,7 +410,7 @@ TEST_CASE("Invalid integers", "[integer]") {
|
|||||||
|
|
||||||
Argv av({"ints", "--", "Ae"});
|
Argv av({"ints", "--", "Ae"});
|
||||||
|
|
||||||
const char **argv = av.argv();
|
char **argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
options.parse_positional("positional");
|
options.parse_positional("positional");
|
||||||
@ -433,7 +433,7 @@ TEST_CASE("Booleans", "[boolean]") {
|
|||||||
|
|
||||||
Argv av({"booleans", "--bool=false", "--debug=true", "--timing", "extra"});
|
Argv av({"booleans", "--bool=false", "--debug=true", "--timing", "extra"});
|
||||||
|
|
||||||
const char** argv = av.argv();
|
char** argv = av.argv();
|
||||||
auto argc = av.argc();
|
auto argc = av.argc();
|
||||||
|
|
||||||
auto result = options.parse(argc, argv);
|
auto result = options.parse(argc, argv);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user