1// 2001-06-11 Benjamin Kosnik <bkoz@redhat.com> 2 3// Copyright (C) 2001-2015 Free Software Foundation, Inc. 4// 5// This file is part of the GNU ISO C++ Library. This library is free 6// software; you can redistribute it and/or modify it under the 7// terms of the GNU General Public License as published by the 8// Free Software Foundation; either version 3, or (at your option) 9// any later version. 10 11// This library is distributed in the hope that it will be useful, 12// but WITHOUT ANY WARRANTY; without even the implied warranty of 13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14// GNU General Public License for more details. 15 16// You should have received a copy of the GNU General Public License along 17// with this library; see the file COPYING3. If not see 18// <http://www.gnu.org/licenses/>. 19 20// 20.3.6 Binders 21 22#include <vector> 23#include <algorithm> // for_each 24#include <functional> 25 26class Elem 27{ 28public: 29 void print(int) const { } 30 void modify(int) { } 31}; 32 33// libstdc++/3113 34void test01() 35{ 36 std::vector<Elem> coll(2); 37 // OK 38 std::for_each(coll.begin(), coll.end(), 39 std::bind2nd(std::mem_fun_ref(&Elem::print), 42)); 40 // OK 41 std::for_each(coll.begin(), coll.end(), 42 std::bind2nd(std::mem_fun_ref(&Elem::modify), 42)); 43} 44 45int main() 46{ 47 test01(); 48 return 0; 49} 50