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

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

#include <cstddef>
#include <type_traits>
#include <functional>
#include <utility>
#include "common.hpp"
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

struct  OpenKalman::stdex::remove_cvref< T >
 
struct  OpenKalman::stdex::is_bounded_array< T >
 
struct  OpenKalman::stdex::is_bounded_array< T[N]>
 
struct  OpenKalman::stdex::reference_wrapper< T >
 
struct  OpenKalman::stdex::unwrap_reference< T >
 
struct  OpenKalman::stdex::unwrap_reference< std::reference_wrapper< U > >
 
struct  OpenKalman::stdex::unwrap_reference< stdex::reference_wrapper< U > >
 
struct  OpenKalman::stdex::unwrap_ref_decay< T >
 
struct  OpenKalman::stdex::identity
 
struct  OpenKalman::stdex::type_identity< T >
 

Namespaces

 OpenKalman
 The root namespace for OpenKalman.
 

Macros

#define OPENKALMAN_CPP_FEATURE_CONCEPTS   true
 
#define OPENKALMAN_CPP_FEATURE_CONCEPTS_2   true
 

Typedefs

template<typename T >
using OpenKalman::stdex::remove_cvref_t = typename remove_cvref< T >::type
 
template<typename T >
using OpenKalman::stdex::unwrap_reference_t = typename unwrap_reference< T >::type
 
template<typename T >
using OpenKalman::stdex::unwrap_ref_decay_t = typename unwrap_ref_decay< T >::type
 
template<typename T >
using OpenKalman::stdex::type_identity_t = typename type_identity< T >::type
 

Functions

constexpr std::size_t OpenKalman::operator""_uz (unsigned long long x)
 
template<typename T >
constexpr T & OpenKalman::stdex::detail::reference_wrapper_FUN (T &t) noexcept
 
template<typename T >
void OpenKalman::stdex::detail::reference_wrapper_FUN (T &&)=delete
 
template<typename T >
 OpenKalman::stdex::reference_wrapper (T &) -> reference_wrapper< T >
 
template<typename T >
constexpr std::reference_wrapper< T > OpenKalman::stdex::ref (T &t) noexcept
 
template<typename T >
constexpr std::reference_wrapper< T > OpenKalman::stdex::ref (std::reference_wrapper< T > t) noexcept
 
template<typename T >
void OpenKalman::stdex::ref (const T &&)=delete
 
template<typename T >
constexpr std::reference_wrapper< const T > OpenKalman::stdex::cref (const T &t) noexcept
 
template<typename T >
constexpr std::reference_wrapper< const T > OpenKalman::stdex::cref (std::reference_wrapper< T > t) noexcept
 
template<typename T >
void OpenKalman::stdex::cref (const T &&)=delete
 

Variables

template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::e_v = 2.718281828459045235360287471352662498L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::log2e_v = 1.442695040888963407359924681001892137L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::log10e_v = 0.434294481903251827651128918916605082L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::pi_v = 3.141592653589793238462643383279502884L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::inv_pi_v = 0.318309886183790671537767526745028724L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::inv_sqrtpi_v = 0.564189583547756286948079451560772586L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::ln2_v = 0.693147180559945309417232121458176568L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::ln10_v = 2.302585092994045684017991454684364208L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::sqrt2_v = 1.414213562373095048801688724209698079L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::sqrt3_v = 1.732050807568877293527446341505872367L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::inv_sqrt3_v = 0.577350269189625764509148780501957456L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::egamma_v = 0.577215664901532860606512090082402431L
 
template<typename T , std::enable_if_t< std::is_floating_point_v< T >, int > = 0>
constexpr T OpenKalman::stdex::numbers::phi_v = 1.618033988749894848204586834365638118L
 
constexpr double OpenKalman::stdex::numbers::e = e_v<double>
 
constexpr double OpenKalman::stdex::numbers::log2e = log2e_v<double>
 
constexpr double OpenKalman::stdex::numbers::log10e = log10e_v<double>
 
constexpr double OpenKalman::stdex::numbers::pi = pi_v<double>
 
constexpr double OpenKalman::stdex::numbers::inv_pi = inv_pi_v<double>
 
constexpr double OpenKalman::stdex::numbers::inv_sqrtpi = inv_sqrtpi_v<double>
 
constexpr double OpenKalman::stdex::numbers::ln2 = ln2_v<double>
 
constexpr double OpenKalman::stdex::numbers::ln10 = ln10_v<double>
 
constexpr double OpenKalman::stdex::numbers::sqrt2 = sqrt2_v<double>
 
constexpr double OpenKalman::stdex::numbers::sqrt3 = sqrt3_v<double>
 
constexpr double OpenKalman::stdex::numbers::inv_sqrt3 = inv_sqrt3_v<double>
 
constexpr double OpenKalman::stdex::numbers::egamma = egamma_v<double>
 
constexpr double OpenKalman::stdex::numbers::phi = phi_v<double>
 
template<typename T >
constexpr bool OpenKalman::stdex::is_bounded_array_v = is_bounded_array<T>::value
 

Detailed Description

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