| // Part of the Crubit project, under the Apache License v2.0 with LLVM |
| // Exceptions. See /LICENSE for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| // Mock of standard library <utility> header. |
| |
| #ifndef CRUBIT_NULLABILITY_TEST_UTILITY_ |
| #define CRUBIT_NULLABILITY_TEST_UTILITY_ |
| |
| namespace std { |
| |
| template <class T> |
| struct remove_reference { |
| using type = T; |
| }; |
| template <class T> |
| struct remove_reference<T &> { |
| using type = T; |
| }; |
| template <class T> |
| struct remove_reference<T &&> { |
| using type = T; |
| }; |
| |
| template <class T> |
| constexpr typename remove_reference<T>::type &&move(T &&); |
| |
| } // namespace std |
| |
| #endif // CRUBIT_NULLABILITY_TEST_UTILITY_ |