27#ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_ENVIRONMENT_H_
28#define ELEMENTSKERNEL_ELEMENTSKERNEL_ENVIRONMENT_H_
defines the macros to be used for explicit export of the symbols
proxy class to overload the assignment
Variable & operator=(const Variable &other)
Variable & set(const std::string &)
std::string value() const
Variable & operator+=(const std::string &)
std::reference_wrapper< Environment > m_env
a copiable and movable reference
Variable & prepend(const std::string &)
std::string m_index
The Name of the variable.
Variable & append(const std::string &)
void checkCompatibility(const Variable &)
Variable operator+(const std::string &)
const std::string & index() const
Environment & env() const
std::vector< std::string > m_added_variables
variable added to the environment
std::string get(const std::string &index, const std::string &default_value="") const
Variable operator[](const std::string &)
Environment(bool keep_same=true)
default constructor
std::map< std::string, std::string > m_old_values
old value for changed variables
static bool hasKey(const std::string &)
Environment & set(const std::string &, const std::string &)
Environment & append(const std::string &, const std::string &)
Environment & unSet(const std::string &)
Environment & prepend(const std::string &, const std::string &)
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
ELEMENTS_API Environment::Variable operator+(const std::string &, const Environment::Variable &)
ELEMENTS_API std::ostream & operator<<(std::ostream &, const Environment::Variable &)