Loading...
Searching...
No Matches
PySequenceHolder< T > Class Template Reference

Class to hold sequences (lists, tuples, arrays, etc.) passed from Python -> C++. More...

`#include <PySequenceHolder.h>`

## Public Member Functions

| PySequenceHolder (python::object seq)
unsigned int | size () const
| Returns the size of the contained sequence.
T | operator[] (unsigned int which) const
| Returns an element of the sequence.

## Detailed Description

template<typename T>
class PySequenceHolder< T >

Class to hold sequences (lists, tuples, arrays, etc.) passed from Python -> C++.

PySequenceHolder is templated on the type of the contained object.

The class is lazy: elements are not evaluated until requested within the C++ code.

Definition at line 32 of file PySequenceHolder.h.

## Constructor & Destructor Documentation

## PySequenceHolder()

template<typename T>

PySequenceHolder< T >::PySequenceHolder | ( | python::object | seq | ) |

inline

Definition at line 34 of file PySequenceHolder.h.

## Member Function Documentation

## operator[]()

template<typename T>

T PySequenceHolder< T >::operator[] | ( | unsigned int | which | ) | const

inline

Returns an element of the sequence.

ARGUMENTS:

- which: an integer specifying which element should be returned.

NOTES:

- if the sequence is not which elements long, we raise an `IndexError`
- if the element cannot be converted to type `T`, we raise a `ValueError`

Definition at line 62 of file PySequenceHolder.h.

References POSTCONDITION, and size().

## size()

template<typename T>

unsigned int PySequenceHolder< T >::size | ( |  | ) | const

inline

Returns the size of the contained sequence.

NOTE: the sequence must have a `__len__` attribute, otherwise a `ValueError` will be raised.

Definition at line 41 of file PySequenceHolder.h.

Referenced by operator[]().

The documentation for this class was generated from the following file:

- PySequenceHolder.h