WPILibC++ 2023.4.3-108-ge5452e3
Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type > Class Template Reference

Generic expression where a coefficient-wise ternary operator is applied to two expressions. More...

#include </home/runner/work/allwpilib/allwpilib/wpimath/src/main/native/thirdparty/eigen/include/Eigen/src/Core/CwiseTernaryOp.h>

Inheritance diagram for Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >:
Eigen::CwiseTernaryOpImpl< TernaryOp, Arg1Type, Arg2Type, Arg3Type, internal::traits< Arg1Type >::StorageKind > Eigen::internal::no_assignment_operator

Public Types

typedef internal::remove_all< Arg1Type >::type Arg1
 
typedef internal::remove_all< Arg2Type >::type Arg2
 
typedef internal::remove_all< Arg3Type >::type Arg3
 
typedef CwiseTernaryOpImpl< TernaryOp, Arg1Type, Arg2Type, Arg3Type, typenameinternal::traits< Arg1Type >::StorageKind >::Base Base
 
typedef internal::ref_selector< Arg1Type >::type Arg1Nested
 
typedef internal::ref_selector< Arg2Type >::type Arg2Nested
 
typedef internal::ref_selector< Arg3Type >::type Arg3Nested
 
typedef internal::remove_reference< Arg1Nested >::type _Arg1Nested
 
typedef internal::remove_reference< Arg2Nested >::type _Arg2Nested
 
typedef internal::remove_reference< Arg3Nested >::type _Arg3Nested
 
- Public Types inherited from Eigen::CwiseTernaryOpImpl< TernaryOp, Arg1Type, Arg2Type, Arg3Type, internal::traits< Arg1Type >::StorageKind >
typedef internal::generic_xpr_base< CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type > >::type Base
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CwiseTernaryOp (const Arg1 &a1, const Arg2 &a2, const Arg3 &a3, const TernaryOp &func=TernaryOp())
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols () const
 
EIGEN_DEVICE_FUNC const _Arg1Nestedarg1 () const
 
EIGEN_DEVICE_FUNC const _Arg2Nestedarg2 () const
 
EIGEN_DEVICE_FUNC const _Arg3Nestedarg3 () const
 
EIGEN_DEVICE_FUNC const TernaryOp & functor () const
 

Protected Attributes

Arg1Nested m_arg1
 
Arg2Nested m_arg2
 
Arg3Nested m_arg3
 
const TernaryOp m_functor
 

Detailed Description

template<typename TernaryOp, typename Arg1Type, typename Arg2Type, typename Arg3Type>
class Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >

Generic expression where a coefficient-wise ternary operator is applied to two expressions.

Template Parameters
TernaryOptemplate functor implementing the operator
Arg1Typethe type of the first argument
Arg2Typethe type of the second argument
Arg3Typethe type of the third argument

This class represents an expression where a coefficient-wise ternary operator is applied to three expressions. It is the return type of ternary operators, by which we mean only those ternary operators where all three arguments are Eigen expressions. For example, the return type of betainc(matrix1, matrix2, matrix3) is a CwiseTernaryOp.

Most of the time, this is the only way that it is used, so you typically don't have to name CwiseTernaryOp types explicitly.

See also
MatrixBase::ternaryExpr(const MatrixBase<Argument2> &, const MatrixBase<Argument3> &, const CustomTernaryOp &) const, class CwiseBinaryOp, class CwiseUnaryOp, class CwiseNullaryOp

Member Typedef Documentation

◆ _Arg1Nested

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::remove_reference<Arg1Nested>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::_Arg1Nested

◆ _Arg2Nested

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::remove_reference<Arg2Nested>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::_Arg2Nested

◆ _Arg3Nested

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::remove_reference<Arg3Nested>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::_Arg3Nested

◆ Arg1

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::remove_all<Arg1Type>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::Arg1

◆ Arg1Nested

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::ref_selector<Arg1Type>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::Arg1Nested

◆ Arg2

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::remove_all<Arg2Type>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::Arg2

◆ Arg2Nested

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::ref_selector<Arg2Type>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::Arg2Nested

◆ Arg3

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::remove_all<Arg3Type>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::Arg3

◆ Arg3Nested

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef internal::ref_selector<Arg3Type>::type Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::Arg3Nested

◆ Base

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
typedef CwiseTernaryOpImpl<TernaryOp,Arg1Type,Arg2Type,Arg3Type,typenameinternal::traits<Arg1Type>::StorageKind>::Base Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::Base

Constructor & Destructor Documentation

◆ CwiseTernaryOp()

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::CwiseTernaryOp ( const Arg1 a1,
const Arg2 a2,
const Arg3 a3,
const TernaryOp &  func = TernaryOp() 
)
inline

Member Function Documentation

◆ arg1()

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
EIGEN_DEVICE_FUNC const _Arg1Nested & Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::arg1 ( ) const
inline
Returns
the first argument nested expression

◆ arg2()

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
EIGEN_DEVICE_FUNC const _Arg2Nested & Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::arg2 ( ) const
inline
Returns
the first argument nested expression

◆ arg3()

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
EIGEN_DEVICE_FUNC const _Arg3Nested & Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::arg3 ( ) const
inline
Returns
the third argument nested expression

◆ cols()

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::cols ( ) const
inline

◆ functor()

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
EIGEN_DEVICE_FUNC const TernaryOp & Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::functor ( ) const
inline
Returns
the functor representing the ternary operation

◆ rows()

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::rows ( ) const
inline

Member Data Documentation

◆ m_arg1

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
Arg1Nested Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::m_arg1
protected

◆ m_arg2

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
Arg2Nested Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::m_arg2
protected

◆ m_arg3

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
Arg3Nested Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::m_arg3
protected

◆ m_functor

template<typename TernaryOp , typename Arg1Type , typename Arg2Type , typename Arg3Type >
const TernaryOp Eigen::CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type >::m_functor
protected

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