EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Forwarding.h File Reference

How a function that stores a matrix argument takes it (decisions.md [forwarded-matrices]): the concept MatrixExpression, which constrains its forwarding reference so that an rvalue is moved, and internal::castScalar(), which forwards a matrix that already has the scalar rather than copying it; and internal::forwardLike(), std::forward_like for every standard library. More...

#include <concepts>
#include <type_traits>
#include <utility>
#include <Eigen/Core>

Go to the source code of this file.

Concepts

concept  Emrys::MatrixExpression
 A dense matrix or matrix expression, possibly cv- or reference-qualified: what a const Eigen::MatrixBase<Derived>& parameter accepts.
concept  Emrys::DiagonalExpression
 A diagonal matrix or diagonal expression, possibly cv- or reference-qualified, such as v.asDiagonal() or an Eigen::DiagonalMatrix: what a const Eigen::DiagonalBase<Derived>& parameter accepts.
concept  Emrys::CovarianceExpression
 A covariance as a function that stores one takes it: a MatrixExpression, or a DiagonalExpression, whose diagonal holds the variances and whose other entries are zero, so that GaussianParams<State>{mean, variances.asDiagonal()} needs no toDenseMatrix().

Detailed Description

How a function that stores a matrix argument takes it (decisions.md [forwarded-matrices]): the concept MatrixExpression, which constrains its forwarding reference so that an rvalue is moved, and internal::castScalar(), which forwards a matrix that already has the scalar rather than copying it; and internal::forwardLike(), std::forward_like for every standard library.

Read Allocation.h next.