Nektar++
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
pybind11::detail::vtk_ptr_cast_and_load< Ptr > Struct Template Reference

VTK Pointer-like object - copyable / movable. More...

#include <VtkWrapper.hpp>

Inheritance diagram for pybind11::detail::vtk_ptr_cast_and_load< Ptr >:
[legend]

Public Types

template<typename T_ >
using cast_op_type = pybind11::detail::movable_cast_op_type< T_ >
 

Public Member Functions

 operator Ptr & ()
 
 operator Ptr && () &&
 
bool load (handle src, bool convert)
 

Private Types

using Class = intrinsic_t< decltype(*std::declval< Ptr >())>
 
using value_caster_type = type_caster< Class >
 

Private Attributes

Ptr value
 

Additional Inherited Members

- Static Public Member Functions inherited from pybind11::detail::vtk_ptr_cast_only< Ptr >
static handle cast (const Ptr &ptr, return_value_policy policy, handle parent)
 
- Static Public Attributes inherited from pybind11::detail::vtk_ptr_cast_only< Ptr >
static constexpr auto name = _<Class>()
 
- Protected Types inherited from pybind11::detail::vtk_ptr_cast_only< Ptr >
using Class = intrinsic_t< decltype(*std::declval< Ptr >())>
 
using value_caster_type = type_caster< Class >
 

Detailed Description

template<typename Ptr>
struct pybind11::detail::vtk_ptr_cast_and_load< Ptr >

VTK Pointer-like object - copyable / movable.

Definition at line 173 of file VtkWrapper.hpp.

Member Typedef Documentation

◆ cast_op_type

template<typename Ptr >
template<typename T_ >
using pybind11::detail::vtk_ptr_cast_and_load< Ptr >::cast_op_type = pybind11::detail::movable_cast_op_type<T_>

Definition at line 193 of file VtkWrapper.hpp.

◆ Class

template<typename Ptr >
using pybind11::detail::vtk_ptr_cast_and_load< Ptr >::Class = intrinsic_t<decltype(*std::declval<Ptr>())>
private

Definition at line 178 of file VtkWrapper.hpp.

◆ value_caster_type

template<typename Ptr >
using pybind11::detail::vtk_ptr_cast_and_load< Ptr >::value_caster_type = type_caster<Class>
private

Definition at line 179 of file VtkWrapper.hpp.

Member Function Documentation

◆ load()

template<typename Ptr >
bool pybind11::detail::vtk_ptr_cast_and_load< Ptr >::load ( handle  src,
bool  convert 
)
inline

Definition at line 195 of file VtkWrapper.hpp.

196 {
197 value_caster_type value_caster;
198 if (!value_caster.load(src, convert))
199 {
200 return false;
201 }
202 value = Ptr(value_caster.operator Class *());
203 return true;
204 }

References pybind11::detail::vtk_ptr_cast_and_load< Ptr >::value.

◆ operator Ptr &()

template<typename Ptr >
pybind11::detail::vtk_ptr_cast_and_load< Ptr >::operator Ptr & ( )
inline

Definition at line 182 of file VtkWrapper.hpp.

183 {
184 return value;
185 }

References pybind11::detail::vtk_ptr_cast_and_load< Ptr >::value.

◆ operator Ptr &&()

template<typename Ptr >
pybind11::detail::vtk_ptr_cast_and_load< Ptr >::operator Ptr && ( ) &&
inline

Definition at line 187 of file VtkWrapper.hpp.

188 {
189 return std::move(value);
190 }

References pybind11::detail::vtk_ptr_cast_and_load< Ptr >::value.

Member Data Documentation

◆ value

template<typename Ptr >
Ptr pybind11::detail::vtk_ptr_cast_and_load< Ptr >::value
private