OpenKalman
Classes | Typedefs | Enumerations | Variables
eigen-forward-declarations.hpp File Reference

Forward declarations for OpenKalman's Eigen interface. More...

#include <type_traits>
Include dependency graph for eigen-forward-declarations.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::Eigen3::NullaryFunctorTraits< NullaryOp, PlainObjectType >
 
struct  OpenKalman::Eigen3::UnaryFunctorTraits< Operation >
 
struct  OpenKalman::Eigen3::BinaryFunctorTraits< Operation >
 
struct  OpenKalman::Eigen3::TernaryFunctorTraits< Operation, Arg1, Arg2, Arg3 >
 
struct  OpenKalman::Eigen3::EigenCustomBase
 
struct  OpenKalman::Eigen3::EigenAdapterBase< Derived, Base >
 
struct  OpenKalman::Eigen3::detail::is_ArrayWrapper< T >
 
struct  OpenKalman::Eigen3::detail::is_ArrayWrapper< Eigen::ArrayWrapper< XprType > >
 
struct  OpenKalman::Eigen3::detail::is_Block< T >
 
struct  OpenKalman::Eigen3::detail::is_Block< Eigen::Block< XprType, BlockRows, BlockCols, InnerPanel > >
 
struct  OpenKalman::Eigen3::detail::is_CwiseUnaryOp< T >
 
struct  OpenKalman::Eigen3::detail::is_CwiseUnaryOp< Eigen::CwiseUnaryOp< UnaryOp, XprType > >
 
struct  OpenKalman::Eigen3::detail::is_CwiseUnaryView< T >
 
struct  OpenKalman::Eigen3::detail::is_CwiseUnaryView< Eigen::CwiseUnaryView< ViewOp, XprType > >
 
struct  OpenKalman::Eigen3::detail::is_DiagonalMatrix< T >
 
struct  OpenKalman::Eigen3::detail::is_DiagonalMatrix< Eigen::DiagonalMatrix< Scalar, SizeAtCompileTime, MaxSizeAtCompileTime > >
 
struct  OpenKalman::Eigen3::detail::is_DiagonalWrapper< T >
 
struct  OpenKalman::Eigen3::detail::is_DiagonalWrapper< Eigen::DiagonalWrapper< DiagonalVectorType > >
 
struct  OpenKalman::Eigen3::detail::is_eigen_Identity< T >
 
struct  OpenKalman::Eigen3::detail::is_eigen_Identity< Eigen::CwiseNullaryOp< Eigen::internal::scalar_identity_op< Scalar >, Arg > >
 
struct  OpenKalman::Eigen3::detail::is_eigen_MatrixWrapper< T >
 
struct  OpenKalman::Eigen3::detail::is_eigen_MatrixWrapper< Eigen::MatrixWrapper< XprType > >
 
struct  OpenKalman::Eigen3::detail::is_eigen_Replicate< T >
 
struct  OpenKalman::Eigen3::detail::is_eigen_Replicate< Eigen::Replicate< MatrixType, RowFactor, ColFactor > >
 
struct  OpenKalman::Eigen3::eigen_Replicate_factor< T, direction >
 The replication factor for Eigen::Replicate in a given direction. More...
 
struct  OpenKalman::Eigen3::detail::is_eigen_SelfAdjointView< T >
 
struct  OpenKalman::Eigen3::detail::is_eigen_SelfAdjointView< Eigen::SelfAdjointView< MatrixType, UpLo > >
 
struct  OpenKalman::Eigen3::detail::is_eigen_TriangularView< T >
 
struct  OpenKalman::Eigen3::detail::is_eigen_TriangularView< Eigen::TriangularView< MatrixType, UpLo > >
 
struct  OpenKalman::Eigen3::detail::is_eigen_VectorBlock< T >
 
struct  OpenKalman::Eigen3::detail::is_eigen_VectorBlock< Eigen::VectorBlock< T, Size > >
 
struct  OpenKalman::Eigen3::detail::is_derived_eigen_matrix< T >
 
struct  OpenKalman::Eigen3::detail::is_derived_eigen_matrix< Eigen::VectorBlock< T, Size > >
 
struct  OpenKalman::Eigen3::detail::is_derived_eigen_array< T >
 
struct  OpenKalman::Eigen3::detail::is_derived_eigen_array< Eigen::VectorBlock< T, Size > >
 
struct  OpenKalman::Eigen3::indexible_object_traits_base< T, typename >
 Trait object providing get and set routines. More...
 

Typedefs

template<typename NestedMatrix >
using OpenKalman::Eigen3::IdentityMatrix = Eigen::CwiseNullaryOp< Eigen::internal::scalar_identity_op< typename Eigen::internal::traits< std::decay_t< NestedMatrix > >::Scalar >, NestedMatrix >
 An alias for the Eigen identity matrix. More...
 
template<typename Scalar , std::size_t... dims>
using OpenKalman::Eigen3::eigen_matrix_t = std::conditional_t< sizeof...(dims)==1, Eigen::Matrix< Scalar, detail::eigen_index_convert< dims >..., detail::eigen_index_convert< 1 > >, Eigen::Matrix< Scalar, detail::eigen_index_convert< dims >... > >
 An alias for a self-contained, writable, native Eigen matrix. More...
 
using OpenKalman::Eigen3::EIC = Eigen::internal::ComparisonName
 

Enumerations

enum  BinaryFunctorType : int { OpenKalman::Eigen3::BinaryFunctorType::normal, OpenKalman::Eigen3::BinaryFunctorType::sum, OpenKalman::Eigen3::BinaryFunctorType::product }
 

Variables

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_ArrayWrapper
 T is of type Eigen::ArrayWrapper. More...
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_Block
 Specifies whether T is Eigen::Block. More...
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_CwiseUnaryOp
 Specifies whether T is Eigen::CwiseUnaryOp. More...
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_CwiseUnaryView
 Specifies whether T is Eigen::CwiseUnaryView. More...
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_DiagonalMatrix
 T is of type Eigen::DiagonalMatrix. More...
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_DiagonalWrapper
 T is of type Eigen::DiagonalMatrix. More...
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_Identity = detail::is_eigen_Identity<std::decay_t<T>>::value
 T is an Eigen identity matrix (not necessarily an identity_matrix).
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_MatrixWrapper = detail::is_eigen_MatrixWrapper<std::decay_t<T>>::value
 T is of type Eigen::MatrixWrapper.
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_Replicate
 T is of type Eigen::Replicate. More...
 
template<typename T , std::size_t direction>
constexpr auto OpenKalman::Eigen3::eigen_Replicate_factor_v = eigen_Replicate_factor<T, direction>::value
 Helper template for eigen_Replicate_factor.
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_SelfAdjointView = detail::is_eigen_SelfAdjointView<std::decay_t<T>>::value
 T is of type Eigen::SelfAdjointView.
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_TriangularView = detail::is_eigen_TriangularView<std::decay_t<T>>::value
 T is of type Eigen::TriangularView.
 
template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_VectorBlock
 Specifies whether T is Eigen::VectorBlock. More...
 
template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_general
 Specifies any descendant of Eigen::EigenBase. More...
 
template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_matrix_general
 Specifies a native Eigen3 matrix or expression class deriving from Eigen::MatrixBase. More...
 
template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_array_general
 Specifies a native Eigen3 array or expression class deriving from Eigen::ArrayBase. More...
 
template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_dense_general
 Specifies a native Eigen3 object deriving from Eigen::MatrixBase or Eigen::ArrayBase. More...
 
template<std::size_t size>
constexpr auto OpenKalman::Eigen3::detail::eigen_index_convert = size == dynamic_size ? Eigen::Dynamic : static_cast<Eigen::Index>(size)
 

Detailed Description

Forward declarations for OpenKalman's Eigen interface.

Typedef Documentation

◆ eigen_matrix_t

template<typename Scalar , std::size_t... dims>
using OpenKalman::Eigen3::eigen_matrix_t = typedef std::conditional_t<sizeof...(dims) == 1, Eigen::Matrix<Scalar, detail::eigen_index_convert<dims>..., detail::eigen_index_convert<1> >, Eigen::Matrix<Scalar, detail::eigen_index_convert<dims>...> >

An alias for a self-contained, writable, native Eigen matrix.

Template Parameters
ScalarScalar type of the matrix (defaults to the Scalar type of T).
rowsNumber of rows in the native matrix (0 if not fixed at compile time).
colsNumber of columns in the native matrix (0 if not fixed at compile time).

◆ IdentityMatrix

template<typename NestedMatrix >
using OpenKalman::Eigen3::IdentityMatrix = typedef Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op< typename Eigen::internal::traits<std::decay_t<NestedMatrix> >::Scalar>, NestedMatrix>

An alias for the Eigen identity matrix.

Note
In Eigen, this does not need to be a square_shaped.
Template Parameters
NestedMatrixThe nested matrix on which the identity is based.

Variable Documentation

◆ eigen_array_general

template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_array_general
Initial value:
=
(eigen_general<T, must_be_native> and std::is_base_of_v<Eigen::ArrayBase<std::decay_t<T>>, std::decay_t<T>>) or
detail::is_derived_eigen_array<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

Specifies a native Eigen3 array or expression class deriving from Eigen::ArrayBase.

Template Parameters
must_be_nativeT is required to be a native Eigen object.

◆ eigen_ArrayWrapper

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_ArrayWrapper
Initial value:
=
detail::is_ArrayWrapper<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

T is of type Eigen::ArrayWrapper.

◆ eigen_Block

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_Block
Initial value:
=
detail::is_Block<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

Specifies whether T is Eigen::Block.

◆ eigen_CwiseUnaryOp

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_CwiseUnaryOp
Initial value:
=
detail::is_CwiseUnaryOp<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

Specifies whether T is Eigen::CwiseUnaryOp.

◆ eigen_CwiseUnaryView

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_CwiseUnaryView
Initial value:
=
detail::is_CwiseUnaryView<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

Specifies whether T is Eigen::CwiseUnaryView.

◆ eigen_dense_general

template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_dense_general
Initial value:
=
eigen_matrix_general<T, must_be_native> or eigen_array_general<T, must_be_native>

Specifies a native Eigen3 object deriving from Eigen::MatrixBase or Eigen::ArrayBase.

Template Parameters
must_be_nativeT is required to be a native Eigen object.

◆ eigen_DiagonalMatrix

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_DiagonalMatrix
Initial value:
=
detail::is_DiagonalMatrix<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

T is of type Eigen::DiagonalMatrix.

◆ eigen_DiagonalWrapper

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_DiagonalWrapper
Initial value:
=
detail::is_DiagonalWrapper<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

T is of type Eigen::DiagonalMatrix.

◆ eigen_general

template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_general
Initial value:
=
(std::is_base_of_v<Eigen::EigenBase<std::decay_t<T>>, std::decay_t<T>> or eigen_VectorBlock<T>) and
(not must_be_native or not std::is_base_of_v<EigenCustomBase, std::decay_t<T>>)

Specifies any descendant of Eigen::EigenBase.

Template Parameters
must_be_nativeT is required to be a native Eigen object.

◆ eigen_matrix_general

template<typename T , bool must_be_native = false>
constexpr bool OpenKalman::Eigen3::eigen_matrix_general
Initial value:
=
(eigen_general<T, must_be_native> and std::is_base_of_v<Eigen::MatrixBase<std::decay_t<T>>, std::decay_t<T>>) or
detail::is_derived_eigen_matrix<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

Specifies a native Eigen3 matrix or expression class deriving from Eigen::MatrixBase.

Template Parameters
must_be_nativeT is required to be a native Eigen object.

◆ eigen_Replicate

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_Replicate
Initial value:
=
detail::is_eigen_Replicate<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

T is of type Eigen::Replicate.

◆ eigen_VectorBlock

template<typename T >
constexpr bool OpenKalman::Eigen3::eigen_VectorBlock
Initial value:
=
detail::is_eigen_VectorBlock<std::decay_t<T>>::value
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31

Specifies whether T is Eigen::VectorBlock.