OpenKalman
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
language-features.hpp File Reference

Definitions relating to the availability of c++ language features. More...

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

Go to the source code of this file.

Classes

class  OpenKalman::partial_ordering
 
struct  OpenKalman::compare_three_way
 
struct  OpenKalman::internal::detail::decay_copy_impl
 
struct  OpenKalman::is_bounded_array< T >
 
struct  OpenKalman::is_bounded_array< T[N]>
 
struct  OpenKalman::internal::detail::is_integer_like_impl< T, typename >
 
struct  OpenKalman::internal::detail::is_integer_like_impl< bool >
 
struct  OpenKalman::internal::detail::is_integer_like_impl< const bool >
 
struct  OpenKalman::internal::detail::is_integer_like_impl< volatile bool >
 
struct  OpenKalman::internal::detail::is_integer_like_impl< const volatile bool >
 
struct  OpenKalman::internal::detail::is_integer_like_impl< T, std::enable_if_t< std::is_integral_v< T > > >
 
class  OpenKalman::reference_wrapper< T >
 
struct  OpenKalman::identity
 
struct  OpenKalman::type_identity< T >
 
struct  OpenKalman::detail::convertible_to_impl< From, To, typename >
 
struct  OpenKalman::detail::convertible_to_impl< From, To, std::void_t< decltype(static_cast< To >(std::declval< From >()))> >
 
struct  OpenKalman::internal::std_get_detail::member_get_is_defined< i, T, typename >
 
struct  OpenKalman::internal::std_get_detail::member_get_is_defined< i, T, std::void_t< decltype(std::declval< T >().template get< i >())> >
 
struct  OpenKalman::internal::std_get_detail::function_get_is_defined< i, T, typename >
 
struct  OpenKalman::internal::std_get_detail::function_get_is_defined< i, T, std::void_t< decltype(get< i >(std::declval< T >()))> >
 
struct  OpenKalman::internal::std_get_detail::get_impl< i >
 

Namespaces

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

Macros

#define OPENKALMAN_CPP_FEATURE_CONCEPTS   true
 
#define OPENKALMAN_CPP_FEATURE_CONCEPTS_2   true
 

Typedefs

template<typename T >
using OpenKalman::type_identity_t = typename type_identity< T >::type
 
template<typename T >
using OpenKalman::detail::remove_cvref_t = std::remove_cv_t< std::remove_reference_t< T > >
 

Enumerations

enum  Ord : signed char { equivalent = 0, less = -1, greater = 1, unordered = 2 }
 

Functions

constexpr std::size_t operator""_uz (unsigned long long x)
 
template<typename T , typename U >
constexpr bool OpenKalman::cmp_equal (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::cmp_not_equal (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::cmp_less (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::cmp_greater (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::cmp_less_equal (T t, U u) noexcept
 
template<typename T , typename U >
constexpr bool OpenKalman::cmp_greater_equal (T t, U u) noexcept
 
template<typename T >
constexpr T & OpenKalman::detail::reference_wrapper_FUN (T &t) noexcept
 
template<typename T >
void OpenKalman::detail::reference_wrapper_FUN (T &&)=delete
 
template<typename T >
 OpenKalman::reference_wrapper (T &) -> reference_wrapper< T >
 
template<typename T >
constexpr std::reference_wrapper< T > OpenKalman::ref (T &t) noexcept
 
template<typename T >
constexpr std::reference_wrapper< T > OpenKalman::ref (std::reference_wrapper< T > t) noexcept
 
template<typename T >
void OpenKalman::ref (const T &&)=delete
 
template<typename T >
constexpr std::reference_wrapper< const T > OpenKalman::cref (const T &t) noexcept
 
template<typename T >
constexpr std::reference_wrapper< const T > OpenKalman::cref (std::reference_wrapper< T > t) noexcept
 
template<typename T >
void OpenKalman::cref (const T &&)=delete
 
template<typename R , typename F , typename... Args, std::enable_if_t< std::is_invocable_r_v< R, F, Args... >, int > = 0>
constexpr R OpenKalman::invoke_r (F &&f, Args &&... args) noexcept(std::is_nothrow_invocable_r_v< R, F, Args... >)
 

Variables

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::e_v = 2.718281828459045235360287471352662498L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::log2e_v = 1.442695040888963407359924681001892137L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::log10e_v = 0.434294481903251827651128918916605082L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::pi_v = 3.141592653589793238462643383279502884L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::inv_pi_v = 0.318309886183790671537767526745028724L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::inv_sqrtpi_v = 0.564189583547756286948079451560772586L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::ln2_v = 0.693147180559945309417232121458176568L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::ln10_v = 2.302585092994045684017991454684364208L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::sqrt2_v = 1.414213562373095048801688724209698079L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::sqrt3_v = 1.732050807568877293527446341505872367L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::inv_sqrt3_v = 0.577350269189625764509148780501957456L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::egamma_v = 0.577215664901532860606512090082402431L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::numbers::phi_v = 1.618033988749894848204586834365638118L
 
constexpr double OpenKalman::numbers::e = e_v<double>
 
constexpr double OpenKalman::numbers::log2e = log2e_v<double>
 
constexpr double OpenKalman::numbers::log10e = log10e_v<double>
 
constexpr double OpenKalman::numbers::pi = pi_v<double>
 
constexpr double OpenKalman::numbers::inv_pi = inv_pi_v<double>
 
constexpr double OpenKalman::numbers::inv_sqrtpi = inv_sqrtpi_v<double>
 
constexpr double OpenKalman::numbers::ln2 = ln2_v<double>
 
constexpr double OpenKalman::numbers::ln10 = ln10_v<double>
 
constexpr double OpenKalman::numbers::sqrt2 = sqrt2_v<double>
 
constexpr double OpenKalman::numbers::sqrt3 = sqrt3_v<double>
 
constexpr double OpenKalman::numbers::inv_sqrt3 = inv_sqrt3_v<double>
 
constexpr double OpenKalman::numbers::egamma = egamma_v<double>
 
constexpr double OpenKalman::numbers::phi = phi_v<double>
 
constexpr detail::decay_copy_impl OpenKalman::internal::decay_copy
 
template<typename T >
constexpr bool OpenKalman::is_bounded_array_v = is_bounded_array<T>::value
 
template<typename T >
constexpr bool OpenKalman::internal::is_integer_like = detail::is_integer_like_impl<T>::value
 
template<typename T >
constexpr bool OpenKalman::internal::is_signed_integer_like = is_integer_like<T> and std::is_signed_v<T>
 
template<typename T >
constexpr bool OpenKalman::internal::is_unsigned_integer_like = is_integer_like<T> and std::is_unsigned_v<T>
 
template<typename T , typename... Args>
constexpr bool OpenKalman::destructible = std::is_nothrow_destructible_v<T>
 
template<typename T , typename... Args>
constexpr bool OpenKalman::constructible_from = destructible<T> and std::is_constructible_v<T, Args...>
 
template<typename From , typename To >
constexpr bool OpenKalman::convertible_to = std::is_convertible_v<From, To> and detail::convertible_to_impl<From, To>::value
 
template<typename T >
constexpr bool OpenKalman::move_constructible = constructible_from<T, T> and convertible_to<T, T>
 
template<typename T >
constexpr bool OpenKalman::copy_constructible
 
template<typename T >
constexpr bool OpenKalman::movable
 
template<typename T >
constexpr bool OpenKalman::copyable
 
template<typename T >
constexpr bool OpenKalman::semiregular = copyable<T> and std::is_default_constructible_v<T>
 
template<std::size_t i>
constexpr std_get_detail::get_impl< i > OpenKalman::internal::generalized_std_get
 

Detailed Description

Definitions relating to the availability of c++ language features.