|
struct | nonsimple_values_and_holders |
|
struct | instance |
| The 'instance' type which needs to be standard layout (need to be able to use 'offsetof') More...
|
|
struct | index_sequence<... > |
| Index sequences. More...
|
|
struct | make_index_sequence_impl< N, S > |
|
struct | make_index_sequence_impl< 0, S... > |
|
struct | select_indices_impl< ISeq, size_t,... > |
| Make an index sequence of the indices of true arguments. More...
|
|
struct | select_indices_impl< index_sequence< IPrev... >, I, B, Bs... > |
|
struct | negation< T > |
|
struct | void_t_impl<... > |
|
struct | bools<... > |
| Compile-time all/any/none of that check the boolean value of all template types. More...
|
|
struct | remove_class< T > |
| Strip the class from a method type. More...
|
|
struct | remove_class< R(C::*)(A...)> |
|
struct | remove_class< R(C::*)(A...) const > |
|
struct | intrinsic_type< T > |
| Helper template to strip away type modifiers. More...
|
|
struct | intrinsic_type< const T > |
|
struct | intrinsic_type< T * > |
|
struct | intrinsic_type< T & > |
|
struct | intrinsic_type< T && > |
|
struct | intrinsic_type< const T[N]> |
|
struct | intrinsic_type< T[N]> |
|
struct | void_type |
| Helper type to replace 'void' in some expressions. More...
|
|
struct | type_list<... > |
| Helper template which holds a list of types. More...
|
|
struct | pack_element< N, T, Ts > |
| Return the Nth element from the parameter pack. More...
|
|
struct | pack_element< 0, T, Ts... > |
|
struct | exactly_one< Predicate, Default, Ts > |
|
struct | exactly_one< P, Default > |
|
struct | deferred_type< T,... > |
| Defer the evaluation of type T until types Us are instantiated. More...
|
|
struct | is_template_base_of_impl< Base > |
|
struct | is_instantiation< Class, T > |
|
struct | is_instantiation< Class, Class< Us... > > |
|
struct | is_input_iterator< T, typename > |
| Check if T looks like an input iterator. More...
|
|
struct | is_input_iterator< T, void_t< decltype(*std::declval< T & >()), decltype(++std::declval< T & >())> > |
|
struct | strip_function_object< F > |
|
class | builtin_exception |
| C++ bindings of builtin Python exceptions. More...
|
|
struct | format_descriptor< T, SFINAE > |
|
struct | is_fmt_numeric< T, SFINAE > |
|
struct | is_fmt_numeric< T, enable_if_t< std::is_arithmetic< T >::value > > |
|
struct | format_descriptor< T, detail::enable_if_t< std::is_arithmetic< T >::value > > |
|
struct | error_scope |
| RAII wrapper that temporarily clears any Python error state. More...
|
|
struct | nodelete |
| Dummy destructor wrapper that can be used to expose classes with a private destructor. More...
|
|
struct | overload_cast_impl< Args > |
|
struct | overload_cast< Args > |
|
class | any_container< T > |
|
|
#define | PYBIND11_VERSION_MAJOR 2 |
|
#define | PYBIND11_VERSION_MINOR 6 |
|
#define | PYBIND11_VERSION_PATCH 3.dev1 |
|
#define | PYBIND11_NAMESPACE_BEGIN(name) namespace name { |
|
#define | PYBIND11_NAMESPACE_END(name) } |
|
#define | PYBIND11_NAMESPACE pybind11 |
|
#define | PYBIND11_EXPORT __attribute__ ((visibility("default"))) |
|
#define | PYBIND11_NOINLINE __attribute__ ((noinline)) |
|
#define | PYBIND11_DEPRECATED(reason) __attribute__((deprecated(reason))) |
|
#define | PYBIND11_MAYBE_UNUSED __attribute__ ((__unused__)) |
|
#define | PYBIND11_INSTANCE_METHOD_NEW(ptr, class_) PyMethod_New(ptr, nullptr, class_) |
| Include Python header, disable linking to pythonX_d.lib on Windows in debug mode. More...
|
|
#define | PYBIND11_INSTANCE_METHOD_CHECK PyMethod_Check |
|
#define | PYBIND11_INSTANCE_METHOD_GET_FUNCTION PyMethod_GET_FUNCTION |
|
#define | PYBIND11_BYTES_CHECK PyString_Check |
|
#define | PYBIND11_BYTES_FROM_STRING PyString_FromString |
|
#define | PYBIND11_BYTES_FROM_STRING_AND_SIZE PyString_FromStringAndSize |
|
#define | PYBIND11_BYTES_AS_STRING_AND_SIZE PyString_AsStringAndSize |
|
#define | PYBIND11_BYTES_AS_STRING PyString_AsString |
|
#define | PYBIND11_BYTES_SIZE PyString_Size |
|
#define | PYBIND11_LONG_CHECK(o) (PyInt_Check(o) || PyLong_Check(o)) |
|
#define | PYBIND11_LONG_AS_LONGLONG(o) (PyInt_Check(o) ? (long long) PyLong_AsLong(o) : PyLong_AsLongLong(o)) |
|
#define | PYBIND11_LONG_FROM_SIGNED(o) PyInt_FromSsize_t((ssize_t) o) |
|
#define | PYBIND11_LONG_FROM_UNSIGNED(o) PyInt_FromSize_t((size_t) o) |
|
#define | PYBIND11_BYTES_NAME "str" |
|
#define | PYBIND11_STRING_NAME "unicode" |
|
#define | PYBIND11_SLICE_OBJECT PySliceObject |
|
#define | PYBIND11_FROM_STRING PyString_FromString |
|
#define | PYBIND11_STR_TYPE ::pybind11::bytes |
|
#define | PYBIND11_BOOL_ATTR "__nonzero__" |
|
#define | PYBIND11_NB_BOOL(ptr) ((ptr)->nb_nonzero) |
|
#define | PYBIND11_BUILTINS_MODULE "__builtin__" |
|
#define | PYBIND11_PLUGIN_IMPL(name) |
|
#define | PYBIND11_TRY_NEXT_OVERLOAD ((PyObject *) 1) |
|
#define | PYBIND11_STRINGIFY(x) #x |
|
#define | PYBIND11_TOSTRING(x) PYBIND11_STRINGIFY(x) |
|
#define | PYBIND11_CONCAT(first, second) first##second |
|
#define | PYBIND11_ENSURE_INTERNALS_READY pybind11::detail::get_internals(); |
|
#define | PYBIND11_CHECK_PYTHON_VERSION |
|
#define | PYBIND11_CATCH_INIT_EXCEPTIONS |
|
#define | PYBIND11_PLUGIN(name) |
|
#define | PYBIND11_MODULE(name, variable) |
|
#define | PYBIND11_EXPAND_SIDE_EFFECTS(PATTERN) (void)pybind11::detail::expand_side_effects{ ((PATTERN), void(), false)..., false } |
|
#define | PYBIND11_RUNTIME_EXCEPTION(name, type) |
|
|
using | ssize_t = Py_ssize_t |
|
using | size_t = std::size_t |
|
template<bool B, typename T = void> |
using | enable_if_t = typename std::enable_if< B, T >::type |
| from cpp_future import (convenient aliases from C++14/17) More...
|
|
template<bool B, typename T , typename F > |
using | conditional_t = typename std::conditional< B, T, F >::type |
|
template<typename T > |
using | remove_cv_t = typename std::remove_cv< T >::type |
|
template<typename T > |
using | remove_reference_t = typename std::remove_reference< T >::type |
|
template<size_t N> |
using | make_index_sequence = typename make_index_sequence_impl< N >::type |
|
template<bool... Bs> |
using | select_indices = typename select_indices_impl< index_sequence<>, 0, Bs... >::type |
|
template<bool B> |
using | bool_constant = std::integral_constant< bool, B > |
| Backports of std::bool_constant and std::negation to accommodate older compilers. More...
|
|
template<typename... Ts> |
using | void_t = typename void_t_impl< Ts... >::type |
|
template<class... Ts> |
using | all_of = std::is_same< bools< Ts::value..., true >, bools< true, Ts::value... > > |
|
template<class... Ts> |
using | any_of = negation< all_of< negation< Ts >... > > |
|
template<class... Ts> |
using | none_of = negation< any_of< Ts... > > |
|
template<class T , template< class > class... Predicates> |
using | satisfies_all_of = all_of< Predicates< T >... > |
|
template<class T , template< class > class... Predicates> |
using | satisfies_any_of = any_of< Predicates< T >... > |
|
template<class T , template< class > class... Predicates> |
using | satisfies_none_of = none_of< Predicates< T >... > |
|
template<typename T > |
using | intrinsic_t = typename intrinsic_type< T >::type |
|
template<template< typename > class Predicate, typename Default , typename... Ts> |
using | exactly_one_t = typename exactly_one< Predicate, Default, Ts... >::type |
|
template<typename T , typename... Us> |
using | deferred_t = typename deferred_type< T, Us... >::type |
|
template<typename Base , typename Derived > |
using | is_strict_base_of = bool_constant< std::is_base_of< Base, Derived >::value &&!std::is_same< Base, Derived >::value > |
|
template<typename Base , typename Derived > |
using | is_accessible_base_of = bool_constant<(std::is_same< Base, Derived >::value||std::is_base_of< Base, Derived >::value) &&std::is_convertible< Derived *, Base * >::value > |
|
template<template< typename... > class Base, typename T > |
using | is_template_base_of = decltype(is_template_base_of_impl< Base >::check((intrinsic_t< T > *) nullptr)) |
|
template<typename T > |
using | is_shared_ptr = is_instantiation< std::shared_ptr, T > |
| Check if T is std::shared_ptr<U> where U can be anything. More...
|
|
template<typename T > |
using | is_function_pointer = bool_constant< std::is_pointer< T >::value &&std::is_function< typename std::remove_pointer< T >::type >::value > |
|
template<typename Function , typename F = remove_reference_t<Function>> |
using | function_signature_t = conditional_t< std::is_function< F >::value, F, typename conditional_t< std::is_pointer< F >::value||std::is_member_pointer< F >::value, std::remove_pointer< F >, strip_function_object< F > >::type > |
|
template<typename T > |
using | is_lambda = satisfies_none_of< remove_reference_t< T >, std::is_function, std::is_pointer, std::is_member_pointer > |
|
using | expand_side_effects = bool[] |
| Apply a function over each element of a parameter pack. More...
|
|
|
constexpr size_t | instance_simple_holder_in_ptrs () |
|
constexpr size_t | constexpr_sum () |
| Compile-time integer sum. More...
|
|
template<typename T , typename... Ts> |
constexpr size_t | constexpr_sum (T n, Ts... ns) |
|
constexpr int | first (int i) |
| Implementation details for constexpr functions. More...
|
|
template<typename T , typename... Ts> |
constexpr int | first (int i, T v, Ts... vs) |
|
constexpr int | last (int, int result) |
|
template<typename T , typename... Ts> |
constexpr int | last (int i, int result, T v, Ts... vs) |
|
template<template< typename > class Predicate, typename... Ts> |
constexpr int | constexpr_first () |
|
template<template< typename > class Predicate, typename... Ts> |
constexpr int | constexpr_last () |
| Return the index of the last type in Ts which satisfies Predicate<T>, or -1 if none match. More...
|
|
void | ignore_unused (const int *) |
| Ignore that a variable is unused in compiler warnings. More...
|
|
| PYBIND11_RUNTIME_EXCEPTION (cast_error, PyExc_RuntimeError) PYBIND11_RUNTIME_EXCEPTION(reference_cast_error |
| Thrown when pybind11::cast or handle::call fail due to a type casting error. More...
|
|
PyExc_RuntimeError PYBIND11_NOINLINE void | pybind11_fail (const char *reason) |
| Used internally. More...
|
|
PYBIND11_NOINLINE void | pybind11_fail (const std::string &reason) |
|
std::string | get_fully_qualified_tp_name (PyTypeObject *) |
|
#define PYBIND11_MODULE |
( |
|
name, |
|
|
|
variable |
|
) |
| |
Value: static ::pybind11::module_::module_def \
PYBIND11_MAYBE_UNUSED \
PYBIND11_PLUGIN_IMPL(
name) { \
PYBIND11_CHECK_PYTHON_VERSION \
PYBIND11_ENSURE_INTERNALS_READY \
auto
m = ::pybind11::module_::create_extension_module( \
try { \
PYBIND11_CONCAT(pybind11_init_,
name)(
m); \
} \
\rst This macro creates the entry point that will be invoked when the Python interpreter imports an extension module. The module name is given as the fist argument and it should not be in quotes. The second macro argument defines a variable of type py::module_
which can be used to initialize the module.
The entry point is marked as "maybe unused" to aid dead-code detection analysis: since the entry point is typically only looked up at runtime and not referenced during translation, it would otherwise appear as unused ("dead") code.
.. code-block:: cpp
PYBIND11_MODULE(example, m) {
m.doc() = "pybind11 example module";
Add bindings here m.def("foo", []() { return "Hello, World!"; }); } \endrst
Definition at line 333 of file common.h.
#define PYBIND11_PLUGIN |
( |
|
name | ) |
|
Value:
static PyObject *pybind11_init(); \
PYBIND11_PLUGIN_IMPL(
name) { \
PYBIND11_CHECK_PYTHON_VERSION \
PYBIND11_ENSURE_INTERNALS_READY \
try { \
return pybind11_init(); \
} \
PyObject *pybind11_init()
\rst Deprecated in favor of PYBIND11_MODULE***
This macro creates the entry point that will be invoked when the Python interpreter imports a plugin library. Please create a module_
in the function body and return the pointer to its underlying Python object at the end.
.. code-block:: cpp
PYBIND11_PLUGIN(example) {
pybind11::module_ m("example", "pybind11 example plugin");
/ Set up bindings here return m.ptr(); } \endrst
Definition at line 300 of file common.h.