| Home | Libraries | People | FAQ | More

## Struct template construct

boost::xpressive::op::construct — `construct<>` is a PolymorphicFunctionObject for constructing a new object.

## Synopsis

    // In header: <boost/xpressive/xpressive_fwd.hpp>

    template<typename T>
    struct construct {

      // 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;
    };

## Description

### Template Parameters

1.     typename T

   The type of the object to construct.

### `construct` public member functions

1.     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.

2.     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.

3.     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.

4.     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,...)`