42 #if PY_MAJOR_VERSION == 2 
   43 template<
typename T, 
typename F>
 
   46     std::shared_ptr<NekMatrix<T, F>> *mat =
 
   47         (std::shared_ptr<NekMatrix<T, F>> *)ptr;
 
   51 template<
typename T, 
typename F>
 
   54     std::shared_ptr<NekMatrix<T, F>> *mat =
 
   55         (std::shared_ptr<NekMatrix<T, F>> *)PyCapsule_GetPointer(ptr, 0);
 
   69 #if PY_MAJOR_VERSION == 2 
   71             py::handle<>(PyCObject_FromVoidPtr(
 
   73                              NekMatrixCapsuleDestructor<T, StandardMatrixTag>)));
 
   76             py::handle<>(PyCapsule_New(
 
   78                              (PyCapsule_Destructor)&NekMatrixCapsuleDestructor<T, StandardMatrixTag>)));
 
   81         int nRows = mat->GetRows(), nCols = mat->GetColumns();
 
   84         ASSERTL0(storage == 
eFULL, 
"Only full storage matrices are currently supported.");
 
   88                 mat->GetRawPtr(), np::dtype::get_builtin<T>(),
 
   89                 py::make_tuple(nRows, nCols),
 
   90                 py::make_tuple(
sizeof(T), nRows * 
sizeof(T)),
 
   98     py::to_python_converter<std::shared_ptr<NekMatrix<T, StandardMatrixTag>>,
 
#define ASSERTL0(condition, msg)
 
void NekMatrixCapsuleDestructor(PyObject *ptr)
 
template void export_NekMatrix< double >()
 
static PyObject * convert(std::shared_ptr< NekMatrix< T, StandardMatrixTag >> const &mat)