X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=boost%2Fboost%2Fproperty_map.hpp;h=9077ea37cd10d3f690e08462244cacbad706b2dd;hb=b01a9dc187d9cd396a57463ad27511379dcdc9cd;hp=e8611e62e1356ade392dbbe59fa7c96be0219cfb;hpb=5d443af86a79f7d58098fe574bd034e320292c00;p=lyx.git diff --git a/boost/boost/property_map.hpp b/boost/boost/property_map.hpp index e8611e62e1..9077ea37cd 100644 --- a/boost/boost/property_map.hpp +++ b/boost/boost/property_map.hpp @@ -1,16 +1,17 @@ -// (C) Copyright Jeremy Siek 1999-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. +// (C) Copyright Jeremy Siek 1999-2001. +// 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) + +// See http://www.boost.org/libs/property_map for documentation. #ifndef BOOST_PROPERTY_MAP_HPP #define BOOST_PROPERTY_MAP_HPP #include -#include #include #include +#include #include #include @@ -169,7 +170,9 @@ namespace boost { }; template const typename readable_property_map_archetype::reference& - get(const readable_property_map_archetype&, const K&) { + get(const readable_property_map_archetype&, + const typename readable_property_map_archetype::key_type&) + { typedef typename readable_property_map_archetype::reference R; return static_object::get(); } @@ -197,7 +200,9 @@ namespace boost { typedef writable_property_map_tag category; }; template - void put(const writable_property_map_archetype&, const K&, const V&) { } + void put(const writable_property_map_archetype&, + const typename writable_property_map_archetype::key_type&, + const typename writable_property_map_archetype::value_type&) { } template @@ -233,10 +238,10 @@ namespace boost { void constraints() { function_requires< ReadablePropertyMapConcept >(); function_requires< ConvertibleConcept >(); - + + typedef typename property_traits::value_type value_type; typedef typename require_same< - const typename property_traits::value_type&, - reference>::type req; + const value_type&, reference>::type req; reference ref = pmap[k]; ignore_unused_variable_warning(ref); @@ -266,8 +271,10 @@ namespace boost { void constraints() { boost::function_requires< ReadWritePropertyMapConcept >(); boost::function_requires >(); + + typedef typename property_traits::value_type value_type; typedef typename require_same< - typename property_traits::value_type&, + value_type&, reference>::type req; reference ref = pmap[k]; @@ -389,10 +396,11 @@ namespace boost { typedef boost::lvalue_property_map_tag category; inline safe_iterator_property_map( - RandomAccessIterator first = RandomAccessIterator(), - std::size_t n = 0, + RandomAccessIterator first, + std::size_t n_ = 0, const IndexMap& _id = IndexMap() ) - : iter(first), n(n), index(_id) { } + : iter(first), n(n_), index(_id) { } + inline safe_iterator_property_map() { } inline R operator[](key_type v) const { assert(get(index, v) < n); return *(iter + get(index, v)) ; @@ -408,14 +416,14 @@ namespace boost { template inline safe_iterator_property_map< RAIter, ID, - typename std::iterator_traits::value_type, - typename std::iterator_traits::reference> + typename boost::detail::iterator_traits::value_type, + typename boost::detail::iterator_traits::reference> make_safe_iterator_property_map(RAIter iter, std::size_t n, ID id) { function_requires< RandomAccessIteratorConcept >(); typedef safe_iterator_property_map< RAIter, ID, - typename std::iterator_traits::value_type, - typename std::iterator_traits::reference> PA; + typename boost::detail::iterator_traits::value_type, + typename boost::detail::iterator_traits::reference> PA; return PA(iter, n, id); } #endif