LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Static Public Member Functions | List of all members
ndarray::PyConverter< T > Struct Template Reference

A class providing Python conversion functions for T. More...

#include <PyConverter.h>

Inheritance diagram for ndarray::PyConverter< T >:
ndarray::detail::PyConverterBase< T >

Static Public Member Functions

static PyObject * toPython (T const &input)
 Convert a C++ object to a new Python object. More...
 
static PyTypeObject const * getPyType ()
 Return the Python TypeObject that corresponds to the object the toPython() function returns. More...
 
static bool fromPythonStage1 (PyPtr &p)
 Check if a Python object is convertible to T and optionally begin the conversion by replacing the input with an intermediate. More...
 
static bool fromPythonStage2 (PyPtr const &p, T &output)
 Complete a Python to C++ conversion begun with fromPythonStage1(). More...
 
- Static Public Member Functions inherited from ndarray::detail::PyConverterBase< T >
static bool matches (PyObject *arg)
 Check if a Python object might be convertible to T. More...
 
static int fromPython (PyObject *arg, T *output)
 Convert a Python object to a C++ object. More...
 

Detailed Description

template<typename T>
struct ndarray::PyConverter< T >

A class providing Python conversion functions for T.

Undocumented specializations exist for bool, int, long, float, double, std::complex, and std::string.

Definition at line 50 of file PyConverter.h.

Member Function Documentation

template<typename T >
static bool ndarray::PyConverter< T >::fromPythonStage1 ( PyPtr p)
static

Check if a Python object is convertible to T and optionally begin the conversion by replacing the input with an intermediate.

Returns
true if a conversion may be possible, and false if it is not (with a Python exception set).
Parameters
pOn input, a Python object to be converted. On output, a Python object to be passed to fromPythonStage2().
template<typename T >
static bool ndarray::PyConverter< T >::fromPythonStage2 ( PyPtr const &  p,
T &  output 
)
static

Complete a Python to C++ conversion begun with fromPythonStage1().

Returns
true if the conversion was successful, and false otherwise (with a Python exception set).
Parameters
pA Python object processed by fromPythonStage1().
outputThe output C++ object.
template<typename T >
static PyTypeObject const* ndarray::PyConverter< T >::getPyType ( )
static

Return the Python TypeObject that corresponds to the object the toPython() function returns.

template<typename T >
static PyObject* ndarray::PyConverter< T >::toPython ( T const &  input)
static

Convert a C++ object to a new Python object.

Returns
A new Python object, or NULL on failure (with a Python exception set).
Parameters
inputInput C++ object.

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