OpenKalman
Classes | Namespaces | Functions | Variables
TransformationTraits.hpp File Reference

Defines traits relating to transformations. More...

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

Go to the source code of this file.

Classes

struct  OpenKalman::internal::is_linearized_function< T, order, typename >
 
struct  OpenKalman::internal::is_linearized_function< T, 0, std::enable_if_t<(std::is_member_function_pointer_v< decltype(&T::operator())> or std::is_function_v< T >)> >
 
struct  OpenKalman::internal::is_linearized_function< T, 1, std::enable_if_t<(std::is_member_function_pointer_v< decltype(&T::jacobian)> and linearized_function< T, 0 >)> >
 
struct  OpenKalman::internal::is_linearized_function< T, 2, std::enable_if_t<(std::is_member_function_pointer_v< decltype(&T::hessian)> and linearized_function< T, 1 >)> >
 
struct  OpenKalman::internal::PerturbationTraits< T, typename >
 
struct  OpenKalman::internal::PerturbationTraits< T, std::enable_if_t< gaussian_distribution< T > > >
 
struct  OpenKalman::internal::PerturbationTraits< T, std::enable_if_t< typed_matrix< T > > >
 
struct  OpenKalman::detail::is_perturbation< T, Coeffs, typename >
 
struct  OpenKalman::detail::is_perturbation< T, Coeffs, std::enable_if_t< gaussian_distribution< T > and compares_with< typename oin::PerturbationTraits< T >::RowCoefficients, Coeffs > > >
 
struct  OpenKalman::detail::is_perturbation< T, Coeffs, std::enable_if_t<(not gaussian_distribution< T >) and transformation_input< T, Coeffs > > >
 

Namespaces

 OpenKalman
 The root namespace for OpenKalman.
 
 OpenKalman::detail
 T is an acceptable noise perturbation input to a tests.
 

Functions

template<typename Arg , std::enable_if_t< perturbation< Arg >, int > = 0>
auto OpenKalman::internal::get_perturbation (Arg &&arg)
 
template<typename OutputCoefficients , typename In >
auto OpenKalman::detail::zero_hessian_impl ()
 
template<typename OutputCoefficients , typename In , typename ... Perturbations>
auto OpenKalman::zero_hessian ()
 A tuple of zero-filled arrays of Hessian matrices, based on the input and each perturbation term.
 
template<typename OutputCoefficients , typename In , typename ... Perturbations>
auto OpenKalman::zero_hessian (In &&, Perturbations &&...)
 A tuple of zero-filled arrays of Hessian matrices, based on the input and each perturbation term.
 

Variables

template<typename T , std::size_t order = 1>
constexpr bool OpenKalman::linearized_function
 A linearized function (with defined Jacobian and optionally Hessian functions). More...
 
template<typename T , typename Coeffs = typename oin::PerturbationTraits<T>::RowCoefficients>
constexpr bool OpenKalman::transformation_input
 T is an acceptable input to a tests. More...
 
template<typename T , typename Coeffs = typename oin::PerturbationTraits<T>::RowCoefficients>
constexpr bool OpenKalman::perturbation = OpenKalman::detail::is_perturbation<T, Coeffs>::value
 

Detailed Description

Defines traits relating to transformations.