###

# Boost.Python

## Header <boost/python/tuple.hpp>

## Contents

Introduction
Classes
  Class `tuple`
    Class `tuple` synopsis
Functions
  `make_tuple`
Example

## Introduction

Exposes a TypeWrapper for the Python tuple type.

## Classes

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

#### Class `tuple` synopsis

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

## Functions

### `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);
    }}

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]);
    }

Revised 03 October, 2002

© Copyright Dave Abrahams 2002.