## boost/python/tuple.hpp

### Introduction

Exposes a TypeWrapper for the Python http://www.python.org/doc/current/tut/node7.html#SECTION007300000000000000000%60tuple%60 type.

### Class `tuple`

Exposes the interface of Python's built-in tuple type. The semantics of the constructors and member functions defined below can be fully understood by reading the TypeWrapper concept definition. Since tuple is publicly derived from `object`, the public `object` interface applies to `tuple` instances as well.

    namespace boost { namespace python
    {
       class tuple : public object
       {
          // tuple() -> an empty tuple
          tuple();

          // tuple(sequence) -> tuple initialized from sequence's items
          template <class T>
          explicit tuple(T const& sequence)
      };
    }}

### Function `make_tuple`

    namespace boost { namespace python
    {
      tuple make_tuple();

      template <class A0>
      tuple make_tuple(A0 const& a0);

      template <class A0, class A1>
      tuple make_tuple(A0 const& a0, A1 const& a1);
      ...
      template <class A0, class A1,...class An>
      tuple make_tuple(A0 const& a0, A1 const& a1,...An const& an);
    }}

Effect

  Constructs a new tuple object composed of `object(a0), object(a0),...object(an)`.

### Example

    using namespace boost::python;
    tuple head_and_tail(object sequence)
    {
        return make_tuple(sequence[0],sequence[-1]);
    }