Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <type_traits>
7 :
8 : /// \ingroup TypeTraitsGroup
9 : /// C++ STL code present in C++20
10 : namespace cpp20 {
11 : /// \ingroup TypeTraitsGroup
12 : template <class T>
13 0 : struct remove_cvref {
14 : // clang-tidy use using instead of typedef
15 0 : typedef std::remove_cv_t<std::remove_reference_t<T>> type; // NOLINT
16 : };
17 :
18 : /// \ingroup TypeTraitsGroup
19 : template <class T>
20 0 : using remove_cvref_t = typename remove_cvref<T>::type;
21 : } // namespace cpp20
|