IODA
macros.h File Reference

Python bindings - macros. More...

#include <string>
#include <vector>
Include dependency graph for macros.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TYPE_TEMPLATE(x)
 
#define SETFILL_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)    .def(funcnamestr, &classname ::funcname<T>)
 
#define VARCREATE_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)
 
#define VARCREATESCALES_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)
 
#define ISA_ATT_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)    .def(funcnamestr, &classname ::funcname<T>, "Is " #T " the storage type of the data?")
 
#define READ_ATT_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)    .def(funcnamestr, &classname ::funcname<T>, "Read as type " #T)
 
#define WRITE_ATT_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)    .def(funcnamestr, &classname ::funcname<T>, "Write as type " #T)
 
#define READ_VAR_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)
 
#define WRITE_VAR_CLASS_TEMPLATE_FUNCTION_T(funcnamestr, funcname, classname, T)
 
#define CLASS_TEMPLATE_FUNCTION_PATTERN_NOALIASES(actualname, classname, PATTERN)
 
#define CLASS_TEMPLATE_FUNCTION_PATTERN_NOSTR(actualname, classname, PATTERN)
 
#define CLASS_TEMPLATE_FUNCTION_PATTERN(actualname, classname, PATTERN)
 

Detailed Description

Python bindings - macros.

Definition in file macros.h.

Macro Definition Documentation

◆ CLASS_TEMPLATE_FUNCTION_PATTERN

#define CLASS_TEMPLATE_FUNCTION_PATTERN (   actualname,
  classname,
  PATTERN 
)
Value:
PATTERN("str", actualname, classname, std::string) \
PATTERN("char", actualname, classname, char) \
CLASS_TEMPLATE_FUNCTION_PATTERN_NOSTR(actualname, classname, PATTERN)

Definition at line 106 of file macros.h.

◆ CLASS_TEMPLATE_FUNCTION_PATTERN_NOALIASES

#define CLASS_TEMPLATE_FUNCTION_PATTERN_NOALIASES (   actualname,
  classname,
  PATTERN 
)
Value:
PATTERN("float", actualname, classname, float) \
PATTERN("double", actualname, classname, double) \
PATTERN("long_double", actualname, classname, long double) \
PATTERN("int32", actualname, classname, int32_t) \
PATTERN("uint32", actualname, classname, uint32_t) \
PATTERN("int16", actualname, classname, int16_t) \
PATTERN("uint16", actualname, classname, uint16_t) \
PATTERN("int64", actualname, classname, int64_t) \
PATTERN("uint64", actualname, classname, uint64_t)

Definition at line 80 of file macros.h.

◆ CLASS_TEMPLATE_FUNCTION_PATTERN_NOSTR

#define CLASS_TEMPLATE_FUNCTION_PATTERN_NOSTR (   actualname,
  classname,
  PATTERN 
)
Value:
CLASS_TEMPLATE_FUNCTION_PATTERN_NOALIASES(actualname, classname, PATTERN) \
PATTERN("short", actualname, classname, short int) \
PATTERN("ushort", actualname, classname, unsigned short int) \
PATTERN("int", actualname, classname, int) \
PATTERN("uint", actualname, classname, unsigned int) \
PATTERN("lint", actualname, classname, long int) \
PATTERN("ulint", actualname, classname, unsigned long int) \
PATTERN("llint", actualname, classname, long long int) \
PATTERN("ullint", actualname, classname, unsigned long long int)
#define CLASS_TEMPLATE_FUNCTION_PATTERN_NOALIASES(actualname, classname, PATTERN)
Definition: macros.h:80

Definition at line 95 of file macros.h.

◆ ISA_ATT_CLASS_TEMPLATE_FUNCTION_T

#define ISA_ATT_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)     .def(funcnamestr, &classname ::funcname<T>, "Is " #T " the storage type of the data?")

Definition at line 63 of file macros.h.

◆ READ_ATT_CLASS_TEMPLATE_FUNCTION_T

#define READ_ATT_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)     .def(funcnamestr, &classname ::funcname<T>, "Read as type " #T)

Definition at line 66 of file macros.h.

◆ READ_VAR_CLASS_TEMPLATE_FUNCTION_T

#define READ_VAR_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)
Value:
.def(funcnamestr, &classname ::funcname<T>, "Read as type " #T, py::arg("mem_selection") = Selection::all, \
py::arg("file_selection") = Selection::all)

Definition at line 72 of file macros.h.

◆ SETFILL_CLASS_TEMPLATE_FUNCTION_T

#define SETFILL_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)     .def(funcnamestr, &classname ::funcname<T>)

Definition at line 43 of file macros.h.

◆ TYPE_TEMPLATE

#define TYPE_TEMPLATE (   x)
Value:
x<std::string>(); \
x<float>(); \
x<double>(); \
x<long double>(); \
x<char>(); \
x<unsigned char>(); \
x<signed char>(); \
x<wchar_t>(); \
x<char16_t>(); \
x<char32_t>(); \
x<bool>(); \
x<short int>(); \
x<unsigned short int>(); \
x<int>(); \
x<unsigned int>(); \
x<long int>(); \
x<unsigned long int>(); \
x<long long int>(); \
x<unsigned long long int>();

Definition at line 22 of file macros.h.

◆ VARCREATE_CLASS_TEMPLATE_FUNCTION_T

#define VARCREATE_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)
Value:
.def(funcnamestr, \
(Variable(classname::*)(const std::string&, const std::vector<Dimensions_t>&, \
const std::vector<Dimensions_t>&, const VariableCreationParameters&)) & \
classname ::funcname<T>, \
"Create a variable", py::arg("name"), py::arg("dimensions") = std::vector<Dimensions_t>{1}, \
py::arg("max_dimensions") = std::vector<Dimensions_t>{}, \
py::arg("params") = VariableCreationParameters())

Definition at line 46 of file macros.h.

◆ VARCREATESCALES_CLASS_TEMPLATE_FUNCTION_T

#define VARCREATESCALES_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)
Value:
.def(funcnamestr, \
(Variable(classname::*)(const std::string&, const std::vector<Variable>&, \
const VariableCreationParameters&)) & \
classname ::funcname<T>, \
"Create a variable", py::arg("name"), py::arg("dimension_scales"), \
py::arg("params") = VariableCreationParameters())

Definition at line 55 of file macros.h.

◆ WRITE_ATT_CLASS_TEMPLATE_FUNCTION_T

#define WRITE_ATT_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)     .def(funcnamestr, &classname ::funcname<T>, "Write as type " #T)

Definition at line 69 of file macros.h.

◆ WRITE_VAR_CLASS_TEMPLATE_FUNCTION_T

#define WRITE_VAR_CLASS_TEMPLATE_FUNCTION_T (   funcnamestr,
  funcname,
  classname,
 
)
Value:
.def(funcnamestr, &classname ::funcname<T>, "Write as type " #T, py::arg("vals"), \
py::arg("mem_selection") = Selection::all, py::arg("file_selection") = Selection::all)

Definition at line 76 of file macros.h.