7#include <unordered_map>
9#include <userver/rcu/rcu.hpp>
11USERVER_NAMESPACE_BEGIN
13namespace engine::subprocess {
18 using Map = std::unordered_map<std::string, std::string>;
22 : vars_(std::move(vars))
26 auto begin() {
return vars_.begin(); }
29 auto end() {
return vars_.end(); }
32 auto begin()
const {
return vars_.begin(); }
35 auto end()
const {
return vars_.end(); }
64 const std::string&
GetValue(
const std::string& variable_name)
const;
71 void SetValue(std::string variable_name, std::string value);
74 std::string&
operator[](
const std::string& variable_name);
80 auto empty()
const {
return vars_.empty(); }
83 auto size()
const {
return vars_.size(); }
85 using const_iterator = Map::const_iterator;
86 using iterator = const_iterator;
89 auto begin()
const {
return vars_.begin(); }
92 auto end()
const {
return vars_.end(); }
121 const std::string& variable_name,
122 const std::string& value,
134 EnvironmentVariablesScope();
135 ~EnvironmentVariablesScope();