diff --git a/doc/poly_collection.qbk b/doc/poly_collection.qbk index b9e426d..df537d8 100644 --- a/doc/poly_collection.qbk +++ b/doc/poly_collection.qbk @@ -1119,6 +1119,10 @@ to allow for the definition of container-level `operator<` and related operators [section Release notes] +[section Boost 1.67] + +* Maintenance fixes. + [section Boost 1.66] * Boost.PolyCollection has been backported to GCC 4.8 to 4.9 and Clang 3.3 to 3.6. diff --git a/include/boost/poly_collection/algorithm.hpp b/include/boost/poly_collection/algorithm.hpp index 862e85a..ccf678e 100644 --- a/include/boost/poly_collection/algorithm.hpp +++ b/include/boost/poly_collection/algorithm.hpp @@ -1,4 +1,4 @@ -/* Copyright 2016-2017 Joaquin M Lopez Munoz. +/* Copyright 2016-2018 Joaquin M Lopez Munoz. * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include @@ -91,8 +90,6 @@ bool none_of(const Iterator& first,const Iterator& last,Predicate pred) struct for_each_alg { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(for_each_alg) - template void operator()( InputIterator first,InputIterator last,Function& f)const /* note the & */ @@ -197,8 +194,6 @@ Iterator find_first_of( template struct adjacent_find_alg { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(adjacent_find_alg) - template< typename LocalIterator,typename BinaryPredicate,typename LocalBaseIterator > @@ -289,8 +284,6 @@ std::ptrdiff_t count_if( struct mismatch_alg { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(mismatch_alg) - template< typename InputIterator1, typename InputIterator2,typename BinaryPredicate @@ -374,8 +367,6 @@ std::pair mismatch( struct equal_alg { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(equal_alg) - template< typename InputIterator1, typename InputIterator2,typename BinaryPredicate @@ -603,8 +594,6 @@ Iterator find_end( struct search_n_alg { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(search_n_alg) - template< typename ForwardIterator,typename Size, typename T,typename BinaryPredicate @@ -764,8 +753,6 @@ OutputIterator transform( struct transform2_alg { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(transform2_alg) - template< typename InputIterator1,typename InputIterator2, typename OutputIterator,typename BinaryOperation @@ -799,8 +786,6 @@ struct replace_copy_alg * conditional operator". */ - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(replace_copy_alg) - template OutputIterator operator()( InputIterator first,InputIterator last,OutputIterator res, @@ -832,8 +817,6 @@ struct replace_copy_if_alg * conditional operator". */ - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(replace_copy_if_alg) - template< typename InputIterator,typename OutputIterator, typename Predicate,typename T @@ -890,8 +873,6 @@ OutputIterator remove_copy_if( template struct unique_copy_alg { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(unique_copy_alg) - template< typename LocalIterator,typename OutputIterator, typename BinaryPredicate,typename LocalBaseIterator diff --git a/include/boost/poly_collection/detail/functional.hpp b/include/boost/poly_collection/detail/functional.hpp index 2d1f894..9fcf05c 100644 --- a/include/boost/poly_collection/detail/functional.hpp +++ b/include/boost/poly_collection/detail/functional.hpp @@ -1,4 +1,4 @@ -/* Copyright 2016-2017 Joaquin M Lopez Munoz. +/* Copyright 2016-2018 Joaquin M Lopez Munoz. * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) @@ -16,7 +16,6 @@ #include #include #include -#include #include #include @@ -40,8 +39,6 @@ struct name \ #define BOOST_POLY_COLLECTION_DEFINE_OVERLOAD_SET(name,f) \ struct name \ { \ - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(name) \ - \ template \ auto operator()(Args&&... args)const-> \ decltype(f(std::forward(args)...)) \ @@ -184,8 +181,6 @@ deref_1st_to_class deref_1st_to(const F& f) struct transparent_equal_to { - BOOST_POLY_COLLECTION_WORKAROUND_DR1467(transparent_equal_to) - template auto operator()(T&& x,U&& y)const noexcept(noexcept(std::forward(x)==std::forward(y))) diff --git a/include/boost/poly_collection/detail/workaround_dr1467.hpp b/include/boost/poly_collection/detail/workaround_dr1467.hpp deleted file mode 100644 index 229ec54..0000000 --- a/include/boost/poly_collection/detail/workaround_dr1467.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2017 Joaquin M Lopez Munoz. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - * - * See http://www.boost.org/libs/poly_collection for library home page. - */ - -#ifndef BOOST_POLY_COLLECTION_DETAIL_WORKAROUND_DR1467_HPP -#define BOOST_POLY_COLLECTION_DETAIL_WORKAROUND_DR1467_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#include -#include - -#if BOOST_WORKAROUND(BOOST_GCC_VERSION,<50000)||\ - defined(BOOST_CLANG)&&\ - (__clang_major__<3||(__clang_major__==3&&__clang_minor__<=6)) -/* Defect report 1467 denounces that for aggregate types an intended {}-style - * copy construction will be mistaken for aggregate initialization: - * http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1467 - * - * A solution is to define a default constructor for the offending class so - * that it is no longer an aggregate. - */ - -#define BOOST_POLY_COLLECTION_WORKAROUND_DR1467(name) name(){} -#else -#define BOOST_POLY_COLLECTION_WORKAROUND_DR1467(name) -#endif - -#endif diff --git a/test/any_types.hpp b/test/any_types.hpp index a3f0f78..0373f05 100644 --- a/test/any_types.hpp +++ b/test/any_types.hpp @@ -1,4 +1,4 @@ -/* Copyright 2016-2017 Joaquin M Lopez Munoz. +/* Copyright 2016-2018 Joaquin M Lopez Munoz. * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) @@ -66,8 +66,6 @@ using t5=boost::type_erasure::any< struct to_int { - to_int(){}; - template int operator()(const boost::type_erasure::any& x)const { diff --git a/test/base_types.hpp b/test/base_types.hpp index 29288b2..fcfcb0f 100644 --- a/test/base_types.hpp +++ b/test/base_types.hpp @@ -1,4 +1,4 @@ -/* Copyright 2016-2017 Joaquin M Lopez Munoz. +/* Copyright 2016-2018 Joaquin M Lopez Munoz. * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) @@ -83,8 +83,6 @@ using t5=derived5; struct to_int { - to_int(){}; - template int operator()(const F& f)const{return f(1);} }; diff --git a/test/function_types.hpp b/test/function_types.hpp index 1b0d8c8..f8c154f 100644 --- a/test/function_types.hpp +++ b/test/function_types.hpp @@ -1,4 +1,4 @@ -/* Copyright 2016-2017 Joaquin M Lopez Munoz. +/* Copyright 2016-2018 Joaquin M Lopez Munoz. * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) @@ -135,8 +135,6 @@ inline bool operator==(const t4&,const t2&){return false;} struct to_int { - to_int(){}; - template int operator()(const F& f)const{return f(1);} };