diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-14 22:25:25 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-14 22:25:25 +0300 |
commit | 8016a3961c382e8271812896f6d47ce9079d2023 (patch) | |
tree | 3a35fd6d0ba9133c7f560778faa93429d064d6ff /contrib/restricted/boost/range | |
parent | de599f9839ac0c83e84057efbb81ea0840c1a4b5 (diff) | |
download | ydb-8016a3961c382e8271812896f6d47ce9079d2023.tar.gz |
Update contrib/restricted/boost/range to 1.80.0
Diffstat (limited to 'contrib/restricted/boost/range')
26 files changed, 125 insertions, 1079 deletions
diff --git a/contrib/restricted/boost/range/include/boost/range/as_literal.hpp b/contrib/restricted/boost/range/include/boost/range/as_literal.hpp index 1c16e4a0f7..074f1d7f16 100644 --- a/contrib/restricted/boost/range/include/boost/range/as_literal.hpp +++ b/contrib/restricted/boost/range/include/boost/range/as_literal.hpp @@ -15,16 +15,17 @@ # pragma once #endif -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -#include <boost/range/detail/as_literal.hpp> -#else - #include <boost/range/iterator_range.hpp> #include <boost/range/detail/str_types.hpp> #include <boost/detail/workaround.hpp> #include <cstring> + +#if !defined(BOOST_NO_CXX11_CHAR16_T) || !defined(BOOST_NO_CXX11_CHAR32_T) +#include <string> // for std::char_traits +#endif + #ifndef BOOST_NO_CWCHAR #include <cwchar> #endif @@ -38,6 +39,20 @@ namespace boost return strlen( s ); } +#ifndef BOOST_NO_CXX11_CHAR16_T + inline std::size_t length( const char16_t* s ) + { + return std::char_traits<char16_t>::length( s ); + } +#endif + +#ifndef BOOST_NO_CXX11_CHAR32_T + inline std::size_t length( const char32_t* s ) + { + return std::char_traits<char32_t>::length( s ); + } +#endif + #ifndef BOOST_NO_CWCHAR inline std::size_t length( const wchar_t* s ) { @@ -61,6 +76,30 @@ namespace boost return true; } +#ifndef BOOST_NO_CXX11_CHAR16_T + inline bool is_char_ptr( char16_t* ) + { + return true; + } + + inline bool is_char_ptr( const char16_t* ) + { + return true; + } +#endif + +#ifndef BOOST_NO_CXX11_CHAR32_T + inline bool is_char_ptr( char32_t* ) + { + return true; + } + + inline bool is_char_ptr( const char32_t* ) + { + return true; + } +#endif + #ifndef BOOST_NO_CWCHAR inline bool is_char_ptr( wchar_t* ) { @@ -122,6 +161,4 @@ namespace boost } } -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - #endif diff --git a/contrib/restricted/boost/range/include/boost/range/begin.hpp b/contrib/restricted/boost/range/include/boost/range/begin.hpp index ba5a73b92d..17d9f8423c 100644 --- a/contrib/restricted/boost/range/include/boost/range/begin.hpp +++ b/contrib/restricted/boost/range/include/boost/range/begin.hpp @@ -17,16 +17,14 @@ #include <boost/range/config.hpp> -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -#include <boost/range/detail/begin.hpp> -#else - #include <boost/range/iterator.hpp> +#include <boost/config.hpp> +#include <boost/config/workaround.hpp> namespace boost { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) namespace range_detail { #endif @@ -36,7 +34,7 @@ namespace range_detail ////////////////////////////////////////////////////////////////////// template< typename C > - inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type + BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type range_begin( C& c ) { // @@ -52,13 +50,13 @@ namespace range_detail ////////////////////////////////////////////////////////////////////// template< typename Iterator > - inline Iterator range_begin( const std::pair<Iterator,Iterator>& p ) + BOOST_CONSTEXPR inline Iterator range_begin( const std::pair<Iterator,Iterator>& p ) { return p.first; } template< typename Iterator > - inline Iterator range_begin( std::pair<Iterator,Iterator>& p ) + BOOST_CONSTEXPR inline Iterator range_begin( std::pair<Iterator,Iterator>& p ) { return p.first; } @@ -71,19 +69,19 @@ namespace range_detail // May this be discarded? Or is it needed for bad compilers? // template< typename T, std::size_t sz > - inline const T* range_begin( const T (&a)[sz] ) + BOOST_CONSTEXPR inline const T* range_begin( const T (&a)[sz] ) BOOST_NOEXCEPT { return a; } template< typename T, std::size_t sz > - inline T* range_begin( T (&a)[sz] ) + BOOST_CONSTEXPR inline T* range_begin( T (&a)[sz] ) BOOST_NOEXCEPT { return a; } -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) } // namespace 'range_detail' #endif @@ -94,18 +92,24 @@ namespace range_adl_barrier { template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r ) { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) using namespace range_detail; #endif return range_begin( r ); } template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r ) { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) using namespace range_detail; #endif return range_begin( r ); @@ -114,8 +118,6 @@ inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r ) } // namespace range_adl_barrier } // namespace boost -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - namespace boost { namespace range_adl_barrier diff --git a/contrib/restricted/boost/range/include/boost/range/concepts.hpp b/contrib/restricted/boost/range/include/boost/range/concepts.hpp index 87c1e9893d..d6235d66fd 100644 --- a/contrib/restricted/boost/range/include/boost/range/concepts.hpp +++ b/contrib/restricted/boost/range/include/boost/range/concepts.hpp @@ -84,7 +84,7 @@ namespace boost { #endif #endif - #ifdef __BORLANDC__ + #ifdef BOOST_BORLANDC #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0 #endif @@ -252,7 +252,7 @@ namespace boost { n = i - j; } private: - BOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::difference_type n; + BOOST_DEDUCED_TYPENAME BidirectionalIteratorConcept<Iterator>::difference_type n; Iterator i; Iterator j; #endif diff --git a/contrib/restricted/boost/range/include/boost/range/config.hpp b/contrib/restricted/boost/range/include/boost/range/config.hpp index 7600a5ff82..636df7be57 100644 --- a/contrib/restricted/boost/range/include/boost/range/config.hpp +++ b/contrib/restricted/boost/range/include/boost/range/config.hpp @@ -23,7 +23,7 @@ #error "macro already defined!" #endif -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) # define BOOST_RANGE_DEDUCED_TYPENAME typename #else #define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME diff --git a/contrib/restricted/boost/range/include/boost/range/const_reverse_iterator.hpp b/contrib/restricted/boost/range/include/boost/range/const_reverse_iterator.hpp deleted file mode 100644 index bfe161561c..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/const_reverse_iterator.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_CONST_REVERSE_ITERATOR_HPP -#define BOOST_RANGE_CONST_REVERSE_ITERATOR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include <boost/range/reverse_iterator.hpp> -#include <boost/type_traits/remove_reference.hpp> - -namespace boost -{ - // - // This interface is deprecated, use range_reverse_iterator<const T> - // - - template< typename C > - struct range_const_reverse_iterator - : range_reverse_iterator< - const BOOST_DEDUCED_TYPENAME remove_reference<C>::type> - { }; - -} // namespace boost - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/detail/as_literal.hpp b/contrib/restricted/boost/range/include/boost/range/detail/as_literal.hpp deleted file mode 100644 index 8b219ea246..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/detail/as_literal.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2006. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_DETAIL_AS_LITERAL_HPP -#define BOOST_RANGE_DETAIL_AS_LITERAL_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include <boost/range/detail/detail_str.hpp> -#include <boost/range/iterator_range.hpp> - -namespace boost -{ - template< class Range > - inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<Range>::type> - as_literal( Range& r ) - { - return ::boost::make_iterator_range( ::boost::range_detail::str_begin(r), - ::boost::range_detail::str_end(r) ); - } - -} - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/detail/begin.hpp b/contrib/restricted/boost/range/include/boost/range/detail/begin.hpp deleted file mode 100644 index 1d9390ff85..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/detail/begin.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_DETAIL_BEGIN_HPP -#define BOOST_RANGE_DETAIL_BEGIN_HPP - -#include <boost/config.hpp> // BOOST_MSVC -#include <boost/detail/workaround.hpp> -#include <boost/range/iterator.hpp> -#include <boost/range/detail/common.hpp> - -namespace boost -{ - - namespace range_detail - { - template< typename T > - struct range_begin; - - ////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_begin<std_container_> - { - template< typename C > - static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type fun( C& c ) - { - return c.begin(); - }; - }; - - ////////////////////////////////////////////////////////////////////// - // pair - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_begin<std_pair_> - { - template< typename P > - static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type fun( const P& p ) - { - return p.first; - } - }; - - ////////////////////////////////////////////////////////////////////// - // array - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_begin<array_> - { - template<typename T> - static BOOST_RANGE_DEDUCED_TYPENAME range_value<T>::type* fun(T& t) - { - return t; - } - }; - - } // namespace 'range_detail' - - namespace range_adl_barrier - { - template< typename C > - inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type - begin( C& c ) - { - return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c ); - } - } -} // namespace 'boost' - - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/detail/common.hpp b/contrib/restricted/boost/range/include/boost/range/detail/common.hpp index 00b665bef8..2cbc55411d 100644 --- a/contrib/restricted/boost/range/include/boost/range/detail/common.hpp +++ b/contrib/restricted/boost/range/include/boost/range/detail/common.hpp @@ -18,10 +18,8 @@ #include <boost/range/config.hpp> #include <boost/range/detail/sfinae.hpp> #include <boost/type_traits/is_void.hpp> -#include <boost/mpl/bool.hpp> #include <boost/mpl/if.hpp> #include <boost/mpl/int.hpp> -#include <boost/mpl/or.hpp> #include <cstddef> ////////////////////////////////////////////////////////////////////////////// @@ -71,7 +69,7 @@ namespace boost BOOST_STATIC_CONSTANT( bool, is_const_wchar_t_ptr_ = sizeof( boost::range_detail::is_const_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) ); BOOST_STATIC_CONSTANT( bool, is_char_array_ = sizeof( boost::range_detail::is_char_array_impl( ptr ) ) == sizeof( yes_type ) ); BOOST_STATIC_CONSTANT( bool, is_wchar_t_array_ = sizeof( boost::range_detail::is_wchar_t_array_impl( ptr ) ) == sizeof( yes_type ) ); - BOOST_STATIC_CONSTANT( bool, is_string_ = (boost::mpl::or_<boost::mpl::bool_<is_const_char_ptr_>, boost::mpl::bool_<is_const_wchar_t_ptr_> >::value )); + BOOST_STATIC_CONSTANT( bool, is_string_ = (is_const_char_ptr_ || is_const_wchar_t_ptr_)); BOOST_STATIC_CONSTANT( bool, is_array_ = boost::is_array<C>::value ); }; diff --git a/contrib/restricted/boost/range/include/boost/range/detail/default_constructible_unary_fn.hpp b/contrib/restricted/boost/range/include/boost/range/detail/default_constructible_unary_fn.hpp index 374ddda15d..9729e3cb80 100644 --- a/contrib/restricted/boost/range/include/boost/range/detail/default_constructible_unary_fn.hpp +++ b/contrib/restricted/boost/range/include/boost/range/detail/default_constructible_unary_fn.hpp @@ -32,6 +32,23 @@ public: : m_impl(source) { } + default_constructible_unary_fn_wrapper(const default_constructible_unary_fn_wrapper& source) + : m_impl(source.m_impl) + { + } + default_constructible_unary_fn_wrapper& operator=(const default_constructible_unary_fn_wrapper& source) + { + if (source.m_impl) + { + // Lambda are not copy/move assignable. + m_impl.emplace(*source.m_impl); + } + else + { + m_impl.reset(); + } + return *this; + } template<typename Arg> R operator()(const Arg& arg) const { diff --git a/contrib/restricted/boost/range/include/boost/range/detail/detail_str.hpp b/contrib/restricted/boost/range/include/boost/range/detail/detail_str.hpp deleted file mode 100644 index 5ef7a3450e..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/detail/detail_str.hpp +++ /dev/null @@ -1,376 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_DETAIL_DETAIL_STR_HPP -#define BOOST_RANGE_DETAIL_DETAIL_STR_HPP - -#include <boost/config.hpp> // BOOST_MSVC -#include <boost/range/iterator.hpp> - -namespace boost -{ - - namespace range_detail - { - // - // iterator - // - - template<> - struct range_iterator_<char_array_> - { - template< typename T > - struct pts - { - typedef BOOST_RANGE_DEDUCED_TYPENAME - remove_extent<T>::type* type; - }; - }; - - template<> - struct range_iterator_<char_ptr_> - { - template< typename S > - struct pts - { - typedef char* type; - }; - }; - - template<> - struct range_iterator_<const_char_ptr_> - { - template< typename S > - struct pts - { - typedef const char* type; - }; - }; - - template<> - struct range_iterator_<wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef wchar_t* type; - }; - }; - - template<> - struct range_iterator_<const_wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef const wchar_t* type; - }; - }; - - - // - // const iterator - // - - template<> - struct range_const_iterator_<char_array_> - { - template< typename T > - struct pts - { - typedef const BOOST_RANGE_DEDUCED_TYPENAME - remove_extent<T>::type* type; - }; - }; - - template<> - struct range_const_iterator_<char_ptr_> - { - template< typename S > - struct pts - { - typedef const char* type; - }; - }; - - template<> - struct range_const_iterator_<const_char_ptr_> - { - template< typename S > - struct pts - { - typedef const char* type; - }; - }; - - template<> - struct range_const_iterator_<wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef const wchar_t* type; - }; - }; - - template<> - struct range_const_iterator_<const_wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef const wchar_t* type; - }; - }; - } -} - -#include <boost/range/detail/begin.hpp> -#include <boost/range/detail/end.hpp> -#include <boost/range/detail/size_type.hpp> -#include <boost/range/detail/value_type.hpp> -#include <boost/range/detail/common.hpp> - -namespace boost -{ - - namespace range_detail - { - // - // str_begin() - // - template<> - struct range_begin<char_ptr_> - { - static char* fun( char* s ) - { - return s; - } - }; - - template<> - struct range_begin<const_char_ptr_> - { - static const char* fun( const char* s ) - { - return s; - } - }; - - template<> - struct range_begin<wchar_t_ptr_> - { - - static wchar_t* fun( wchar_t* s ) - { - return s; - } - }; - - template<> - struct range_begin<const_wchar_t_ptr_> - { - static const wchar_t* fun( const wchar_t* s ) - { - return s; - } - }; - - template< typename C > - inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type - str_begin( C& c ) - { - return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME - range_detail::range<C>::type >::fun( c ); - } - - // - // str_end() - // - - template<> - struct range_end<char_array_> - { - template< typename T, std::size_t sz > - static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] ) - { - return boost::range_detail::array_end( boost_range_array ); - } - }; - - template<> - struct range_end<wchar_t_array_> - { - template< typename T, std::size_t sz > - static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] ) - { - return boost::range_detail::array_end( boost_range_array ); - } - }; - - template<> - struct range_end<char_ptr_> - { - static char* fun( char* s ) - { - return boost::range_detail::str_end( s ); - } - }; - - template<> - struct range_end<const_char_ptr_> - { - static const char* fun( const char* s ) - { - return boost::range_detail::str_end( s ); - } - }; - - template<> - struct range_end<wchar_t_ptr_> - { - static wchar_t* fun( wchar_t* s ) - { - return boost::range_detail::str_end( s ); - } - }; - - - template<> - struct range_end<const_wchar_t_ptr_> - { - static const wchar_t* fun( const wchar_t* s ) - { - return boost::range_detail::str_end( s ); - } - }; - - template< typename C > - inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type - str_end( C& c ) - { - return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME - range_detail::range<C>::type >::fun( c ); - } - - // - // size_type - // - - template<> - struct range_size_type_<char_array_> - { - template< typename A > - struct pts - { - typedef std::size_t type; - }; - }; - - template<> - struct range_size_type_<char_ptr_> - { - template< typename S > - struct pts - { - typedef std::size_t type; - }; - }; - - template<> - struct range_size_type_<const_char_ptr_> - { - template< typename S > - struct pts - { - typedef std::size_t type; - }; - }; - - template<> - struct range_size_type_<wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef std::size_t type; - }; - }; - - template<> - struct range_size_type_<const_wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef std::size_t type; - }; - }; - - // - // value_type - // - - template<> - struct range_value_type_<char_array_> - { - template< typename T > - struct pts - { - typedef char type; - }; - }; - - template<> - struct range_value_type_<char_ptr_> - { - template< typename S > - struct pts - { - typedef char type; - }; - }; - - template<> - struct range_value_type_<const_char_ptr_> - { - template< typename S > - struct pts - { - typedef const char type; - }; - }; - - template<> - struct range_value_type_<wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef wchar_t type; - }; - }; - - template<> - struct range_value_type_<const_wchar_t_ptr_> - { - template< typename S > - struct pts - { - typedef const wchar_t type; - }; - }; - - } // namespace 'range_detail' - -} // namespace 'boost' - - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/detail/end.hpp b/contrib/restricted/boost/range/include/boost/range/detail/end.hpp deleted file mode 100644 index f2f71780a7..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/detail/end.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_DETAIL_END_HPP -#define BOOST_RANGE_DETAIL_END_HPP - -#include <boost/config.hpp> // BOOST_MSVC -#include <boost/detail/workaround.hpp> - -#include <boost/range/detail/implementation_help.hpp> -#include <boost/range/iterator.hpp> -#include <boost/range/detail/common.hpp> - -namespace boost -{ - namespace range_detail - { - template< typename T > - struct range_end; - - ////////////////////////////////////////////////////////////////////// - // default - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_end<std_container_> - { - template< typename C > - static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type - fun( C& c ) - { - return c.end(); - }; - }; - - ////////////////////////////////////////////////////////////////////// - // pair - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_end<std_pair_> - { - template< typename P > - static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type - fun( const P& p ) - { - return p.second; - } - }; - - ////////////////////////////////////////////////////////////////////// - // array - ////////////////////////////////////////////////////////////////////// - - template<> - struct range_end<array_> - { - template<typename T> - static BOOST_RANGE_DEDUCED_TYPENAME remove_extent<T>::type* fun(T& t) - { - return t + remove_extent<T>::size; - } - }; - - } // namespace 'range_detail' - - namespace range_adl_barrier - { - template< typename C > - inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type - end( C& c ) - { - return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c ); - } - } // namespace range_adl_barrier - -} // namespace 'boost' - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/detail/implementation_help.hpp b/contrib/restricted/boost/range/include/boost/range/detail/implementation_help.hpp index f35953f349..59a3ade837 100644 --- a/contrib/restricted/boost/range/include/boost/range/detail/implementation_help.hpp +++ b/contrib/restricted/boost/range/include/boost/range/detail/implementation_help.hpp @@ -60,13 +60,13 @@ namespace boost } template< class T, std::size_t sz > - inline T* array_end( T BOOST_RANGE_ARRAY_REF()[sz] ) + BOOST_CONSTEXPR inline T* array_end( T BOOST_RANGE_ARRAY_REF()[sz] ) BOOST_NOEXCEPT { return boost_range_array + sz; } template< class T, std::size_t sz > - inline const T* array_end( const T BOOST_RANGE_ARRAY_REF()[sz] ) + BOOST_CONSTEXPR inline const T* array_end( const T BOOST_RANGE_ARRAY_REF()[sz] ) BOOST_NOEXCEPT { return boost_range_array + sz; } diff --git a/contrib/restricted/boost/range/include/boost/range/detail/remove_extent.hpp b/contrib/restricted/boost/range/include/boost/range/detail/remove_extent.hpp deleted file mode 100644 index 68e4597245..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/detail/remove_extent.hpp +++ /dev/null @@ -1,157 +0,0 @@ -// Boost.Range library -// -// Copyright Jonathan Turkanis 2005. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - - -#ifndef BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP -#define BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP - -#include <boost/config.hpp> // MSVC, NO_INTRINSIC_WCHAR_T, put size_t in std. -#include <cstddef> -#include <boost/mpl/eval_if.hpp> -#include <boost/mpl/identity.hpp> -#include <boost/type_traits/is_same.hpp> - -namespace boost -{ - namespace range_detail - { - - template< typename Case1 = mpl::true_, - typename Type1 = mpl::void_, - typename Case2 = mpl::true_, - typename Type2 = mpl::void_, - typename Case3 = mpl::true_, - typename Type3 = mpl::void_, - typename Case4 = mpl::true_, - typename Type4 = mpl::void_, - typename Case5 = mpl::true_, - typename Type5 = mpl::void_, - typename Case6 = mpl::true_, - typename Type6 = mpl::void_, - typename Case7 = mpl::true_, - typename Type7 = mpl::void_, - typename Case8 = mpl::true_, - typename Type8 = mpl::void_, - typename Case9 = mpl::true_, - typename Type9 = mpl::void_, - typename Case10 = mpl::true_, - typename Type10 = mpl::void_, - typename Case11 = mpl::true_, - typename Type11 = mpl::void_, - typename Case12 = mpl::true_, - typename Type12 = mpl::void_, - typename Case13 = mpl::true_, - typename Type13 = mpl::void_, - typename Case14 = mpl::true_, - typename Type14 = mpl::void_, - typename Case15 = mpl::true_, - typename Type15 = mpl::void_, - typename Case16 = mpl::true_, - typename Type16 = mpl::void_, - typename Case17 = mpl::true_, - typename Type17 = mpl::void_, - typename Case18 = mpl::true_, - typename Type18 = mpl::void_, - typename Case19 = mpl::true_, - typename Type19 = mpl::void_, - typename Case20 = mpl::true_, - typename Type20 = mpl::void_> - struct select { - typedef typename - mpl::eval_if< - Case1, mpl::identity<Type1>, mpl::eval_if< - Case2, mpl::identity<Type2>, mpl::eval_if< - Case3, mpl::identity<Type3>, mpl::eval_if< - Case4, mpl::identity<Type4>, mpl::eval_if< - Case5, mpl::identity<Type5>, mpl::eval_if< - Case6, mpl::identity<Type6>, mpl::eval_if< - Case7, mpl::identity<Type7>, mpl::eval_if< - Case8, mpl::identity<Type8>, mpl::eval_if< - Case9, mpl::identity<Type9>, mpl::if_< - Case10, Type10, mpl::void_ > > > > > > > > > - >::type result1; - typedef typename - mpl::eval_if< - Case11, mpl::identity<Type11>, mpl::eval_if< - Case12, mpl::identity<Type12>, mpl::eval_if< - Case13, mpl::identity<Type13>, mpl::eval_if< - Case14, mpl::identity<Type14>, mpl::eval_if< - Case15, mpl::identity<Type15>, mpl::eval_if< - Case16, mpl::identity<Type16>, mpl::eval_if< - Case17, mpl::identity<Type17>, mpl::eval_if< - Case18, mpl::identity<Type18>, mpl::eval_if< - Case19, mpl::identity<Type19>, mpl::if_< - Case20, Type20, mpl::void_ > > > > > > > > > - > result2; - typedef typename - mpl::eval_if< - is_same<result1, mpl::void_>, - result2, - mpl::identity<result1> - >::type type; - }; - - template<typename T> - struct remove_extent { - static T* ar; - BOOST_STATIC_CONSTANT(std::size_t, size = sizeof(*ar) / sizeof((*ar)[0])); - - typedef typename - select< - is_same<T, bool[size]>, bool, - is_same<T, char[size]>, char, - is_same<T, signed char[size]>, signed char, - is_same<T, unsigned char[size]>, unsigned char, - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - is_same<T, wchar_t[size]>, wchar_t, - #endif - is_same<T, short[size]>, short, - is_same<T, unsigned short[size]>, unsigned short, - is_same<T, int[size]>, int, - is_same<T, unsigned int[size]>, unsigned int, - is_same<T, long[size]>, long, - is_same<T, unsigned long[size]>, unsigned long, - is_same<T, float[size]>, float, - is_same<T, double[size]>, double, - is_same<T, long double[size]>, long double - >::type result1; - typedef typename - select< - is_same<T, const bool[size]>, const bool, - is_same<T, const char[size]>, const char, - is_same<T, const signed char[size]>, const signed char, - is_same<T, const unsigned char[size]>, const unsigned char, - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - is_same<T, const wchar_t[size]>, const wchar_t, - #endif - is_same<T, const short[size]>, const short, - is_same<T, const unsigned short[size]>, const unsigned short, - is_same<T, const int[size]>, const int, - is_same<T, const unsigned int[size]>, const unsigned int, - is_same<T, const long[size]>, const long, - is_same<T, const unsigned long[size]>, const unsigned long, - is_same<T, const float[size]>, const float, - is_same<T, const double[size]>, const double, - is_same<T, const long double[size]>, const long double - > result2; - typedef typename - mpl::eval_if< - is_same<result1, mpl::void_>, - result2, - mpl::identity<result1> - >::type type; - }; - - } // namespace 'range_detail' - -} // namespace 'boost' - - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/detail/size_type.hpp b/contrib/restricted/boost/range/include/boost/range/detail/size_type.hpp deleted file mode 100644 index 78a60a48e9..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/detail/size_type.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_DETAIL_SIZE_TYPE_HPP -#define BOOST_RANGE_DETAIL_SIZE_TYPE_HPP - -#include <boost/range/detail/common.hpp> - -////////////////////////////////////////////////////////////////////////////// -// missing partial specialization workaround. -////////////////////////////////////////////////////////////////////////////// - -namespace boost -{ - namespace range_detail - { - template< typename T > - struct range_size_type_ - { - template< typename C > - struct pts - { - typedef std::size_t type; - }; - }; - - template<> - struct range_size_type_<std_container_> - { - template< typename C > - struct pts - { - typedef BOOST_RANGE_DEDUCED_TYPENAME C::size_type type; - }; - }; - } - - template< typename C > - class range_size - { - typedef typename range_detail::range<C>::type c_type; - public: - typedef typename range_detail::range_size_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; - }; -} - -#endif - diff --git a/contrib/restricted/boost/range/include/boost/range/detail/value_type.hpp b/contrib/restricted/boost/range/include/boost/range/detail/value_type.hpp deleted file mode 100644 index 2784514c6a..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/detail/value_type.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_DETAIL_VALUE_TYPE_HPP -#define BOOST_RANGE_DETAIL_VALUE_TYPE_HPP - -#include <boost/range/detail/common.hpp> -#include <boost/range/detail/remove_extent.hpp> -#include <boost/iterator/iterator_traits.hpp> - -////////////////////////////////////////////////////////////////////////////// -// missing partial specialization workaround. -////////////////////////////////////////////////////////////////////////////// - -namespace boost -{ - namespace range_detail - { - template< typename T > - struct range_value_type_; - - template<> - struct range_value_type_<std_container_> - { - template< typename C > - struct pts - { - typedef BOOST_RANGE_DEDUCED_TYPENAME C::value_type type; - }; - }; - - template<> - struct range_value_type_<std_pair_> - { - template< typename P > - struct pts - { - typedef BOOST_RANGE_DEDUCED_TYPENAME boost::iterator_value< BOOST_RANGE_DEDUCED_TYPENAME P::first_type >::type type; - }; - }; - - template<> - struct range_value_type_<array_> - { - template< typename T > - struct pts - { - typedef BOOST_DEDUCED_TYPENAME remove_extent<T>::type type; - }; - }; - - } - - template< typename C > - class range_value - { - typedef BOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type; - public: - typedef BOOST_DEDUCED_TYPENAME range_detail::range_value_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; - }; - -} - -#endif - diff --git a/contrib/restricted/boost/range/include/boost/range/distance.hpp b/contrib/restricted/boost/range/include/boost/range/distance.hpp index 075f2d1fb9..5b82cf0ced 100644 --- a/contrib/restricted/boost/range/include/boost/range/distance.hpp +++ b/contrib/restricted/boost/range/include/boost/range/distance.hpp @@ -15,20 +15,26 @@ # pragma once #endif +#include <boost/iterator/distance.hpp> #include <boost/range/begin.hpp> #include <boost/range/end.hpp> #include <boost/range/difference_type.hpp> -namespace boost +namespace boost { - template< class T > - inline BOOST_DEDUCED_TYPENAME range_difference<T>::type - distance( const T& r ) + namespace range_distance_adl_barrier { - return std::distance( boost::begin( r ), boost::end( r ) ); + template< class T > + inline BOOST_CXX14_CONSTEXPR BOOST_DEDUCED_TYPENAME range_difference<T>::type + distance( const T& r ) + { + return boost::iterators::distance( boost::begin( r ), boost::end( r ) ); + } } + using namespace range_distance_adl_barrier; + } // namespace 'boost' #endif diff --git a/contrib/restricted/boost/range/include/boost/range/end.hpp b/contrib/restricted/boost/range/include/boost/range/end.hpp index f2a3337e34..332590973b 100644 --- a/contrib/restricted/boost/range/include/boost/range/end.hpp +++ b/contrib/restricted/boost/range/include/boost/range/end.hpp @@ -17,18 +17,16 @@ #include <boost/range/config.hpp> -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -#include <boost/range/detail/end.hpp> -#else - #include <boost/range/detail/implementation_help.hpp> #include <boost/range/iterator.hpp> #include <boost/range/const_iterator.hpp> +#include <boost/config.hpp> +#include <boost/config/workaround.hpp> namespace boost { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) namespace range_detail { #endif @@ -37,7 +35,7 @@ namespace range_detail // primary template ////////////////////////////////////////////////////////////////////// template< typename C > - inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type + BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type range_end( C& c ) { // @@ -53,13 +51,13 @@ namespace range_detail ////////////////////////////////////////////////////////////////////// template< typename Iterator > - inline Iterator range_end( const std::pair<Iterator,Iterator>& p ) + BOOST_CONSTEXPR inline Iterator range_end( const std::pair<Iterator,Iterator>& p ) { return p.second; } template< typename Iterator > - inline Iterator range_end( std::pair<Iterator,Iterator>& p ) + BOOST_CONSTEXPR inline Iterator range_end( std::pair<Iterator,Iterator>& p ) { return p.second; } @@ -69,18 +67,18 @@ namespace range_detail ////////////////////////////////////////////////////////////////////// template< typename T, std::size_t sz > - inline const T* range_end( const T (&a)[sz] ) + BOOST_CONSTEXPR inline const T* range_end( const T (&a)[sz] ) BOOST_NOEXCEPT { return range_detail::array_end<T,sz>( a ); } template< typename T, std::size_t sz > - inline T* range_end( T (&a)[sz] ) + BOOST_CONSTEXPR inline T* range_end( T (&a)[sz] ) BOOST_NOEXCEPT { return range_detail::array_end<T,sz>( a ); } -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) } // namespace 'range_detail' #endif @@ -88,18 +86,24 @@ namespace range_adl_barrier { template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r ) { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) using namespace range_detail; #endif return range_end( r ); } template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r ) { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) using namespace range_detail; #endif return range_end( r ); @@ -108,14 +112,12 @@ inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r ) } // namespace range_adl_barrier } // namespace 'boost' -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - namespace boost { namespace range_adl_barrier { template< class T > - inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type + BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type const_end( const T& r ) { return boost::range_adl_barrier::end( r ); diff --git a/contrib/restricted/boost/range/include/boost/range/has_range_iterator.hpp b/contrib/restricted/boost/range/include/boost/range/has_range_iterator.hpp index 9eb58b35d2..88d8664d16 100644 --- a/contrib/restricted/boost/range/include/boost/range/has_range_iterator.hpp +++ b/contrib/restricted/boost/range/include/boost/range/has_range_iterator.hpp @@ -37,9 +37,9 @@ namespace boost T, BOOST_DEDUCED_TYPENAME ::boost::enable_if< BOOST_DEDUCED_TYPENAME mpl::eval_if<is_const<T>, - has_type<range_const_iterator< + has_type<boost::range_const_iterator< BOOST_DEDUCED_TYPENAME remove_const<T>::type> >, - has_type<range_mutable_iterator<T> > + has_type<boost::range_mutable_iterator<T> > >::type >::type > @@ -57,7 +57,7 @@ namespace boost struct has_range_const_iterator_impl< T, BOOST_DEDUCED_TYPENAME ::boost::enable_if< - has_type<range_const_iterator<T> > + has_type<boost::range_const_iterator<T> > >::type > : boost::mpl::true_ diff --git a/contrib/restricted/boost/range/include/boost/range/irange.hpp b/contrib/restricted/boost/range/include/boost/range/irange.hpp index b1a1240655..7d5fee5ca3 100644 --- a/contrib/restricted/boost/range/include/boost/range/irange.hpp +++ b/contrib/restricted/boost/range/include/boost/range/irange.hpp @@ -217,7 +217,7 @@ namespace boost { BOOST_ASSERT( step_size != 0 ); BOOST_ASSERT( (step_size > 0) ? (last >= first) : (last <= first) ); - + typedef typename range_detail::integer_iterator_with_step<Integer> iterator_t; const std::ptrdiff_t sz = static_cast<std::ptrdiff_t>(step_size >= 0 ? step_size : -step_size); @@ -225,12 +225,19 @@ namespace boost const Integer f = step_size >= 0 ? first : last; const std::ptrdiff_t num_steps = (l - f) / sz + ((l - f) % sz ? 1 : 0); BOOST_ASSERT(num_steps >= 0); - + return strided_integer_range<Integer>( iterator_t(first, 0, step_size), iterator_t(first, num_steps, step_size)); } + template<typename Integer> + integer_range<Integer> + irange(Integer last) + { + return integer_range<Integer>(static_cast<Integer>(0), last); + } + } // namespace boost #endif // include guard diff --git a/contrib/restricted/boost/range/include/boost/range/iterator_range_core.hpp b/contrib/restricted/boost/range/include/boost/range/iterator_range_core.hpp index 7f2dc3f9c8..e6d55d3b5b 100644 --- a/contrib/restricted/boost/range/include/boost/range/iterator_range_core.hpp +++ b/contrib/restricted/boost/range/include/boost/range/iterator_range_core.hpp @@ -637,8 +637,6 @@ public: return iterator_range_detail::greater_or_equal_than( l, r ); } -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -#else template< class Iterator1T, class Iterator2T > inline bool operator==( const iterator_range<Iterator1T>& l, const iterator_range<Iterator2T>& r ) @@ -743,8 +741,6 @@ public: return iterator_range_detail::greater_or_equal_than( l, r ); } -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - // iterator range utilities -----------------------------------------// //! iterator_range construct helper @@ -769,17 +765,6 @@ public: return iterator_range<IteratorT>(first, boost::next(first, n)); } -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - - template< typename Range > - inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type > - make_iterator_range( Range& r ) - { - return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type > - ( boost::begin( r ), boost::end( r ) ); - } - -#else //! iterator_range construct helper /*! Construct an \c iterator_range from a \c Range containing the begin @@ -801,8 +786,6 @@ public: ( r, iterator_range_detail::const_range_tag() ); } -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - namespace iterator_range_detail { template< class Range > @@ -827,19 +810,6 @@ public: } } -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - - template< class Range > - inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type > - make_iterator_range( Range& r, - BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin, - BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end ) - { - return iterator_range_detail::make_range_impl( r, advance_begin, advance_end ); - } - -#else - template< class Range > inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type > make_iterator_range( Range& r, @@ -858,8 +828,6 @@ public: return iterator_range_detail::make_range_impl( r, advance_begin, advance_end ); } -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - //! copy a range into a sequence /*! Construct a new sequence of the specified type from the elements diff --git a/contrib/restricted/boost/range/include/boost/range/metafunctions.hpp b/contrib/restricted/boost/range/include/boost/range/metafunctions.hpp index 9dc59d0f7c..7ca2f93e38 100644 --- a/contrib/restricted/boost/range/include/boost/range/metafunctions.hpp +++ b/contrib/restricted/boost/range/include/boost/range/metafunctions.hpp @@ -17,10 +17,7 @@ #include <boost/range/iterator.hpp> #include <boost/range/has_range_iterator.hpp> -#include <boost/range/result_iterator.hpp> #include <boost/range/reverse_iterator.hpp> -#include <boost/range/const_reverse_iterator.hpp> -#include <boost/range/reverse_result_iterator.hpp> #include <boost/range/value_type.hpp> #include <boost/range/size_type.hpp> #include <boost/range/difference_type.hpp> diff --git a/contrib/restricted/boost/range/include/boost/range/rbegin.hpp b/contrib/restricted/boost/range/include/boost/range/rbegin.hpp index 6d66de94b9..83d3ad0b3d 100644 --- a/contrib/restricted/boost/range/include/boost/range/rbegin.hpp +++ b/contrib/restricted/boost/range/include/boost/range/rbegin.hpp @@ -21,17 +21,6 @@ namespace boost { -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type -rbegin( C& c ) -{ - return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( boost::end( c ) ); -} - -#else - template< class C > inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type rbegin( C& c ) @@ -50,8 +39,6 @@ rbegin( const C& c ) return iter_type( boost::end( c ) ); } -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - template< class T > inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type const_rbegin( const T& r ) diff --git a/contrib/restricted/boost/range/include/boost/range/rend.hpp b/contrib/restricted/boost/range/include/boost/range/rend.hpp index ef7040780c..c91a05af34 100644 --- a/contrib/restricted/boost/range/include/boost/range/rend.hpp +++ b/contrib/restricted/boost/range/include/boost/range/rend.hpp @@ -21,17 +21,6 @@ namespace boost { -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template< class C > -inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type -rend( C& c ) -{ - return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( boost::begin( c ) ); -} - -#else - template< class C > inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type rend( C& c ) @@ -50,8 +39,6 @@ rend( const C& c ) return iter_type( boost::begin( c ) ); } -#endif - template< class T > inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type const_rend( const T& r ) diff --git a/contrib/restricted/boost/range/include/boost/range/result_iterator.hpp b/contrib/restricted/boost/range/include/boost/range/result_iterator.hpp deleted file mode 100644 index 54e343d111..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/result_iterator.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_RESULT_ITERATOR_HPP -#define BOOST_RANGE_RESULT_ITERATOR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include <boost/range/iterator.hpp> - -namespace boost -{ - // - // This interface is deprecated, use range_iterator<T> - // - - template< typename C > - struct range_result_iterator : range_iterator<C> - { }; - -} // namespace boost - - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/reverse_result_iterator.hpp b/contrib/restricted/boost/range/include/boost/range/reverse_result_iterator.hpp deleted file mode 100644 index d375cfd536..0000000000 --- a/contrib/restricted/boost/range/include/boost/range/reverse_result_iterator.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// Boost.Range library -// -// Copyright Thorsten Ottosen 2003-2004. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - -#ifndef BOOST_RANGE_REVERSE_RESULT_ITERATOR_HPP -#define BOOST_RANGE_REVERSE_RESULT_ITERATOR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include <boost/range/reverse_iterator.hpp> - -namespace boost -{ - // - // This interface is deprecated, use range_reverse_iterator<T> - // - - template< typename C > - struct range_reverse_result_iterator : range_reverse_iterator<C> - { }; - -} // namespace boost - -#endif diff --git a/contrib/restricted/boost/range/include/boost/range/size.hpp b/contrib/restricted/boost/range/include/boost/range/size.hpp index 7f38db8c1e..5f722d080d 100644 --- a/contrib/restricted/boost/range/include/boost/range/size.hpp +++ b/contrib/restricted/boost/range/include/boost/range/size.hpp @@ -62,7 +62,7 @@ namespace boost BOOST_RANGE_CONCEPT_ASSERT((boost::SinglePassRangeConcept<SinglePassRange>)); #endif -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \ +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) && \ !BOOST_WORKAROUND(__GNUC__, < 3) \ /**/ using namespace range_detail; |