// 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_
