| /* -*- Mode: C++; tab-width: 8; c-basic-offset: 2; indent-tabs-mode: nil; -*- */ |
| |
| #ifndef RR_STRING_VECTOR_TO_CHAR_ARRAY_H_ |
| #define RR_STRING_VECTOR_TO_CHAR_ARRAY_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| namespace rr { |
| |
| /** |
| * Converts a vector of strings to a POSIX-style array of char*s terminated |
| * by a nullptr. |
| */ |
| class StringVectorToCharArray { |
| public: |
| StringVectorToCharArray(const std::vector<std::string>& vs) { |
| for (auto& v : vs) { |
| array.push_back(const_cast<char*>(v.c_str())); |
| } |
| array.push_back(nullptr); |
| } |
| char** get() { return array.data(); } |
| |
| private: |
| std::vector<char*> array; |
| }; |
| |
| } // namespace rr |
| |
| #endif |