## boost_python_list.hpp

### Introduction

Exposes a TypeWrapper for the Python list type.

### Class `list`

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

    namespace boost { namespace python
    {
      class list : public object
      {
       public:
          list(); // new list

          template <class T>
          explicit list(T const& sequence);

          template <class T>
          void append(T const& x);

          template <class T>
          long count(T const& value) const;

          template <class T>
          void extend(T const& x);

          template <class T>
          long index(T const& x) const;

          template <class T>
          void insert(object const& index, T const& x); // insert object before index

          object pop(); // remove and return item at index (default last)
          object pop(long index);
          object pop(object const& index);

          template <class T>
          void remove(T const& value);

          void reverse(); // reverse *IN PLACE*

          void sort(); //  sort *IN PLACE*; if given, cmpfunc(x, y) -> -1, 0, 1

          template <class T>
          void sort(T const& value);
      };
    }}

### Example

    using namespace boost::python;

    // Return the number of zeroes in the list
    long zeroes(list l)
    {
       return l.count(0);
    }