X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=boost%2Fboost%2Fproperty_map_iterator.hpp;h=30799712fa7bad0686ffbbc4dfe54e0528a66d62;hb=9ab24e95b9a0447c079fc5df86de9725ea11e53b;hp=bde7b87aba1914198f19d1d4e66e88588e1ddafb;hpb=786216c0899498434cab9f33780f9c178a0a4006;p=lyx.git diff --git a/boost/boost/property_map_iterator.hpp b/boost/boost/property_map_iterator.hpp index bde7b87aba..30799712fa 100644 --- a/boost/boost/property_map_iterator.hpp +++ b/boost/boost/property_map_iterator.hpp @@ -1,114 +1,19 @@ -// (C) Copyright Jeremy Siek, 2001. Permission to copy, use, modify, -// sell and distribute this software is granted provided this -// copyright notice appears in all copies. This software is provided -// "as is" without express or implied warranty, and with no claim as -// to its suitability for any purpose. +/*============================================================================= +Copyright (c) 2009 Trustees of Indiana University -// See http://www.boost.org/libs/property_map for documentation. +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) +=============================================================================*/ +// Redirect/warning header, adapted from the version in Spirit -#ifndef BOOST_PROPERTY_MAP_ITERATOR_HPP -#define BOOST_PROPERTY_MAP_ITERATOR_HPP +#include -#include -#include -#include -#include - -namespace boost { - - //====================================================================== - // property iterator, generalized from ideas by François Faure - - namespace detail { - - template - class lvalue_pmap_iter - : public iterator_adaptor< lvalue_pmap_iter< Iterator, LvaluePropertyMap >, - Iterator, - typename property_traits::value_type, - use_default, - typename property_traits::reference> - { - friend class boost::iterator_core_access; - - typedef iterator_adaptor< lvalue_pmap_iter< Iterator, LvaluePropertyMap >, - Iterator, - typename property_traits::value_type, - use_default, - typename property_traits::reference> super_t; - - public: - lvalue_pmap_iter() { } - lvalue_pmap_iter(Iterator const& it, - LvaluePropertyMap m) - : super_t(it), - m_map(m) {} - - private: - typename lvalue_pmap_iter::reference - dereference() const - { - return m_map[*(this->base_reference())]; - } - - LvaluePropertyMap m_map; - }; - - template - class readable_pmap_iter : - public iterator_adaptor< readable_pmap_iter< Iterator, ReadablePropertyMap >, - Iterator, - typename property_traits::value_type, - use_default, - typename property_traits::value_type> - - - { - friend class iterator_core_access; - - typedef iterator_adaptor< readable_pmap_iter< Iterator, ReadablePropertyMap >, - Iterator, - typename property_traits::value_type, - use_default, - typename property_traits::value_type> super_t; - - public: - readable_pmap_iter() { } - readable_pmap_iter(Iterator const& it, - ReadablePropertyMap m) - : super_t(it), - m_map(m) {} - - private: - typename readable_pmap_iter::reference - dereference() const - { - return get(m_map, *(this->base_reference())); - } - - ReadablePropertyMap m_map; - }; - - - } // namespace detail - - template - struct property_map_iterator_generator : - mpl::if_< is_same< typename property_traits::category, lvalue_property_map_tag>, - detail::lvalue_pmap_iter, - detail::readable_pmap_iter > - {}; - - template - typename property_map_iterator_generator::type - make_property_map_iterator(PropertyMap pmap, Iterator iter) - { - typedef typename property_map_iterator_generator::type Iter; - return Iter(iter, pmap); - } - -} // namespace boost - -#endif // BOOST_PROPERTY_MAP_ITERATOR_HPP +#if BOOST_VERSION >= 103800 +#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) +# pragma message ("Warning: This header is deprecated. Please use: boost/property_map/property_map_iterator.hpp") +#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +# warning "This header is deprecated. Please use: boost/property_map/property_map_iterator.hpp" +#endif +#endif +#include