C++20 removes std::raw_storage_iterator, unary_negate, binary_negate

This commit is contained in:
Peter Dimov 2023-03-06 04:51:04 +02:00
parent 465b49c825
commit 83756139b2
3 changed files with 17 additions and 2 deletions

View File

@ -5,8 +5,9 @@
#ifndef BOOST_TYPEOF_STD_functional_hpp_INCLUDED
#define BOOST_TYPEOF_STD_functional_hpp_INCLUDED
#include <functional>
#include <boost/typeof/typeof.hpp>
#include <boost/config.hpp>
#include <functional>
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
@ -14,6 +15,7 @@
BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_function, 2)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_function, 3)
#endif//BOOST_NO_CXX98_FUNCTION_BASE
BOOST_TYPEOF_REGISTER_TEMPLATE(std::plus, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::minus, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::multiplies, 1)
@ -29,8 +31,11 @@ BOOST_TYPEOF_REGISTER_TEMPLATE(std::less_equal, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_and, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_or, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_not, 1)
#if BOOST_CXX_VERSION < 202000L
BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_negate, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_negate, 1)
#endif
#ifndef BOOST_NO_CXX98_BINDERS

View File

@ -5,13 +5,18 @@
#ifndef BOOST_TYPEOF_STD_memory_hpp_INCLUDED
#define BOOST_TYPEOF_STD_memory_hpp_INCLUDED
#include <memory>
#include <boost/typeof/typeof.hpp>
#include <boost/config.hpp>
#include <memory>
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
BOOST_TYPEOF_REGISTER_TEMPLATE(std::allocator, 1)
#if BOOST_CXX_VERSION < 202000L
BOOST_TYPEOF_REGISTER_TEMPLATE(std::raw_storage_iterator, 2)
#endif
#ifndef BOOST_NO_AUTO_PTR
BOOST_TYPEOF_REGISTER_TEMPLATE(std::auto_ptr, 1)
#endif//BOOST_NO_AUTO_PTR

View File

@ -46,6 +46,7 @@ BOOST_STATIC_ASSERT(boost::type_of::test<bitset<10> >::value);
BOOST_STATIC_ASSERT((boost::type_of::test<unary_function<int, int> >::value));
BOOST_STATIC_ASSERT((boost::type_of::test<binary_function<int, int, int> >::value));
#endif//BOOST_NO_CXX98_FUNCTION_BASE
BOOST_STATIC_ASSERT(boost::type_of::test<plus<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<minus<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<multiplies<int> >::value);
@ -61,8 +62,12 @@ BOOST_STATIC_ASSERT(boost::type_of::test<less_equal<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<logical_and<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<logical_or<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<logical_not<int> >::value);
#if BOOST_CXX_VERSION < 202000L
BOOST_STATIC_ASSERT(boost::type_of::test<unary_negate<negate<int> > >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<binary_negate<less<int> > >::value);
#endif
#ifndef BOOST_NO_CXX98_BINDERS
BOOST_STATIC_ASSERT(boost::type_of::test<binder1st<less<int> > >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<binder2nd<less<int> > >::value);