tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
add_pointer.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2
3#ifndef TETL_TYPE_TRAITS_ADD_POINTER_HPP
4#define TETL_TYPE_TRAITS_ADD_POINTER_HPP
5
8
9namespace etl {
10
11namespace detail {
12
13template <typename T>
14auto try_add_pointer(int) -> type_identity<remove_reference_t<T>*>;
15
16template <typename T>
17auto try_add_pointer(...) -> type_identity<T>;
18
19} // namespace detail
20
30template <typename T>
31struct add_pointer : decltype(detail::try_add_pointer<T>(0)) { };
32
34template <typename T>
36
37} // namespace etl
38
39#endif // TETL_TYPE_TRAITS_ADD_POINTER_HPP
Definition adjacent_find.hpp:8
If T is a reference type, then provides the member typedef type which is a pointer to the referred ty...
Definition add_pointer.hpp:31
typename add_pointer< T >::type add_pointer_t
Definition add_pointer.hpp:35