From be3e62f05e3f8f87d5c282cc1daf0bef7f56b38d Mon Sep 17 00:00:00 2001 From: nobody Date: Wed, 22 Nov 2000 09:04:29 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'Version_1_17_0'. [SVN r8293] --- include/boost/functional.hpp | 48 +++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/include/boost/functional.hpp b/include/boost/functional.hpp index 501e97a..119c598 100644 --- a/include/boost/functional.hpp +++ b/include/boost/functional.hpp @@ -1,5 +1,6 @@ // ------------------------------------------------------------------------------ // Boost functional.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. // ------------------------------------------------------------------------------ // Copyright (c) 2000 // Cadenza New Zealand Ltd @@ -15,23 +16,6 @@ // ------------------------------------------------------------------------------ // $Id$ // ------------------------------------------------------------------------------ -// $Log$ -// Revision 1.2 2000/08/01 07:53:58 mark_rodgers -// Workarounds for Metrowerks as suggested by Fabrice Truillot. -// -// Revision 1.1.1.1 2000/07/07 16:03:47 beman -// 1.16.1 initial CVS checkin -// -// Revision 1.3 2000/06/26 09:44:54 mark -// Updated following feedback from Jens Maurer. -// -// Revision 1.2 2000/05/17 08:36:30 mark -// Fixed problems with function object traits thanks to ideas -// from John Maddock. -// -// Revision 1.1 2000/05/07 08:26:51 mark -// Initial revision -// ------------------------------------------------------------------------------ #ifndef BOOST_FUNCTIONAL_HPP #define BOOST_FUNCTIONAL_HPP @@ -194,6 +178,12 @@ namespace boost return unary_negate((typename unary_traits::param_type)pred); } + template + unary_negate not1(Predicate &pred) + { + return unary_negate(pred); + } + // -------------------------------------------------------------------------- // binary_negate, not2 // -------------------------------------------------------------------------- @@ -224,6 +214,12 @@ namespace boost // I don't think it should be necessary. return binary_negate((typename binary_traits::param_type)pred); } + + template + binary_negate not2(Predicate &pred) + { + return binary_negate(pred); + } // -------------------------------------------------------------------------- // binder1st, bind1st @@ -262,6 +258,15 @@ namespace boost return binder1st((typename binary_traits::param_type)op, x); } + template + inline binder1st bind1st(Operation &op, + typename call_traits< + typename binary_traits::first_argument_type + >::param_type x) + { + return binder1st(op, x); + } + // -------------------------------------------------------------------------- // binder2nd, bind2nd // -------------------------------------------------------------------------- @@ -299,6 +304,15 @@ namespace boost return binder2nd((typename binary_traits::param_type)op, x); } + template + inline binder2nd bind2nd(Operation &op, + typename call_traits< + typename binary_traits::second_argument_type + >::param_type x) + { + return binder2nd(op, x); + } + // -------------------------------------------------------------------------- // mem_fun, etc // --------------------------------------------------------------------------