...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::make_pair — make_pair
is a PolymorphicFunctionObject for building a std::pair
out of two parameters
// In header: <boost/xpressive/regex_actions.hpp> struct make_pair { // member classes/structs/unions template<typename Sig> struct result { }; template<typename This, typename First, typename Second> struct result<This(First, Second)> { // types typedef decay< First >::type first_type; // For exposition only. typedef decay< Second >::type second_type; // For exposition only. typedef std::pair< first_type, second_type > type; }; // public member functions template<typename First, typename Second> std::pair< First, Second > operator()(First const &, Second const &) const; };