LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
Static Public Member Functions | List of all members
ndarray::detail::PyConverterBase< T > Struct Template Reference

#include <PyConverter.h>

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

Static Public Member Functions

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::detail::PyConverterBase< T >

Definition at line 59 of file PyConverter.h.

Member Function Documentation

template<typename T>
static int ndarray::detail::PyConverterBase< T >::fromPython ( PyObject *  arg,
T *  output 
)
inlinestatic

Convert a Python object to a C++ object.

fromPython() is appropriate for use with the PyArg_ParseX Python C-API functions as a "O&" converter function.

Returns
true if the conversion was successful, and false otherwise (with a Python exception set).
See Also
PyConverter<T>::fromPythonStage1()
PyConverter<T>::fromPythonStage2()

Definition at line 98 of file PyConverter.h.

101  {
102  PyPtr p(arg,true);
103  if (!PyConverter<T>::fromPythonStage1(p)) return false;
104  return PyConverter<T>::fromPythonStage2(arg,*output);
105  }
static bool fromPythonStage2(PyPtr const &p, T &output)
Complete a Python to C++ conversion begun with fromPythonStage1().
boost::intrusive_ptr< PyObject > PyPtr
A reference-counting smart pointer for PyObject.
Definition: PyConverter.h:48
template<typename T>
static bool ndarray::detail::PyConverterBase< T >::matches ( PyObject *  arg)
inlinestatic

Check if a Python object might be convertible to T.

Returns
true if the conversion may be successful, and false if it definitely is not. Will not raise a Python exception.

This is mostly useful for wrapper generators like SWIG or Boost.Python, which could use matches() to check if an Python arguments match a particular signature for an overloaded C++ function.

See Also
PyConverter<T>::fromPythonStage1()

Definition at line 75 of file PyConverter.h.

77  {
78  PyPtr p(arg,true);
79  if (!PyConverter<T>::fromPythonStage1(p)) {
80  PyErr_Clear();
81  return false;
82  }
83  return true;
84  }
boost::intrusive_ptr< PyObject > PyPtr
A reference-counting smart pointer for PyObject.
Definition: PyConverter.h:48

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