From 5b2974cd16b5d2841b72c7d0cc4a34469a8ded5b Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 30 Nov 2018 10:48:44 +0100 Subject: core: implement basic XDG Base Specification support --- src/environment.hpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/environment.hpp (limited to 'src/environment.hpp') diff --git a/src/environment.hpp b/src/environment.hpp new file mode 100644 index 0000000..a6322cb --- /dev/null +++ b/src/environment.hpp @@ -0,0 +1,39 @@ +#ifndef WANDA_ENVIRONMENT_HPP +#define WANDA_ENVIRONMENT_HPP + +#include + +#include +#include + +namespace wanda +{ + +struct environment +{ + using map_type = std::map; + using iterator = map_type::iterator; + using const_iterator = map_type::const_iterator; + using reference = map_type::reference; + using const_reference = map_type::const_reference; + + explicit environment(char const *const *env = ::environ); + + std::string &operator[](std::string const &variable); + std::string const &operator[](std::string const &variable) const; + + iterator begin(); + const_iterator begin() const; + const_iterator cbegin() const; + + iterator end(); + const_iterator end() const; + const_iterator cend() const; + + private: + map_type m_cache{}; +}; + +} // namespace wanda + +#endif \ No newline at end of file -- cgit v1.2.3