15 #ifndef NINJA_EVAL_ENV_H_
16 #define NINJA_EVAL_ENV_H_
30 virtual string LookupVariable(
const string& var) = 0;
40 virtual string LookupVariable(
const string& var);
42 void AddBinding(
const string& key,
const string& val);
49 string LookupWithFallback(
const string& var,
const EvalString* eval,
60 string Evaluate(
Env* env)
const;
62 void Clear() { parsed_.clear(); }
63 bool empty()
const {
return parsed_.empty(); }
70 string Serialize()
const;
78 #endif // NINJA_EVAL_ENV_H_
vector< pair< string, TokenType > > TokenList
map< string, string > bindings_
StringPiece represents a slice of a string whose memory is managed externally.
An Env which contains a mapping of variables to values as well as a pointer to a parent scope...
A tokenized string that contains variable references.
An interface for a scope for variable (e.g. "$foo") lookups.