...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::xpressive::op::unwrap_reference — unwrap_reference
is a PolymorphicFunctionObject for unwrapping a boost::reference_wrapper<>
.
// In header: <boost/xpressive/regex_actions.hpp> struct unwrap_reference { // member classes/structs/unions template<typename Sig> struct result { }; template<typename This, typename Ref> struct result<This(Ref &)> { // types typedef boost::unwrap_reference< Ref >::type & type; }; template<typename This, typename Ref> struct result<This(Ref)> { // types typedef boost::unwrap_reference< Ref >::type & type; }; // public member functions template<typename T> T & operator()(boost::reference_wrapper< T >) const; };