diff options
Diffstat (limited to 'src/pointerlist.h')
-rw-r--r-- | src/pointerlist.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/pointerlist.h b/src/pointerlist.h new file mode 100644 index 0000000..7c51ca6 --- /dev/null +++ b/src/pointerlist.h @@ -0,0 +1,26 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details. + +#include <string> +#include <vector> +#include <deque> +#include <utility> + +// Maintains an (owning) list of string args and converts them to argc/argv +// compatible arguments on request. +// The returned pointers are guaranteed to be valid as long as the PointerList +// object lifetime is not exceeded. +class PointerList : + public std::deque<std::string> +{ +public: + PointerList() = default; + PointerList(int argc, const char* argv[]); + + //! Returns argc/argv pair from the current list of args + std::pair<int, const char**> get(); + +private: + std::vector<const char*> argptrs; +}; |