OpenKalman
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix > Struct Template Reference
Inheritance diagram for OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >:
Collaboration graph
[legend]

Public Member Functions

auto & operator= (const CovarianceBase3Impl &other)
 Copy assignment operator.
 
auto & operator= (CovarianceBase3Impl &&other) noexcept
 Move assignment operator.
 
template<typename Arg >
auto & operator= (Arg &&arg)
 
template<typename Arg , std::enable_if_t< covariance_nestable< Arg >, int > = 0>
auto & operator= (Arg &&arg)
 Assign from a covariance_nestable.
 
auto operator() (std::size_t i, std::size_t j)
 Get or set element (i, j) of the covariance matrix. More...
 
auto operator() (std::size_t i, std::size_t j) const
 
auto operator[] (std::size_t i)
 Get or set element i of the covariance matrix. More...
 
auto operator[] (std::size_t i) const
 
void set_component (const Scalar s, const std::size_t i, const std::size_t j)
 Set an element of the cholesky nested matrix.
 
void set_component (const Scalar s, const std::size_t i)
 Set an element of the cholesky nested matrix.
 
- Public Member Functions inherited from OpenKalman::internal::AdapterBase< Derived, NestedMatrix >
constexpr AdapterBase ()
 Default constructor.
 
constexpr AdapterBase (Arg &&arg, typename std::enable_if< std::is_constructible< NestedMatrix, Arg && >::value >::type *=0)
 Construct from a compatible indexible type.
 
constexpr NestedMatrix & nested_object () &
 Get the nested object.
 
constexpr const NestedMatrix & nested_object () const &
 
constexpr NestedMatrix && nested_object () &&
 
constexpr const NestedMatrix && nested_object () const &&
 
constexpr auto operator[] (const Indices &indices) &
 Access a component at a set of indices. More...
 
constexpr auto operator[] (const Indices &indices) &&
 
constexpr auto operator[] (const Indices &indices) const &
 
constexpr auto operator[] (const Indices &indices) const &&
 

Protected Types

using CholeskyNestedMatrix = std::conditional_t< diagonal_matrix< NestedMatrix >, typename MatrixTraits< std::decay_t< NestedMatrix > >::template DiagonalMatrixFrom<>, std::conditional_t< triangular_matrix< NestedMatrix >, typename MatrixTraits< std::decay_t< NestedMatrix > >::template SelfAdjointMatrixFrom<>, typename MatrixTraits< std::decay_t< NestedMatrix > >::template TriangularAdapterFrom<> >>
 

Protected Member Functions

auto & cholesky_nested_matrix () &
 
const auto & cholesky_nested_matrix () const &
 
auto && cholesky_nested_matrix () &&
 
const auto && cholesky_nested_matrix () const &&
 
int synchronization_direction () const
 
void synchronize_forward () const &
 
void synchronize_forward () const &&
 
void mark_nested_matrix_changed () const
 
void mark_cholesky_nested_matrix_changed () const
 
void mark_synchronized () const
 
template<typename T = NestedMatrix, std::enable_if_t< std::is_default_constructible_v< T >, int > = 0>
 CovarianceBase3Impl ()
 Default constructor.
 
 CovarianceBase3Impl (const CovarianceBase3Impl &other)=default
 Copy constructor.
 
 CovarianceBase3Impl (CovarianceBase3Impl &&other) noexcept=default
 Move constructor.
 
template<typename Arg , std::enable_if_t<(triangular_matrix< Arg >==triangular_matrix< NestedMatrix >) and(not diagonal_matrix< Arg >), int > = 0>
 CovarianceBase3Impl (Arg &&arg, int sd)
 
template<typename Arg , std::enable_if_t<(triangular_matrix< Arg > !=triangular_matrix< NestedMatrix >) or diagonal_matrix< Arg >, int > = 0>
 CovarianceBase3Impl (Arg &&arg, int sd)
 
template<typename N , typename CN >
 CovarianceBase3Impl (N &&n, CN &&cn, int sd)
 
- Protected Member Functions inherited from OpenKalman::internal::AdapterBase< Derived, NestedMatrix >
constexpr AdapterBaseoperator= (Arg &&arg)
 Assign from another compatible indexible object.
 

Protected Attributes

CholeskyNestedMatrix cholesky_nested
 
int synch_direction
 

Member Function Documentation

◆ cholesky_nested_matrix() [1/3]

template<typename Derived , typename NestedMatrix >
const auto& OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >::cholesky_nested_matrix ( ) const &
inlineprotected

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ cholesky_nested_matrix() [2/3]

template<typename Derived , typename NestedMatrix >
auto&& OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >::cholesky_nested_matrix ( ) &&
inlineprotected

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ cholesky_nested_matrix() [3/3]

template<typename Derived , typename NestedMatrix >
const auto&& OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >::cholesky_nested_matrix ( ) const &&
inlineprotected

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator()() [1/2]

template<typename Derived , typename NestedMatrix >
auto OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >::operator() ( std::size_t  i,
std::size_t  j 
)
inline

Get or set element (i, j) of the covariance matrix.

Parameters
iThe row.
jThe column.
Returns
An ElementAccessor object.

◆ operator()() [2/2]

template<typename Derived , typename NestedMatrix >
auto OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >::operator() ( std::size_t  i,
std::size_t  j 
) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator[]() [1/2]

template<typename Derived , typename NestedMatrix >
auto OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >::operator[] ( std::size_t  i)
inline

Get or set element i of the covariance matrix.

Parameters
iThe row.
Returns
An ElementAccessor object.

◆ operator[]() [2/2]

template<typename Derived , typename NestedMatrix >
auto OpenKalman::internal::CovarianceBase3Impl< Derived, NestedMatrix >::operator[] ( std::size_t  i) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.


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