DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
Array_bind.hpp File Reference

pybind11 bindings for Array / ParArray / ArrayPair. More...

#include "Array.hpp"
#include "ArrayTransformer.hpp"
#include "ArrayPair.hpp"
#include "SerializerBase.hpp"
#include "DNDS/Defines.hpp"
#include "DNDS/DeviceStorage.hpp"
#include "Defines_bind.hpp"
#include <pybind11/numpy.h>
#include <pybind11/stl.h>
Include dependency graph for Array_bind.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  DNDS
 the host side operators are provided as implemented
 

Macros

#define DNDS_pybind11_array_transformer_def_ssp_property(property_name, field_name)
 
#define pybind11_bind_Array_All_X_declare(offset)    void pybind11_bind_Array_All_##offset(py::module_ m)
 
#define pybind11_bind_Array_All_X_call(offset, m)    pybind11_bind_Array_All_##offset(m)
 

Typedefs

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
using DNDS::tPy_Array = py_class_ssp< Array< T, _row_size, _row_max, _align > >
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
using DNDS::tPy_ParArray = py_class_ssp< ParArray< T, _row_size, _row_max, _align > >
 
template<class TArray >
using DNDS::tPy_ArrayTransformer = py_class_ssp< ArrayTransformerType_t< TArray > >
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
using DNDS::tPy_ParArrayPair = py_class_ssp< ArrayPair< ParArray< T, _row_size, _row_max, _align > > >
 

Functions

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
std::string DNDS::pybind11_Array_name_appends ()
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
std::string DNDS::pybind11_Array_name ()
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
std::string DNDS::pybind11_ParArray_name ()
 
template<class TArray >
std::string DNDS::pybind11_ArrayTransformer_name ()
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
std::string DNDS::pybind11_ParArrayPair_name ()
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
tPy_Array< T, _row_size, _row_max, _align > DNDS::pybind11_Array_declare (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
tPy_Array< T, _row_size, _row_max, _align > DNDS::pybind11_Array_get_class (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::pybind11_Array_define (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::_pybind11_Array_define_dispatch (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
tPy_ParArray< T, _row_size, _row_max, _align > DNDS::pybind11_ParArray_declare (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
tPy_ParArray< T, _row_size, _row_max, _align > DNDS::pybind11_ParArray_get_class (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::pybind11_ParArray_define (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::_pybind11_ParArray_define_dispatch (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
tPy_ParArrayPair< T, _row_size, _row_max, _align > DNDS::pybind11_ParArrayPair_declare (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
tPy_ParArrayPair< T, _row_size, _row_max, _align > DNDS::pybind11_ParArrayPair_get_class (py::module_ &m)
 
template<class TPair , class TPy_Pair >
void DNDS::pybind11_ArrayPairGenericBindBasics (TPy_Pair &Pair_)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::pybind11_ParArrayPair_define (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::_pybind11_ParArrayPair_define_dispatch (py::module_ &m)
 
template<class TArray >
tPy_ArrayTransformer< TArray > DNDS::pybind11_ArrayTransformer_declare (py::module_ &m)
 
template<class TArray >
tPy_ArrayTransformer< TArray > DNDS::pybind11_ArrayTransformer_get_class (py::module_ &m)
 
template<class TArray >
void DNDS::pybind11_ArrayTransformer_define (py::module_ &m)
 
template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::_pybind11_ArrayTransformer_define_dispatch (py::module_ &m)
 
template<int offset = 0>
constexpr auto DNDS::_get_pybind11_arrayRowsizeInstantiationList ()
 
template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is>
void DNDS::__pybind11_callBindArrays_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >)
 
template<class T , int offset = 0>
void DNDS::pybind11_callBindArrays_rowsizes (py::module_ &m)
 
template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is>
void DNDS::__pybind11_callBindParArrays_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >)
 
template<class T , int offset = 0>
void DNDS::pybind11_callBindParArrays_rowsizes (py::module_ &m)
 
template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is>
void DNDS::__pybind11_callBindArrayTransformers_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >)
 
template<class T , int offset = 0>
void DNDS::pybind11_callBindArrayTransformers_rowsizes (py::module_ &m)
 
template<class T , size_t N, std::array< int, N > const & Arr, size_t... Is>
void DNDS::__pybind11_callBindParArrayPairs_rowsizes_sequence (py::module_ &m, std::index_sequence< Is... >)
 
template<class T , int offset = 0>
void DNDS::pybind11_callBindParArrayPairs_rowsizes (py::module_ &m)
 
void DNDS::pybind11_bind_Array_All (py::module_ m)
 
 DNDS::pybind11_bind_Array_All_X_declare (1)
 
 DNDS::pybind11_bind_Array_All_X_declare (2)
 
 DNDS::pybind11_bind_Array_All_X_declare (3)
 
 DNDS::pybind11_bind_Array_All_X_declare (4)
 
 DNDS::pybind11_bind_Array_All_X_declare (5)
 
 DNDS::pybind11_bind_Array_All_X_declare (6)
 
 DNDS::pybind11_bind_Array_All_X_declare (7)
 
void DNDS::pybind11_bind_Array_Offsets (py::module_ m)
 

Detailed Description

pybind11 bindings for Array / ParArray / ArrayPair.

Provides templated helper functions (pybind11_Array_name_appends, pybind11_Array_declare_*, ...) that mechanically generate Python classes for every instantiated (T, row_size, row_max) combination. See the ArrayPair.hpp and ArrayTransformer.hpp corresponding C++ types.

Definition in file Array_bind.hpp.

Macro Definition Documentation

◆ DNDS_pybind11_array_transformer_def_ssp_property

#define DNDS_pybind11_array_transformer_def_ssp_property (   property_name,
  field_name 
)
Value:
{ \
ArrayTransformer_.def_property( \
#property_name, \
[](TArrayTransformer &self) { return self.field_name; }, \
[](TArrayTransformer &self, decltype(TArrayTransformer::field_name) in) { self.field_name = in; }); \
}

◆ pybind11_bind_Array_All_X_call

#define pybind11_bind_Array_All_X_call (   offset,
 
)     pybind11_bind_Array_All_##offset(m)

Definition at line 627 of file Array_bind.hpp.

◆ pybind11_bind_Array_All_X_declare

#define pybind11_bind_Array_All_X_declare (   offset)     void pybind11_bind_Array_All_##offset(py::module_ m)

Definition at line 624 of file Array_bind.hpp.