37 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <functional>10 11// reference_wrapper12 13// template <ObjectType T> reference_wrapper<T> ref(T& t);14 15#include <functional>16#include <cassert>17 18#include "test_macros.h"19 20TEST_CONSTEXPR_CXX20 bool test()21{22 int i = 0;23 std::reference_wrapper<int> r = std::ref(i);24 assert(&r.get() == &i);25 return true;26}27 28int main(int, char**)29{30 test();31#if TEST_STD_VER > 1732 static_assert(test());33#endif34 35 return 0;36}37