...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::construct — `construct<>`

is a PolymorphicFunctionObject for constructing a new object.

// In header: <boost/xpressive/regex_actions.hpp> template<typename T> struct construct { // types typedef T result_type; // public member functions T operator()() const; template<typename A0> T operator()(A0 const &) const; template<typename A0, typename A1> T operator()(A0 const &, A1 const &) const; template<typename A0, typename A1, typename A2> T operator()(A0 const &, A1 const &, A2 const &) const; };

`construct`

public member functions-
T operator()() const;

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -
template<typename A0> T operator()(A0 const & a0) const;

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -
template<typename A0, typename A1> T operator()(A0 const & a0, A1 const & a1) const;

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. -
template<typename A0, typename A1, typename A2> T operator()(A0 const & a0, A1 const & a1, A2 const & a2) const;

Parameters:

`a0`

The first argument to the constructor

`a1`

The second argument to the constructor

`a2`

The third argument to the constructor

Returns:

`T(a0,a1,...)`