expand_variable その2
変数の展開処理がほぼ実装完了しました。
- 変数展開修飾子E,T,W,P,Jを実装
- $(1)〜$(9)、$(<)、$(>)に対応
variable_expansion.cppの差分
expand_variable_test.cppの差分
残りは、TMPDIRやTMPNAME等の組み込みの変数だけです。
現在、変数テーブルから値を取得するインタフェースが、
typedef std::vector<std::string> list_type; class variable_table { public: const list_type& get_values(const std::string& name) const; // ... };
となっているため、呼ぶたびに値が変わるTMPNAMEを扱えず悩んでいます。
文脈によっては二つ以上の参照を同時に扱う可能性もあるのでmutableはダメです。
値返しは論外なので、戻り値をshared_ptrにするか、expand_variableの中で別処理にするか、ですね。