|
Boost : |
From: Pavol Droba (droba_at_[hidden])
Date: 2004-03-09 17:27:53
On Tue, Mar 09, 2004 at 01:40:50PM -0800, Thomas Witt wrote:
> Pavol Droba wrote:
>
> >Hi,
> >
> >I have a problem with iterator_facade usage. Error is reported by Comeau
> >and MIPSPro compilers:
> >
> >An error output can be found in regression tables:
> >
> >http://tinyurl.com/37mxz
> >
> >The compiler is reporting, that iterator_core_access cannot access
> >the private equal() function, althought it has been marked as friend.
>
> IIUC the compiler is right. The friend declaration in
> boost::algorithm::find_iterator declares
> boost::algorithm::iterator_core_access as friend. Not
> boost::iterator_core_access. IIUC there is no name lookup on unqualified
> names in friend class declarations. See core issue 138 for further
> information.
>
> Changing the friend declaration to friend class
> ::boost::iterator_core_access should fix the problem.
>
Thanks for explanation. I didn't know about this issue, although it perfectly
makes sense. IMO such an issue should be noted in the iterator_facade docs
and examples, because it can be easily overlooked (at least I overlooked it
very easily:) )
Regards,
Pavol
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk