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