1 // { dg-options "-std=gnu++11" }
2 // Copyright (C) 2009-2015 Free Software Foundation, Inc.
4 // This file is part of the GNU ISO C++ Library. This library is free
5 // software; you can redistribute it and/or modify it under the
6 // terms of the GNU General Public License as published by the
7 // Free Software Foundation; either version 3, or (at your option)
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License along
16 // with this library; see the file COPYING3. If not see
17 // <http://www.gnu.org/licenses/>.
19 // 20.7.11 Function template bind
22 #include <testsuite_hooks.h>
28 int foo(int x
, int y
) { return bar
+ x
+ y
; }
34 X
& operator=(const X
&);
37 // Operations on empty function<> objects
40 bool test
__attribute__((unused
)) = true;
45 VERIFY( bind(&::X::foo
, ref(x
), 1, 2)() == 20 );
46 VERIFY( bind
<int>(&::X::foo
, ref(x
), 1, 2)() == 20 );
47 VERIFY( bind(&::X::bar
, ref(x
))() == 17 );
48 VERIFY( bind
<int>(&::X::bar
, ref(x
))() == 17 );