1 // Copyright (C) 2005 Arkadiy Vertleyb, Peder Holt. 2 // Use, modification and distribution is subject to the Boost Software 3 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) 4 5 #ifndef BOOST_TYPEOF_STD_functional_hpp_INCLUDED 6 #define BOOST_TYPEOF_STD_functional_hpp_INCLUDED 7 8 #include <functional> 9 #include <boost/typeof/typeof.hpp> 10 11 #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() 12 13 #ifndef BOOST_NO_CXX98_FUNCTION_BASE 14 BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_function, 2) 15 BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_function, 3) 16 #endif//BOOST_NO_CXX98_FUNCTION_BASE 17 BOOST_TYPEOF_REGISTER_TEMPLATE(std::plus, 1) 18 BOOST_TYPEOF_REGISTER_TEMPLATE(std::minus, 1) 19 BOOST_TYPEOF_REGISTER_TEMPLATE(std::multiplies, 1) 20 BOOST_TYPEOF_REGISTER_TEMPLATE(std::divides, 1) 21 BOOST_TYPEOF_REGISTER_TEMPLATE(std::modulus, 1) 22 BOOST_TYPEOF_REGISTER_TEMPLATE(std::negate, 1) 23 BOOST_TYPEOF_REGISTER_TEMPLATE(std::equal_to, 1) 24 BOOST_TYPEOF_REGISTER_TEMPLATE(std::not_equal_to, 1) 25 BOOST_TYPEOF_REGISTER_TEMPLATE(std::greater, 1) 26 BOOST_TYPEOF_REGISTER_TEMPLATE(std::less, 1) 27 BOOST_TYPEOF_REGISTER_TEMPLATE(std::greater_equal, 1) 28 BOOST_TYPEOF_REGISTER_TEMPLATE(std::less_equal, 1) 29 BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_and, 1) 30 BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_or, 1) 31 BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_not, 1) 32 BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_negate, 1) 33 BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_negate, 1) 34 35 #ifndef BOOST_NO_CXX98_BINDERS 36 37 #if defined(__MWERKS__) && defined(_MSL_EXTENDED_BINDERS) 38 BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder1st, 2) 39 BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder2nd, 2) 40 #else 41 BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder1st, 1) 42 BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder2nd, 1) 43 #endif 44 45 BOOST_TYPEOF_REGISTER_TEMPLATE(std::pointer_to_unary_function, 2) 46 BOOST_TYPEOF_REGISTER_TEMPLATE(std::pointer_to_binary_function, 3) 47 BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun_t, 2) 48 BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun1_t, 3) 49 BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun_ref_t, 2) 50 BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun1_ref_t, 3) 51 52 #if !BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) 53 BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun_t, 2) 54 BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun1_t, 3) 55 BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun_ref_t, 2) 56 BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun1_ref_t, 3) 57 #endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) 58 59 #endif//BOOST_NO_CXX98_BINDERS 60 61 #endif//BOOST_TYPEOF_STD_functional_hpp_INCLUDED 62