Boost logo

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&amp;, const Policies&amp; =
Policies());

! base_type base() const;

      template &lt;class B, class V, class R, class P&gt;
      iterator_adaptor(
--- 766,773 ----
      iterator_adaptor();
      explicit iterator_adaptor(const Base&amp;, const Policies&amp; =
Policies());

! base_type& base();
! const base_type& base() const;

      template &lt;class B, class V, class R, class P&gt;
      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