Arene Base
Fundamental Utilities For Safety Critical C++
Loading...
Searching...
No Matches
std::pointer_traits_detail Namespace Reference

Typedef Documentation

◆ pointer_to_arg_t

template<class ElementType>
using std::pointer_traits_detail::pointer_to_arg_t = conditional_t<is_void_v<ElementType>, unspecified, ElementType>&

Determine the input argument type of pointer_traits<PointerLike>::pointer_to.

If PointerLike::element_type is void, then the argument type is unspecified Otherwise, the argument type is element_type&

◆ require_difference_type

template<class PointerLike>
using std::pointer_traits_detail::require_difference_type = typename PointerLike::difference_type

Require that PointerLike has a type member named difference_type.

◆ require_element_type

template<class PointerLike>
using std::pointer_traits_detail::require_element_type = typename PointerLike::element_type

Require that PointerLike has a type member named element_type.

◆ require_rebind

template<class PointerLike, class U>
using std::pointer_traits_detail::require_rebind = typename PointerLike::template rebind<U>

Require that PointerLike has an alias template member named rebind.

◆ require_type

template<class PointerTraitsElementType>
using std::pointer_traits_detail::require_type = typename PointerTraitsElementType::type

Require that PointerTraitsElementType has a type member named type.

Variable Documentation

◆ has_element_type_v

template<class PointerLike>
bool std::pointer_traits_detail::has_element_type_v = arene::base::substitution_succeeds<require_element_type, PointerLike>
externconstexpr

true if PointerLike has a type member named element_type

◆ has_rebind_v

template<class PointerLike, class U>
bool std::pointer_traits_detail::has_rebind_v = arene::base::substitution_succeeds<require_rebind, PointerLike, U>
externconstexpr

true if PointerLike has an alias template member named rebind

◆ is_element_type_defined_v

template<class PointerLike>
bool std::pointer_traits_detail::is_element_type_defined_v
externconstexpr
Initial value:
=
constexpr bool substitution_succeeds
Determines if a template can be instantiated successfully, similar to C++20's requires clause.

true if an element_type was determined for PointerLike

If no element_type is determined, then the resulting pointer_traits will define no members