Mercurial > hg > vamp-build-and-test
diff DEPENDENCIES/generic/include/boost/move/iterator.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/move/iterator.hpp Fri Sep 04 12:01:02 2015 +0100 +++ b/DEPENDENCIES/generic/include/boost/move/iterator.hpp Mon Sep 07 11:12:49 2015 +0100 @@ -14,9 +14,17 @@ #ifndef BOOST_MOVE_ITERATOR_HPP #define BOOST_MOVE_ITERATOR_HPP +#ifndef BOOST_CONFIG_HPP +# include <boost/config.hpp> +#endif +# +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include <boost/move/detail/config_begin.hpp> -#include <boost/move/utility.hpp> -#include <iterator> //std::iterator +#include <boost/move/detail/iterator_traits.hpp> +#include <boost/move/utility_core.hpp> namespace boost { @@ -36,7 +44,7 @@ { public: typedef It iterator_type; - typedef typename std::iterator_traits<iterator_type>::value_type value_type; + typedef typename boost::movelib::iterator_traits<iterator_type>::value_type value_type; #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_DOXYGEN_INVOKED) typedef value_type && reference; #else @@ -46,8 +54,8 @@ , value_type & >::type reference; #endif typedef It pointer; - typedef typename std::iterator_traits<iterator_type>::difference_type difference_type; - typedef typename std::iterator_traits<iterator_type>::iterator_category iterator_category; + typedef typename boost::movelib::iterator_traits<iterator_type>::difference_type difference_type; + typedef typename boost::movelib::iterator_traits<iterator_type>::iterator_category iterator_category; move_iterator() {} @@ -142,14 +150,14 @@ template <class I> struct is_move_iterator - : public ::boost::move_detail::integral_constant<bool, false> { + static const bool value = false; }; template <class I> struct is_move_iterator< ::boost::move_iterator<I> > - : public ::boost::move_detail::integral_constant<bool, true> { + static const bool value = true; }; } //namespace move_detail { @@ -177,14 +185,16 @@ //! back of a container template <typename C> // C models Container class back_move_insert_iterator - : public std::iterator<std::output_iterator_tag, void, void, void, void> { C* container_m; public: - typedef C container_type; - typedef typename C::value_type value_type; - typedef typename C::reference reference; + typedef C container_type; + typedef typename C::value_type value_type; + typedef typename C::reference reference; + typedef typename C::pointer pointer; + typedef typename C::difference_type difference_type; + typedef std::output_iterator_tag iterator_category; explicit back_move_insert_iterator(C& x) : container_m(&x) { } @@ -217,14 +227,16 @@ //! front of a container template <typename C> // C models Container class front_move_insert_iterator - : public std::iterator<std::output_iterator_tag, void, void, void, void> { C* container_m; public: - typedef C container_type; - typedef typename C::value_type value_type; - typedef typename C::reference reference; + typedef C container_type; + typedef typename C::value_type value_type; + typedef typename C::reference reference; + typedef typename C::pointer pointer; + typedef typename C::difference_type difference_type; + typedef std::output_iterator_tag iterator_category; explicit front_move_insert_iterator(C& x) : container_m(&x) { } @@ -254,15 +266,17 @@ ////////////////////////////////////////////////////////////////////////////// template <typename C> // C models Container class move_insert_iterator - : public std::iterator<std::output_iterator_tag, void, void, void, void> { C* container_m; typename C::iterator pos_; public: - typedef C container_type; - typedef typename C::value_type value_type; - typedef typename C::reference reference; + typedef C container_type; + typedef typename C::value_type value_type; + typedef typename C::reference reference; + typedef typename C::pointer pointer; + typedef typename C::difference_type difference_type; + typedef std::output_iterator_tag iterator_category; explicit move_insert_iterator(C& x, typename C::iterator pos) : container_m(&x), pos_(pos)