From 87a008a50ed38d1296bb0d8413a134fbec0a6496 Mon Sep 17 00:00:00 2001 From: Daniela Engert Date: Thu, 11 May 2017 16:00:55 +0200 Subject: [PATCH] Inline typedefs from deprecated/removed C++98 function adapters. Signed-off-by: Daniela Engert --- .../container_adaptor/detail/comparison_adaptor.hpp | 18 ++++++++++++++---- .../bimap/container_adaptor/detail/key_extractor.hpp | 8 ++++---- include/boost/bimap/detail/modifier_adaptor.hpp | 10 ++++++---- .../boost/bimap/relation/support/data_extractor.hpp | 13 ++++++++----- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp b/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp index 0990620..aceaa34 100644 --- a/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp +++ b/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp @@ -19,7 +19,6 @@ #include #include -#include namespace boost { namespace bimaps { @@ -33,8 +32,12 @@ A simple comparison adaptor. **/ template < class Compare, class NewType, class Converter > -struct comparison_adaptor : std::binary_function +struct comparison_adaptor { + typedef NewType first_argument_type; + typedef NewType second_argument_type; + typedef bool result_type; + comparison_adaptor( const Compare & comp, const Converter & conv) : compare(comp), converter(conv) {} @@ -50,8 +53,12 @@ struct comparison_adaptor : std::binary_function }; template < class Compare, class NewType, class Converter > -struct compatible_comparison_adaptor : std::binary_function +struct compatible_comparison_adaptor { + typedef NewType first_argument_type; + typedef NewType second_argument_type; + typedef bool result_type; + compatible_comparison_adaptor( const Compare & comp, const Converter & conv) : compare(comp), converter(conv) {} @@ -75,8 +82,11 @@ A simple unary check adaptor. **/ template < class Compare, class NewType, class Converter > -struct unary_check_adaptor : std::unary_function +struct unary_check_adaptor { + typedef BOOST_DEDUCED_TYPENAME call_traits::param_type argument_type; + typedef bool result_type; + unary_check_adaptor( const Compare & comp, const Converter & conv ) : compare(comp), converter(conv) {} diff --git a/include/boost/bimap/container_adaptor/detail/key_extractor.hpp b/include/boost/bimap/container_adaptor/detail/key_extractor.hpp index bf3c1a9..2dca1da 100644 --- a/include/boost/bimap/container_adaptor/detail/key_extractor.hpp +++ b/include/boost/bimap/container_adaptor/detail/key_extractor.hpp @@ -18,8 +18,6 @@ #include -#include - namespace boost { namespace bimaps { namespace container_adaptor { @@ -29,9 +27,11 @@ namespace detail { template < class T > struct key_from_pair_extractor - : std::unary_function< T, BOOST_DEDUCED_TYPENAME T::first_type > { - bool operator()( const T & p ) { return p.first; } + typedef T argument_type; + typedef BOOST_DEDUCED_TYPENAME T::first_type result_type; + + result_type operator()( const T & p ) { return p.first; } }; } // namespace detail diff --git a/include/boost/bimap/detail/modifier_adaptor.hpp b/include/boost/bimap/detail/modifier_adaptor.hpp index f0de120..c1ee367 100644 --- a/include/boost/bimap/detail/modifier_adaptor.hpp +++ b/include/boost/bimap/detail/modifier_adaptor.hpp @@ -18,8 +18,6 @@ #include -#include - namespace boost { namespace bimaps { namespace detail { @@ -34,11 +32,13 @@ template class SecondExtractor > struct relation_modifier_adaptor : - public std::unary_function, Modifier, FirstExtractor, SecondExtractor { + typedef NewArgument argument_type; + typedef void result_type; + relation_modifier_adaptor( const Modifier & m ) : Modifier(m) {} relation_modifier_adaptor( const Modifier & m, const FirstExtractor & fe, @@ -65,10 +65,12 @@ template class Extractor > struct unary_modifier_adaptor : - public std::unary_function, Modifier, Extractor { + typedef NewArgument argument_type; + typedef void result_type; + unary_modifier_adaptor( const Modifier & m ) : Modifier(m) {} unary_modifier_adaptor( const Modifier & m, const Extractor & fe) : diff --git a/include/boost/bimap/relation/support/data_extractor.hpp b/include/boost/bimap/relation/support/data_extractor.hpp index 10ec298..a7e7f32 100644 --- a/include/boost/bimap/relation/support/data_extractor.hpp +++ b/include/boost/bimap/relation/support/data_extractor.hpp @@ -19,7 +19,6 @@ #include #include -#include /** \struct boost::bimaps::relation::support::data_extractor @@ -39,9 +38,11 @@ template< class Tag, class Relation > struct data_extractor_implementation; template< class Relation > -struct data_extractor_implementation< member_at::left, Relation > : - public std::unary_function +struct data_extractor_implementation< member_at::left, Relation > { + typedef Relation argument_type; + typedef BOOST_DEDUCED_TYPENAME Relation::left_value_type result_type; + BOOST_DEDUCED_TYPENAME Relation::left_value_type const & operator()(Relation const & rel) const { @@ -56,9 +57,11 @@ struct data_extractor_implementation< member_at::left, Relation > : }; template< class Relation > -struct data_extractor_implementation< member_at::right, Relation > : - public std::unary_function +struct data_extractor_implementation< member_at::right, Relation > { + typedef Relation argument_type; + typedef BOOST_DEDUCED_TYPENAME Relation::right_value_type result_type; + BOOST_DEDUCED_TYPENAME Relation::right_value_type const & operator()(Relation const & rel) const {