My Project
remove_all_extents.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_REMOVE_ALL_EXTENTS_HPP
29 #define BSL_REMOVE_ALL_EXTENTS_HPP
30 
31 #include "cstdint.hpp"
32 
33 namespace bsl
34 {
45  template<typename T>
46  struct remove_all_extents final
47  {
49  using type = T;
50  };
51 
53  template<typename T>
55 
57 
58  template<typename T>
59  struct remove_all_extents<T[]> final // NOLINT
60  {
62  using type = typename remove_all_extents<T>::type;
63  };
64 
65  template<typename T, bsl::uintmax N>
66  struct remove_all_extents<T[N]> final // NOLINT
67  {
69  using type = typename remove_all_extents<T>::type;
70  };
71 
73 }
74 
75 #endif
T type
provides the member typedef "type"
Definition: remove_all_extents.hpp:49
Provides the member typedef type which is the same as T, except that its topmost extent is removed.
Definition: remove_all_extents.hpp:46
typename remove_all_extents< T >::type remove_all_extents_t
a helper that reduces the verbosity of bsl::remove_all_extents
Definition: remove_all_extents.hpp:54