| Home | Libraries | People | FAQ | More

## Struct insert

boost::xpressive::op::insert — `insert` is a PolymorphicFunctionObject for inserting a value or a sequence of values into a sequence container, an associative container, or a string.

## Synopsis

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

    struct insert {
      // member classes/structs/unions
      template<typename Sig>
      struct result {
        // types
        typedef unspecified type;
      };

      // public member functions
      template<typename Cont, typename A0>
        result< insert(Cont &, A0 const &)>::type
        operator()(Cont &, A0 const &) const;
      template<typename Cont, typename A0, typename A1>
        result< insert(Cont &, A0 const &, A1 const &)>::type
        operator()(Cont &, A0 const &, A1 const &) const;
      template<typename Cont, typename A0, typename A1, typename A2>
        result< insert(Cont &, A0 const &, A1 const &, A2 const &)>::type
        operator()(Cont &, A0 const &, A1 const &, A2 const &) const;
      template<typename Cont, typename A0, typename A1, typename A2, typename A3>
        result< insert(Cont &, A0 const &, A1 const &, A2 const &, A3 const &)>::type
        operator()(Cont &, A0 const &, A1 const &, A2 const &, A3 const &) const;
    };

## Description

### `insert` public member functions

1.     template<typename Cont, typename A0>
         result< insert(Cont &, A0 const &)>::type
         operator()(Cont & cont, 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.

2.     template<typename Cont, typename A0, typename A1>
         result< insert(Cont &, A0 const &, A1 const &)>::type
         operator()(Cont & cont, 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.

3.     template<typename Cont, typename A0, typename A1, typename A2>
         result< insert(Cont &, A0 const &, A1 const &, A2 const &)>::type
         operator()(Cont & cont, A0 const & a0, A1 const & a1, A2 const & a2) 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 Cont, typename A0, typename A1, typename A2, typename A3>
         result< insert(Cont &, A0 const &, A1 const &, A2 const &, A3 const &)>::type
         operator()(Cont & cont, A0 const & a0, A1 const & a1, A2 const & a2,
                    A3 const & a3) const;

   Parameters:

   `a0` | A value, iterator, or count
   `a1` | A value, iterator, string, count, or character
   `a2` | A value, iterator, or count
   `a3` | A count
   `cont` | The container into which to insert the element(s)

   Returns:

   - For the form `insert()(cont, a0)`, return `cont.insert(a0)`.

   - For the form `insert()(cont, a0, a1)`, return `cont.insert(a0, a1)`.

   - For the form `insert()(cont, a0, a1, a2)`, return `cont.insert(a0, a1, a2)`.

   - For the form `insert()(cont, a0, a1, a2, a3)`, return `cont.insert(a0, a1, a2, a3)`.