Defines Proto callables boost::proto::functional::make_pair, boost::proto::functional::first and boost::proto::functional::second. A PolymorphicFunctionObject type that invokes std::make_pair() on its arguments. A PolymorphicFunctionObject type that invokes std::make_pair() on its arguments. proto::callable This(First, Second) std::pair< typename boost::remove_const<typename boost::remove_reference<First>::type>::type , typename boost::remove_const<typename boost::remove_reference<Second>::type>::type > typename std::pair< First, Second > First const & Second const & std::make_pair(first, second) A PolymorphicFunctionObject type that returns the first element of a std::pair<>. A PolymorphicFunctionObject type that returns the first element of a std::pair<>. proto::callable This(Pair) typename Pair::first_type This(Pair &) typename Pair::first_type & This(Pair const &) typename Pair::first_type const & typename Pair::first_type & Pair & pair.first typename Pair::first_type const & Pair const & pair.first A PolymorphicFunctionObject type that returns the second element of a std::pair<>. A PolymorphicFunctionObject type that returns the second element of a std::pair<>. proto::callable This(Pair) typename Pair::second_type This(Pair &) typename Pair::second_type & This(Pair const &) typename Pair::second_type const & typename Pair::second_type & Pair & pair.second typename Pair::second_type const & Pair const & pair.second