1// { dg-do compile } 2 3// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com> 4// 5// Copyright (C) 2007, 2009 Free Software Foundation, Inc. 6// 7// This file is part of the GNU ISO C++ Library. This library is free 8// software; you can redistribute it and/or modify it under the 9// terms of the GNU General Public License as published by the 10// Free Software Foundation; either version 3, or (at your option) 11// any later version. 12// 13// This library is distributed in the hope that it will be useful, 14// but WITHOUT ANY WARRANTY; without even the implied warranty of 15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16// GNU General Public License for more details. 17// 18// You should have received a copy of the GNU General Public License 19// along with this library; see the file COPYING3. If not see 20// <http://www.gnu.org/licenses/>. 21 22#include <tr1/functional> 23 24namespace std { 25namespace tr1 { 26 27 // [3.4] class template result_of 28 template <class FunctionCallType> class result_of; 29 30#if 0 31 // [3.5] function template mem_fn 32 template<class R, class T> unspecified mem_fn(R T::* pm); 33#endif 34 35 // [3.6] function object binders 36 template<class T> struct is_bind_expression; 37 template<class T> struct is_placeholder; 38 39#if 0 40 template<class F, class T1, ..., class TN> 41 unspecified bind(F f, T1 t1, ..., TN tN); 42 43 template<class R, class F, class T1, ..., class Tn > 44 unspecified bind(F f, T1 t1, ..., TN tN); 45 46 namespace placeholders { 47 // M is the implementation-defined number of placeholders 48 extern unspecified _1; 49 extern unspecified _2; 50 . 51 . 52 . 53 extern unspecified _M; 54 } 55#endif 56 57 // [3.7] polymorphic function wrappers 58 class bad_function_call; 59 template<class Function> class function; 60 template<class Function> 61 void swap(function<Function>&, function<Function>&); 62 template<class Function1, class Function2> 63 void operator==(const function<Function1>&, const function<Function2>&); 64 template<class Function1, class Function2> 65 void operator!=(const function<Function1>&, const function<Function2>&); 66 67#if 0 68 template <class Function> 69 bool operator==(const function<Function>&, unspecified-null-pointer-type); 70 template <class Function> 71 bool operator==(unspecified-null-pointer-type, const function<Function>&); 72 template <class Function> 73 bool operator!=(const function<Function>&, unspecified-null-pointer-type); 74 template <class Function> 75 bool operator!=(unspecified-null-pointer-type, const function<Function>&); 76#endif 77 78} // namespace tr1 79} // namespace std 80