|
Boost : |
From: Thomas Witt (witt_at_[hidden])
Date: 2002-02-01 03:59:38
On Friday 01 February 2002 00:03, you wrote:
> Oh, I see. It's just that way in the documentation. Thanks for pointing it
> out.
>
> APB: I'd appreciate it lots if someone would submit a documentation patch
> to cover this and the issue of the accessibility of non-const versions
> base() and policies() as discussed on the list a few days ago. I'm just too
> overwhelmed to do it right now.
>
I gave it a try, though the language might not meet the requirements.
BTW: Did you see msg #24308?
Thomas
>>>> snip
*** iterator_adaptors.htm Fri Feb 1 09:52:22 2002
--- iterator_adaptors_patched.htm Fri Feb 1 09:50:26 2002
***************
*** 487,495 ****
Requires: <tt>B</tt> is convertible to <tt>Base</tt>.
<tr>
! <td><tt>base_type base() const;</tt>
<br><br>
! Return a copy of the base object.
</table>
<h3><a name="example">Example</a></h3>
--- 487,501 ----
Requires: <tt>B</tt> is convertible to <tt>Base</tt>.
<tr>
! <td><tt>const base_type& base() const;</tt>
<br><br>
! Return a const reference to the base object.
!
! <tr> <td><tt>base_type& base();</tt>
! <br><br>
! Return a reference to the base object. This is to give the
policies object
! access to the base object. See above for
policies
! iterator_adaptor interaction.[8]
</table>
<h3><a name="example">Example</a></h3>
***************
*** 760,766 ****
iterator_adaptor();
explicit iterator_adaptor(const Base&, const Policies& =
Policies());
! base_type base() const;
template <class B, class V, class R, class P>
iterator_adaptor(
--- 766,773 ----
iterator_adaptor();
explicit iterator_adaptor(const Base&, const Policies& =
Policies());
! base_type& base();
! const base_type& base() const;
template <class B, class V, class R, class P>
iterator_adaptor(
***************
*** 891,896 ****
--- 898,908 ----
<tt>Base</tt> type is a const pointer, then the correct defaults
for the <tt>reference</tt> and <tt>pointer</tt> types can not be
deduced. You must specify these types explicitly.
+
+ <p><a name="8">[8]</a>
+ Exposing the base object might be considered as being dangerous.
+ A possible fix would require compiler support for template friends.
+ As this is not widely available today, the base object remains exposed
for now.
<hr>
<<<< snip
-- Dipl.-Ing. Thomas Witt Institut fuer Verkehrswesen, Eisenbahnbau und -betrieb, Universitaet Hannover voice: +49(0) 511 762 - 4273, fax: +49(0) 511 762-3001 http://www.ive.uni-hannover.de
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk