OpenKalman
Classes | Namespaces | Typedefs
common_reference.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::detail::common_ref< typename, typename, typename >
 
struct  OpenKalman::detail::common_ref< A &, B &, std::void_t< cond_res_cvref< A, B > > >
 
struct  OpenKalman::detail::common_ref< A &&, B &&, std::enable_if_t< std::is_convertible_v< A &&, common_ref_C< A, B > > and std::is_convertible_v< B &&, common_ref_C< A, B > > > >
 
struct  OpenKalman::detail::common_ref< A &&, B &, std::enable_if_t< std::is_convertible_v< A &&, common_ref_D< A, B > > > >
 
struct  OpenKalman::detail::common_ref< A &, B && >
 
struct  OpenKalman::detail::common_reference_impl< T1, T2, b, typename >
 
struct  OpenKalman::detail::common_reference_impl< T1 &, T2 &, 1, std::void_t< common_ref_t< T1 &, T2 & > > >
 
struct  OpenKalman::detail::common_reference_impl< T1 &&, T2 &&, 1, std::void_t< common_ref_t< T1 &&, T2 && > > >
 
struct  OpenKalman::detail::common_reference_impl< T1 &, T2 &&, 1, std::void_t< common_ref_t< T1 &, T2 && > > >
 
struct  OpenKalman::detail::common_reference_impl< T1 &&, T2 &, 1, std::void_t< common_ref_t< T1 &&, T2 & > > >
 
struct  OpenKalman::detail::common_reference_impl< T1, T2, 3, std::void_t< cond_res< T1, T2 > > >
 
struct  OpenKalman::detail::common_reference_impl< T1, T2, 4, std::void_t< std::common_type_t< T1, T2 > > >
 
struct  OpenKalman::detail::common_reference_impl< T1, T2, 5, void >
 
struct  OpenKalman::common_reference< T >
 
struct  OpenKalman::common_reference<>
 
struct  OpenKalman::common_reference< T >
 
struct  OpenKalman::common_reference< T1, T2, Ts... >
 

Namespaces

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

Typedefs

template<typename From , typename To >
using OpenKalman::detail::copy_cv = std::conditional_t< std::is_const_v< From >, std::conditional_t< std::is_volatile_v< From >, const volatile To, const To >, std::conditional_t< std::is_volatile_v< From >, volatile To, To > >
 
template<typename A , typename B >
using OpenKalman::detail::cond_res = decltype(false ? std::declval< A(&)()>()() :std::declval< B(&)()>()())
 
template<typename A , typename B >
using OpenKalman::detail::cond_res_cvref = cond_res< copy_cv< A, B > &, copy_cv< B, A > & >
 
template<typename A , typename B >
using OpenKalman::detail::common_ref_t = typename common_ref< A, B >::type
 
template<typename A , typename B >
using OpenKalman::detail::common_ref_C = std::remove_reference_t< common_ref_t< A &, B & > > &&
 
template<typename A , typename B >
using OpenKalman::detail::common_ref_D = common_ref_t< const A &, B & >
 
template<typename... T>
using OpenKalman::common_reference_t = typename common_reference< T... >::type