LSSTApplications  1.1.2+25,10.0+13,10.0+132,10.0+133,10.0+224,10.0+41,10.0+8,10.0-1-g0f53050+14,10.0-1-g4b7b172+19,10.0-1-g61a5bae+98,10.0-1-g7408a83+3,10.0-1-gc1e0f5a+19,10.0-1-gdb4482e+14,10.0-11-g3947115+2,10.0-12-g8719d8b+2,10.0-15-ga3f480f+1,10.0-2-g4f67435,10.0-2-gcb4bc6c+26,10.0-28-gf7f57a9+1,10.0-3-g1bbe32c+14,10.0-3-g5b46d21,10.0-4-g027f45f+5,10.0-4-g86f66b5+2,10.0-4-gc4fccf3+24,10.0-40-g4349866+2,10.0-5-g766159b,10.0-5-gca2295e+25,10.0-6-g462a451+1
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: