1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // <functional> 11 12 // reference_wrapper 13 14 // template <ObjectType T> reference_wrapper<T> ref(T& t); 15 16 // Don't allow binding to a temp 17 18 // XFAIL: c++98, c++03 19 20 #include <functional> 21 22 struct A {}; 23 24 const A source() {return A();} 25 26 int main() 27 { 28 std::reference_wrapper<const A> r = std::ref(source()); 29 } 30