OpenKalman
Classes | Variables
core-concepts.hpp File Reference

Definitions relating to standard c++ library concepts. More...

#include "language-features.hpp"
Include dependency graph for core-concepts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::stdex::detail::convertible_to_impl< From, To, typename >
 
struct  OpenKalman::stdex::detail::convertible_to_impl< From, To, std::void_t< decltype(static_cast< To >(std::declval< From >()))> >
 
struct  OpenKalman::stdex::detail::default_initializable_impl< T, typename >
 
struct  OpenKalman::stdex::detail::default_initializable_impl< T, std::void_t< decltype(T{}), decltype(::new T)> >
 

Variables

template<typename T , typename U >
constexpr bool OpenKalman::stdex::same_as = std::is_same_v<T, U> and std::is_same_v<U, T>
 
template<typename Derived , typename Base >
constexpr bool OpenKalman::stdex::derived_from
 
template<typename From , typename To >
constexpr bool OpenKalman::stdex::convertible_to = std::is_convertible_v<From, To> and detail::convertible_to_impl<From, To>::value
 
template<typename T >
constexpr bool OpenKalman::stdex::integral = std::is_integral_v<T>
 
template<typename T >
constexpr bool OpenKalman::stdex::signed_integral = integral<T> and std::is_signed_v<T>
 
template<typename T >
constexpr bool OpenKalman::stdex::unsigned_integral = integral<T> and not std::is_signed_v<T>
 
template<typename T >
constexpr bool OpenKalman::stdex::floating_point = std::is_floating_point_v<T>
 
template<typename T , typename... Args>
constexpr bool OpenKalman::stdex::destructible = std::is_nothrow_destructible_v<T>
 
template<typename T , typename... Args>
constexpr bool OpenKalman::stdex::constructible_from = destructible<T> and std::is_constructible_v<T, Args...>
 
template<typename T >
constexpr bool OpenKalman::stdex::default_initializable = constructible_from<T> and detail::default_initializable_impl<T>::value
 
template<typename T >
constexpr bool OpenKalman::stdex::move_constructible = constructible_from<T, T> and convertible_to<T, T>
 
template<typename T >
constexpr bool OpenKalman::stdex::copy_constructible
 

Detailed Description

Definitions relating to standard c++ library concepts.

Variable Documentation

◆ copy_constructible

template<typename T >
constexpr bool OpenKalman::stdex::copy_constructible
inline
Initial value:
=
move_constructible<T> and
constructible_from<T, T&> and convertible_to<T&, T> and
constructible_from<T, const T&> && convertible_to<const T&, T> and
constructible_from<T, const T> && convertible_to<const T, T>

◆ derived_from

template<typename Derived , typename Base >
constexpr bool OpenKalman::stdex::derived_from
inline
Initial value:
=
std::is_base_of_v<Base, Derived> and
std::is_convertible_v<const volatile Derived*, const volatile Base*>