Files
iterator/doc/indirect_reference_ref.rst
T
Frank Birbacher 47b3f8b73c Created branch to extend PropertyMap:
add a readable functor map that calls a given functor or function upon lookup.
Ideas from: http://comments.gmane.org/gmane.comp.lib.boost.user/54397
and: http://comments.gmane.org/gmane.comp.lib.boost.user/73358


[SVN r77438]
2012-03-20 20:11:17 +00:00

29 lines
1.0 KiB
ReStructuredText

.. Copyright David Abrahams 2004. Use, modification and distribution is
.. subject to 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)
::
template <class Dereferenceable>
struct indirect_reference
{
typedef /* see below */ type;
};
:Requires: For an object ``x`` of type ``Dereferenceable``, ``*x``
is well-formed. If ``++x`` is ill-formed it shall neither be
ambiguous nor shall it violate access control, and
``pointee<Dereferenceable>::type&`` shall be well-formed.
Otherwise ``iterator_traits<Dereferenceable>::reference`` shall
be well formed. [Note: These requirements need not apply to
explicit or partial specializations of ``indirect_reference``]
``type`` is determined according to the following algorithm, where
``x`` is an object of type ``Dereferenceable``::
if ( ++x is ill-formed )
return ``pointee<Dereferenceable>::type&``
else
std::iterator_traits<Dereferenceable>::reference