stdFoam Namespace Reference

Namespace for std templates that are are part of future C++ standards or that are in a state of change. More...

Classes

struct  is_template_base_of
 Test for a is_base_of relationship for templated base classes. More...
 
struct  is_template_nttp_base_of
 Test for a is_base_of relationship for templated base classes with one non-type template parameter. More...
 
class  span
 Rudimentary functionality similar to std::span for holding memory view. More...
 
struct  type_identity
 Provides the member typedef type that names T (i.e., the identity transformation). More...
 

Typedefs

template<class T >
using remove_cvref_t = std::remove_cv_t< std::remove_reference_t< T > >
 C++17 fallback for std::remove_cvref_t (c++20) More...
 
template<class T >
using type_identity_t = typename type_identity< T >::type
 The type from type_identity. More...
 

Variables

template<typename... >
constexpr bool dependent_false_v = false
 Map any dependent type to false (workaround before CWG2518) More...
 
template<typename T >
constexpr bool is_bool_v = std::is_same<bool, std::remove_cv_t<T>>::value
 Test for bool type (after removing cv) More...
 
template<typename T >
constexpr bool is_char_v = std::is_same<char, std::remove_cv_t<T>>::value
 Test for char type (after removing cv) More...
 
template<template< class... > class Base, class Derived >
constexpr bool is_template_base_of_v = is_template_base_of<Base, Derived>::value
 Test for is_base_of relationship for templated base classes. More...
 
template<template< class, auto > class Base, class Derived >
constexpr bool is_template_nttp_base_of_v = is_template_nttp_base_of<Base, Derived>::value
 Test for is_base_of relationship for templated base classes with one non-type template parameter (NNTP) More...
 

Detailed Description

Typedef Documentation

◆ remove_cvref_t

using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T> >

C++17 fallback for std::remove_cvref_t (c++20)

Definition at line 209 of file stdFoam.H.

◆ type_identity_t

using type_identity_t = typename type_identity<T>::type

The type from type_identity.

Available as C++20 std::type_identity_t (__cpp_lib_type_identity >= 201806L)

Definition at line 232 of file stdFoam.H.

Variable Documentation

◆ dependent_false_v

constexpr bool dependent_false_v = false
inline

Map any dependent type to false (workaround before CWG2518)

Definition at line 182 of file stdFoam.H.

◆ is_bool_v

constexpr bool is_bool_v = std::is_same<bool, std::remove_cv_t<T>>::value
inline

Test for bool type (after removing cv)

Definition at line 189 of file stdFoam.H.

◆ is_char_v

constexpr bool is_char_v = std::is_same<char, std::remove_cv_t<T>>::value
inline

Test for char type (after removing cv)

Definition at line 196 of file stdFoam.H.

◆ is_template_base_of_v

constexpr bool is_template_base_of_v = is_template_base_of<Base, Derived>::value
inline

Test for is_base_of relationship for templated base classes.

Definition at line 288 of file stdFoam.H.

◆ is_template_nttp_base_of_v

constexpr bool is_template_nttp_base_of_v = is_template_nttp_base_of<Base, Derived>::value
inline

Test for is_base_of relationship for templated base classes with one non-type template parameter (NNTP)

Definition at line 296 of file stdFoam.H.