My Project
remove_reference.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_REMOVE_REFERENCE_HPP
29 #define BSL_REMOVE_REFERENCE_HPP
30 
31 namespace bsl
32 {
43  template<typename T>
44  struct remove_reference final
45  {
47  using type = T;
48  };
49 
51  template<typename T>
53 
55 
56  template<typename T>
57  struct remove_reference<T &> final
58  {
60  using type = T;
61  };
62 
63  template<typename T>
64  struct remove_reference<T &&> final
65  {
67  using type = T;
68  };
69 
71 }
72 
73 #endif
Provides the member typedef type which is the same as T, except that its topmost reference is removed...
Definition: remove_reference.hpp:44
typename remove_reference< T >::type remove_reference_t
a helper that reduces the verbosity of bsl::remove_reference
Definition: remove_reference.hpp:52
T type
provides the member typedef "type"
Definition: remove_reference.hpp:47