35 #ifndef BLOCXX_ENVVARS_HPP__
36 #define BLOCXX_ENVVARS_HPP__
38 #include "blocxx/BLOCXX_config.h"
49 class BLOCXX_COMMON_API EnvVars
52 typedef Map<String, String> EnvMap;
53 typedef EnvMap::const_iterator const_iterator;
57 E_CURRENT_ENVIRONMENT,
65 EnvVars(EEnvVarFlag flag=E_EMPTY_ENVIRONMENT);
82 template <
class InputIterator>
83 inline EnvVars(EEnvVarFlag flag,
84 InputIterator first, InputIterator last)
88 if( flag == E_CURRENT_ENVIRONMENT)
90 for( ; first != last; ++first)
91 setVar(first->first.c_str(), first->second.c_str());
101 EnvVars(
const char*
const envp[]);
106 EnvVars(
const EnvVars& arg);
117 EnvVars& operator= (
const EnvVars& arg);
127 const char*
const* getenvp()
const;
134 return m_envMap.size();
146 String getValue(
const String& key,
const String& notFoundRetVal=String())
const;
153 bool removeVar(
const String& key);
192 return m_envMap.begin();
199 const_iterator end()
const
201 return m_envMap.end();
205 void deleteEnvp()
const;
206 static void fillEnvMap(EnvMap& envMap);
207 static void fillEnvMap(
const char*
const envp[], EnvMap& envMap);
217 struct CstrArr<EnvVars>
219 char const *
const *
sarr;
232 #endif // BLOCXX_ENVVARS_HPP__