Elements
5.8
A C++ base framework for the Euclid Software.
|
#include <Environment.h>
Classes | |
class | Variable |
proxy class to overload the assignment More... | |
Public Types | |
enum | ShellType { sh, csh } |
Public Member Functions | |
Environment (bool keep_same=true) | |
virtual | ~Environment () |
Variable | operator[] (const std::string &) |
const Variable | operator[] (const std::string &index) const |
Environment & | restore () |
Environment & | set (const std::string &, const std::string &) |
Environment & | unSet (const std::string &) |
Environment & | append (const std::string &, const std::string &) |
Environment & | prepend (const std::string &, const std::string &) |
std::string | get (const std::string &index, const std::string &default_value="") const |
void | commit () |
std::string | generateScript (ShellType) const |
Static Public Member Functions | |
static bool | hasKey (const std::string &) |
Static Private Member Functions | |
static void | checkOutOfRange (const std::string &) |
check that the variable is in the environment More... | |
Private Attributes | |
std::map< std::string, std::string > | m_old_values |
old value for changed variables More... | |
bool | m_keep_same |
std::vector< std::string > | m_added_variables |
variable added to the environment More... | |
Definition at line 43 of file Environment.h.
Enumerator | |
---|---|
sh | |
csh |
Definition at line 97 of file Environment.h.
|
explicit |
Definition at line 174 of file Environment.cpp.
|
virtual |
Definition at line 195 of file Environment.cpp.
References restore().
Environment & Elements::Environment::append | ( | const std::string & | index, |
const std::string & | value | ||
) |
Definition at line 248 of file Environment.cpp.
References set().
Referenced by Elements::Environment::Variable::operator+=().
|
staticprivate |
check that the variable is in the environment
Definition at line 318 of file Environment.cpp.
References hasKey(), and std::stringstream::str().
Referenced by unSet().
void Elements::Environment::commit | ( | ) |
Definition at line 282 of file Environment.cpp.
References m_added_variables, and m_old_values.
string Elements::Environment::generateScript | ( | Environment::ShellType | type | ) | const |
Definition at line 289 of file Environment.cpp.
References hasKey(), m_added_variables, and m_old_values.
string Elements::Environment::get | ( | const std::string & | index, |
const std::string & | default_value = "" |
||
) | const |
Definition at line 266 of file Environment.cpp.
References Elements::System::getEnv(), and hasKey().
|
static |
Definition at line 276 of file Environment.cpp.
References Elements::System::isEnvSet().
Referenced by checkOutOfRange(), generateScript(), get(), set(), and Elements::TempPath::~TempPath().
Environment::Variable Elements::Environment::operator[] | ( | const std::string & | index | ) |
Definition at line 199 of file Environment.cpp.
const Environment::Variable Elements::Environment::operator[] | ( | const std::string & | index | ) | const |
Definition at line 205 of file Environment.cpp.
Environment & Elements::Environment::prepend | ( | const std::string & | index, |
const std::string & | value | ||
) |
Definition at line 257 of file Environment.cpp.
References set().
Environment & Elements::Environment::restore | ( | ) |
Definition at line 179 of file Environment.cpp.
References m_added_variables, m_old_values, Elements::System::setEnv(), and Elements::System::unSetEnv().
Referenced by ~Environment().
Environment & Elements::Environment::set | ( | const std::string & | index, |
const std::string & | value | ||
) |
Definition at line 211 of file Environment.cpp.
References std::map< K, T >::end(), std::map< K, T >::find(), Elements::System::getEnv(), hasKey(), m_added_variables, m_keep_same, m_old_values, std::vector< T >::push_back(), and Elements::System::setEnv().
Referenced by append(), Elements::Environment::Variable::operator=(), and prepend().
Environment & Elements::Environment::unSet | ( | const std::string & | index | ) |
Definition at line 229 of file Environment.cpp.
References std::vector< T >::begin(), checkOutOfRange(), std::map< K, T >::end(), std::vector< T >::end(), std::vector< T >::erase(), std::find(), std::map< K, T >::find(), Elements::System::getEnv(), m_added_variables, m_old_values, and Elements::System::unSetEnv().
|
private |
variable added to the environment
Definition at line 114 of file Environment.h.
Referenced by commit(), generateScript(), restore(), set(), and unSet().
|
private |
Definition at line 111 of file Environment.h.
Referenced by set().
|
private |
old value for changed variables
Definition at line 109 of file Environment.h.
Referenced by commit(), generateScript(), restore(), set(), and unSet().