Struct template reference
boost::xpressive::reference — reference<> is a lazy wrapper for a reference that can be used in xpressive semantic actions.
Synopsis
template<typename T>
struct reference : public proto::extends< proto::terminal< reference_wrapper< T > >::type, reference< T > >
{
explicit reference(T &);
T & get() const;
};
Description
Вот пример того, как использовать reference<>, чтобы создать ленивую ссылку на существующий объект, чтобы его можно было прочитать и написать в хпрессивном семантическом действии.
using namespace boost::xpressive;
std::map<std::string, int> result;
reference<std::map<std::string, int> > result_ref(result);
sregex pair = ( (s1= +_w) >> "=>" >> (s2= +_d) )
[ result_ref[s1] = as<int>(s2) ];
reference
public
construct/copy/destruct