trac 6685 - MFC range map adaptor.

This commit is contained in:
Neil Groves
2014-03-04 13:33:59 +00:00
parent b84385cfce
commit 194f357eeb
3 changed files with 129 additions and 0 deletions
+4
View File
@@ -74,6 +74,10 @@ If the `<boost/range/mfc.hpp>` is included before or after Boost.Range headers,
]
Other Boost.Range metafunctions are defined by the following. Let `Range` be any type listed above and `Ref` be the same as `range_reference<Range>::type`. `range_value<Range>::type` is the same as `remove_reference<remove_const<Ref>::type>::type`, `range_difference<Range>::type` is the same as `std::ptrdiff_t`, and `range_pointer<Range>::type` is the same as `add_pointer<remove_reference<Ref>::type>::type`. As for `const Range`, see below.
Adam Walling has provided the header `<boost/range/mfc_map.hpp>` to add support
for the map adaptor with MFC map types.
[endsect]
[section:atl_ranges ATL Ranges]
+11
View File
@@ -5,6 +5,17 @@
/]
[section:upgrade Upgrade version of Boost.Range]
[section:upgrade_from_1_55 Upgrade from version 1.55]
# __iterator_range__ is now implemented by implementing the member functions
`size()`, `operator[]` via inheritance of base-classes specialized by the
traversal type of the underlying iterator. This is normally requires no
alteration of code. It does mean that types that derive from iterator_range may
need to prefix `this->` to the various member functions. Additionally it has
been noted that some calling code was relying on member functions such as
`size()` being present despite the underlying iterators not being random-access
due to `iterator_reference<Iter>::type` not being a reference. The suggested
refactoring is to use `boost::size(rng)`.
[section:upgrade_from_1_49 Upgrade from version 1.49]
# __size__ now returns the type Rng::size_type if the range has size_type;