HepMC3 event record library
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
value >>< PlainObjectType, StrideType > Struct Template Reference
+ Inheritance diagram for value >>< PlainObjectType, StrideType >:
+ Collaboration diagram for value >>< PlainObjectType, StrideType >:

Public Types

template<typename _T >
using cast_op_type = pybind11::detail::cast_op_type< _T >
 

Public Member Functions

bool load (handle src, bool convert)
 
 operator Type * ()
 
 operator Type & ()
 
 operator Eigen::Ref< PlainObjectType, 0, StrideType > ()=delete
 

Static Public Member Functions

static handle cast (const Eigen::Ref< PlainObjectType, 0, StrideType > &src, return_value_policy policy, handle parent)
 

Static Public Attributes

static constexpr auto name
 

Private Types

using Type = Eigen::Ref< PlainObjectType, 0, StrideType >
 
using props = EigenProps< Type >
 
using Scalar = typename props::Scalar
 
using MapType = Eigen::Map< PlainObjectType, 0, StrideType >
 
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)>
 
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_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 >
 
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 >
 

Private Member Functions

template<typename T = Type, enable_if_t< is_eigen_mutable_map< T >::value, int > = 0>
Scalar * data (Array &a)
 
template<typename T = Type, enable_if_t<!is_eigen_mutable_map< T >::value, int > = 0>
const Scalar * data (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

std::unique_ptr< MapType > map
 
std::unique_ptr< Type > ref
 
Array copy_or_ref
 

Static Private Attributes

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

Detailed Description

template<typename PlainObjectType, typename StrideType>
struct value >>< PlainObjectType, StrideType >

Definition at line 402 of file eigen.h.


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