Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > > Struct Template Reference

#include <eigen.h>

Inheritance diagram for type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >:
Inheritance graph
[legend]

Public Types

template<typename _T >
using cast_op_type = pybind11::detail::cast_op_type< _T >
 
- Public Types inherited from eigen_map_caster< Eigen::Ref< PlainObjectType, 0, StrideType > >
using cast_op_type = Eigen::Ref< PlainObjectType, 0, StrideType >
 

Public Member Functions

bool load (handle src, bool convert)
 
 operator Type & ()
 
 operator Type * ()
 
- Public Member Functions inherited from eigen_map_caster< Eigen::Ref< PlainObjectType, 0, StrideType > >
bool load (handle, bool)=delete
 
 operator Eigen::Ref< PlainObjectType, 0, StrideType > ()=delete
 

Private Types

using Array = array_t< Scalar, array::forcecast|((props::row_major ? props::inner_stride :props::outer_stride)==1 ? array::c_style :(props::row_major ? props::outer_stride :props::inner_stride)==1 ? array::f_style :0)>
 
using MapType = Eigen::Map< PlainObjectType, 0, StrideType >
 
using props = EigenProps< Type >
 
using Scalar = typename props::Scalar
 
template<typename S >
using stride_ctor_default = bool_constant< S::InnerStrideAtCompileTime !=Eigen::Dynamic &&S::OuterStrideAtCompileTime !=Eigen::Dynamic &&std::is_default_constructible< S >::value >
 
template<typename S >
using stride_ctor_dual = bool_constant<!stride_ctor_default< S >::value &&std::is_constructible< S, EigenIndex, EigenIndex >::value >
 
template<typename S >
using stride_ctor_inner = bool_constant<!any_of< stride_ctor_default< S >, stride_ctor_dual< S > >::value &&S::InnerStrideAtCompileTime==Eigen::Dynamic &&S::OuterStrideAtCompileTime !=Eigen::Dynamic &&std::is_constructible< S, EigenIndex >::value >
 
template<typename S >
using stride_ctor_outer = bool_constant<!any_of< stride_ctor_default< S >, stride_ctor_dual< S > >::value &&S::OuterStrideAtCompileTime==Eigen::Dynamic &&S::InnerStrideAtCompileTime !=Eigen::Dynamic &&std::is_constructible< S, EigenIndex >::value >
 
using Type = Eigen::Ref< PlainObjectType, 0, StrideType >
 

Private Member Functions

template<typename T = Type, enable_if_t< is_eigen_mutable_map< T >::value, int > = 0>
Scalardata (Array &a)
 
template<typename T = Type, enable_if_t<!is_eigen_mutable_map< T >::value, int > = 0>
const Scalardata (Array &a)
 

Static Private Member Functions

template<typename S = StrideType, enable_if_t< stride_ctor_default< S >::value, int > = 0>
static S make_stride (EigenIndex, EigenIndex)
 
template<typename S = StrideType, enable_if_t< stride_ctor_dual< S >::value, int > = 0>
static S make_stride (EigenIndex outer, EigenIndex inner)
 
template<typename S = StrideType, enable_if_t< stride_ctor_outer< S >::value, int > = 0>
static S make_stride (EigenIndex outer, EigenIndex)
 
template<typename S = StrideType, enable_if_t< stride_ctor_inner< S >::value, int > = 0>
static S make_stride (EigenIndex, EigenIndex inner)
 

Private Attributes

Array copy_or_ref
 
std::unique_ptr< MapTypemap
 
std::unique_ptr< Typeref
 

Static Private Attributes

static constexpr bool need_writeable = is_eigen_mutable_map<Type>::value
 

Additional Inherited Members

- Static Public Member Functions inherited from eigen_map_caster< Eigen::Ref< PlainObjectType, 0, StrideType > >
static handle cast (const Eigen::Ref< PlainObjectType, 0, StrideType > &src, return_value_policy policy, handle parent)
 
- Static Public Attributes inherited from eigen_map_caster< Eigen::Ref< PlainObjectType, 0, StrideType > >
static constexpr auto name
 

Detailed Description

template<typename PlainObjectType, typename StrideType>
struct type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >

Definition at line 459 of file wrap/pybind11/include/pybind11/eigen.h.

Member Typedef Documentation

◆ Array

template<typename PlainObjectType , typename StrideType >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::Array = array_t<Scalar, array::forcecast | ((props::row_major ? props::inner_stride : props::outer_stride) == 1 ? array::c_style : (props::row_major ? props::outer_stride : props::inner_stride) == 1 ? array::f_style : 0)>
private

Definition at line 475 of file wrap/pybind11/include/pybind11/eigen.h.

◆ cast_op_type

template<typename PlainObjectType , typename StrideType >
template<typename _T >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::cast_op_type = pybind11::detail::cast_op_type<_T>

Definition at line 550 of file wrap/pybind11/include/pybind11/eigen.h.

◆ MapType

template<typename PlainObjectType , typename StrideType >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::MapType = Eigen::Map<PlainObjectType, 0, StrideType>
private

Definition at line 467 of file wrap/pybind11/include/pybind11/eigen.h.

◆ props

template<typename PlainObjectType , typename StrideType >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::props = EigenProps<Type>
private

Definition at line 465 of file wrap/pybind11/include/pybind11/eigen.h.

◆ Scalar

template<typename PlainObjectType , typename StrideType >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::Scalar = typename props::Scalar
private

Definition at line 466 of file wrap/pybind11/include/pybind11/eigen.h.

◆ stride_ctor_default

template<typename PlainObjectType , typename StrideType >
template<typename S >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::stride_ctor_default = bool_constant<S::InnerStrideAtCompileTime != Eigen::Dynamic && S::OuterStrideAtCompileTime != Eigen::Dynamic && std::is_default_constructible<S>::value>
private

Definition at line 568 of file wrap/pybind11/include/pybind11/eigen.h.

◆ stride_ctor_dual

template<typename PlainObjectType , typename StrideType >
template<typename S >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::stride_ctor_dual = bool_constant<!stride_ctor_default<S>::value && std::is_constructible<S, EigenIndex, EigenIndex>::value>
private

Definition at line 574 of file wrap/pybind11/include/pybind11/eigen.h.

◆ stride_ctor_inner

template<typename PlainObjectType , typename StrideType >
template<typename S >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::stride_ctor_inner = bool_constant<!any_of<stride_ctor_default<S>, stride_ctor_dual<S> >::value && S::InnerStrideAtCompileTime == Eigen::Dynamic && S::OuterStrideAtCompileTime != Eigen::Dynamic && std::is_constructible<S, EigenIndex>::value>
private

Definition at line 588 of file wrap/pybind11/include/pybind11/eigen.h.

◆ stride_ctor_outer

template<typename PlainObjectType , typename StrideType >
template<typename S >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::stride_ctor_outer = bool_constant<!any_of<stride_ctor_default<S>, stride_ctor_dual<S> >::value && S::OuterStrideAtCompileTime == Eigen::Dynamic && S::InnerStrideAtCompileTime != Eigen::Dynamic && std::is_constructible<S, EigenIndex>::value>
private

Definition at line 582 of file wrap/pybind11/include/pybind11/eigen.h.

◆ Type

template<typename PlainObjectType , typename StrideType >
using type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::Type = Eigen::Ref<PlainObjectType, 0, StrideType>
private

Definition at line 464 of file wrap/pybind11/include/pybind11/eigen.h.

Member Function Documentation

◆ data() [1/2]

template<typename PlainObjectType , typename StrideType >
template<typename T = Type, enable_if_t< is_eigen_mutable_map< T >::value, int > = 0>
Scalar* type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::data ( Array a)
inlineprivate

Definition at line 554 of file wrap/pybind11/include/pybind11/eigen.h.

◆ data() [2/2]

template<typename PlainObjectType , typename StrideType >
template<typename T = Type, enable_if_t<!is_eigen_mutable_map< T >::value, int > = 0>
const Scalar* type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::data ( Array a)
inlineprivate

Definition at line 559 of file wrap/pybind11/include/pybind11/eigen.h.

◆ load()

template<typename PlainObjectType , typename StrideType >
bool type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::load ( handle  src,
bool  convert 
)
inline

Definition at line 489 of file wrap/pybind11/include/pybind11/eigen.h.

◆ make_stride() [1/4]

template<typename PlainObjectType , typename StrideType >
template<typename S = StrideType, enable_if_t< stride_ctor_default< S >::value, int > = 0>
static S type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::make_stride ( EigenIndex  ,
EigenIndex   
)
inlinestaticprivate

Definition at line 591 of file wrap/pybind11/include/pybind11/eigen.h.

◆ make_stride() [2/4]

template<typename PlainObjectType , typename StrideType >
template<typename S = StrideType, enable_if_t< stride_ctor_dual< S >::value, int > = 0>
static S type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::make_stride ( EigenIndex  outer,
EigenIndex  inner 
)
inlinestaticprivate

Definition at line 595 of file wrap/pybind11/include/pybind11/eigen.h.

◆ make_stride() [3/4]

template<typename PlainObjectType , typename StrideType >
template<typename S = StrideType, enable_if_t< stride_ctor_outer< S >::value, int > = 0>
static S type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::make_stride ( EigenIndex  outer,
EigenIndex   
)
inlinestaticprivate

Definition at line 599 of file wrap/pybind11/include/pybind11/eigen.h.

◆ make_stride() [4/4]

template<typename PlainObjectType , typename StrideType >
template<typename S = StrideType, enable_if_t< stride_ctor_inner< S >::value, int > = 0>
static S type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::make_stride ( EigenIndex  ,
EigenIndex  inner 
)
inlinestaticprivate

Definition at line 603 of file wrap/pybind11/include/pybind11/eigen.h.

◆ operator Type &()

template<typename PlainObjectType , typename StrideType >
type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::operator Type & ( )
inline

Definition at line 548 of file wrap/pybind11/include/pybind11/eigen.h.

◆ operator Type *()

template<typename PlainObjectType , typename StrideType >
type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::operator Type * ( )
inline

Definition at line 546 of file wrap/pybind11/include/pybind11/eigen.h.

Member Data Documentation

◆ copy_or_ref

template<typename PlainObjectType , typename StrideType >
Array type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::copy_or_ref
private

Definition at line 486 of file wrap/pybind11/include/pybind11/eigen.h.

◆ map

template<typename PlainObjectType , typename StrideType >
std::unique_ptr<MapType> type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::map
private

Definition at line 478 of file wrap/pybind11/include/pybind11/eigen.h.

◆ need_writeable

template<typename PlainObjectType , typename StrideType >
constexpr bool type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::need_writeable = is_eigen_mutable_map<Type>::value
staticprivate

Definition at line 476 of file wrap/pybind11/include/pybind11/eigen.h.

◆ ref

template<typename PlainObjectType , typename StrideType >
std::unique_ptr<Type> type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >::ref
private

Definition at line 479 of file wrap/pybind11/include/pybind11/eigen.h.


The documentation for this struct was generated from the following file:


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:41:08