reference 構造体テンプレート

template<typename T>
struct reference

reference<> は、xpressive の意味アクションで使用できる参照の遅延ラッパである。

テンプレートパラメータ

T -- 参照先の型。

概要

// ヘッダ:<boost/xpressive/regex_actions.hpp>

template<typename T>
struct reference : public proto::extends< proto::terminal< reference_wrapper< T > >::type, reference< T > >
{
  // 構築、コピー、解体
  explicit reference(T &);

  // 公開メンバ関数
  T & get() const;
};

説明

既存のオブジェクトへの遅延参照の作成し、xpressive の意味アクションで読み書きできるようにする方法を示した例である。

using namespace boost::xpressive;
std::map<std::string, int> result;
reference<std::map<std::string, int> > result_ref(result);

// => で区切られた単語と整数の組にマッチし、
// 結果を std::map<> に詰め込む
sregex pair = ( (s1= +_w) >> "=>" >> (s2= +_d) )
    [ result_ref[s1] = as<int>(s2) ];

reference 構築、コピー、解体の公開演算

explicit reference(T &t)

t への参照を格納する。

パラメータ

t -- オブジェクトへの参照

reference の公開メンバ関数

T &get() const

格納した値にアクセスする。