12#ifndef OPENVPN_COMMON_ARGV_H
13#define OPENVPN_COMMON_ARGV_H
22class Argv :
public std::vector<std::string>
25 Argv(
const size_t capacity = 16)
34 for (
const auto &s : *
this)
53 for (i = 0; i <
argc; ++i)
102 const char *sdata = s.c_str();
103 const size_t slen = s.length();
104 char *
ret =
new char[slen + 1];
105 std::memcpy(
ret, sdata, slen);
112 for (
size_t i = 0; i <
argc; ++i)
static char * string_alloc(const std::string &s)
ArgvWrapper & operator=(const ArgvWrapper &)=delete
size_t c_argc() const noexcept
char ** c_argv() noexcept
ArgvWrapper(const std::vector< std::string > &argv)
ArgvWrapper(ArgvWrapper &&rhs) noexcept
ArgvWrapper(const ArgvWrapper &)=delete
ArgvWrapper & operator=(ArgvWrapper &&rhs) noexcept
char *const * c_argv() const noexcept
std::string to_string() const
Argv(const size_t capacity=16)