ref_2.pass.cpp 660 B

12345678910111213141516171819202122232425
  1. //===----------------------------------------------------------------------===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. // <functional>
  10. // reference_wrapper
  11. // template <ObjectType T> reference_wrapper<T> ref(reference_wrapper<T>t);
  12. #include <functional>
  13. #include <cassert>
  14. int main()
  15. {
  16. int i = 0;
  17. std::reference_wrapper<int> r1 = std::ref(i);
  18. std::reference_wrapper<int> r2 = std::ref(r1);
  19. assert(&r2.get() == &i);
  20. }