Skip to main content

type_traits Namespace

Deprecated v5.0.1 namespace of the concepts and of the value wrapper templates. More...

Definition​

namespace micro_os_plus::micro_test_plus::type_traits { ... }

Classes Index​

structfloating_point_constant<T, N, D, Size, P>

Struct template representing a generic floating-point constant with custom size and precision. More...

structfunction_traits<T>

Deprecated traits of the callable objects. More...

structfunction_traits<R(*)(Args_T...)>

Deprecated traits of the function pointers. More...

structfunction_traits<R(Args_T...)>

Deprecated traits of the function types. More...

structfunction_traits<R(T::*)(Args_T...) const>

Deprecated traits of the pointers to const member functions. More...

structfunction_traits<R(T::*)(Args_T...)>

Deprecated traits of the pointers to member functions. More...

structidentity<T, Extra>

Deprecated identity type. More...

structintegral_constant<N>

Struct template representing a generic integral constant. More...

structlist<Types>

Deprecated empty type list. More...

structop

Empty base struct for the framework expression types. More...

structvalue<T>

Struct template representing a generic value, accessible via a getter. More...

Concepts Index​

concepthas_npos

Deprecated concept satisfied when T provides a npos member. More...

concepthas_value

Deprecated concept satisfied when T has a member named value. More...

conceptis_floating_point

Deprecated concept satisfied when T is a floating-point type. More...

Typedefs Index​

template <class T>
usinggenuine_integral_value = detail::value< T >

Deprecated integral value wrapper. More...

template <class T>
usingvalue_base_ = detail::value_base< T >

Deprecated name of detail::value_base. More...

Description​

Deprecated v5.0.1 namespace of the concepts and of the value wrapper templates.

In v5.0.1, the concepts, the base of the expressions, and the value wrapper templates were outside detail, in the type_traits namespace. The namespace is kept for compatibility with the existing applications: the names that still exist refer to their current definitions, in the extension and detail namespaces, and the removed helpers are restored here.

The concepts refer to the current ones, so their semantics are the current ones: is_op detects the op_type member, not the inheritance from op; has_epsilon also requires is_op; checkable also accepts the types with an explicit operator bool; printable accepts everything the formatter can print. The exceptions are has_value and has_npos, which are not used by the framework any more, and are restored with their v5.0.1 definitions.

The concepts cannot be deprecated individually, so the attribute is on the namespace. Clang reports the deprecation at every qualified use. GCC reports it only for the names declared in the namespace itself (the restored helpers and the alias templates), and, for the alias templates, only when they name the type of a declaration; it does not report the concepts, nor the names introduced by the using-declarations.

Use the concepts in the extension namespace, and extension::compare_op or extension::predicate_op for the application expressions; the value wrapper templates are internal.

Deprecated

use the extension namespace (since 6.0.0)


Generated via doxygen2docusaurus 2.2.8 by Doxygen 1.18.0.