get_variable_values

昨日の参照を返せない問題は、次のインタフェースで簡単に解決できました。

typedef std::vector<std::string> list_type;

const list_type& get_variable_values(
    list_type& buf,             // 組み込み変数の場合に使うバッファ
    const std::string& name,    // 変数の名前
    const variable_table& table // 変数テーブル
);

戻り値はbufかtable中のエントリへの参照になります。
変数がtableに登録されている場合はbufを無視するので、余計なコピーも発生しません。
う〜ん、なんでこんな単純なことに気が付かなかったんだろう、、、。


というわけで変数展開の処理はひとまず終了です。
今日の差分