X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=boost%2Fboost%2Fproperty_map_iterator.hpp;h=30799712fa7bad0686ffbbc4dfe54e0528a66d62;hb=9ab24e95b9a0447c079fc5df86de9725ea11e53b;hp=7154d7706fee556ed3c47a1bfa378ac8214ce40b;hpb=e1644a68eb123c267a7ef2e651c66b788c38f03a;p=lyx.git diff --git a/boost/boost/property_map_iterator.hpp b/boost/boost/property_map_iterator.hpp index 7154d7706f..30799712fa 100644 --- a/boost/boost/property_map_iterator.hpp +++ b/boost/boost/property_map_iterator.hpp @@ -1,99 +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 - -namespace boost { - - //====================================================================== - // property iterator, generalized from ideas by François Faure - - namespace detail { - - template - struct lvalue_pmap_iter_policies : public default_iterator_policies - { - lvalue_pmap_iter_policies() { } - lvalue_pmap_iter_policies(LvaluePropertyMap m) : m_map(m) {} - - template - typename Iter::reference - dereference(const Iter& i) const - { - return m_map[*i.base()]; - } - private: - LvaluePropertyMap m_map; - }; - - template - struct readable_pmap_iter_policies : public default_iterator_policies - { - readable_pmap_iter_policies() { } - readable_pmap_iter_policies(ReadablePropertyMap m) : m_map(m) {} - - template - typename Iter::reference - dereference(const Iter& i) const - { - return get(m_map, *i.base()); - } - private: - ReadablePropertyMap m_map; - }; - - template - struct choose_pmap_iter { - template - struct bind_ { - typedef typename property_traits::value_type value; - typedef iterator_adaptor, value, value, - value*, std::input_iterator_tag> type; - }; - }; - - template <> - struct choose_pmap_iter { - template - struct bind_ { - typedef typename property_traits::value_type value; - typedef typename property_traits::reference ref; - typedef iterator_adaptor, - value, ref> type; - }; - }; - - } // namespace detail - - template - class property_map_iterator_generator { - public: - typedef typename property_traits::category Cat; - typedef typename detail::choose_pmap_iter:: - template bind_::type type; - }; - - 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