Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2001-01-02 08:25:57


----- Original Message -----
From: "John Maddock" <John_Maddock_at_[hidden]>
To: <boost_at_[hidden]>

> >My impression of the first change is that your compiler is correct and
> your
> >proposed change is probably the best fix.
>
> I'm not surprised that the compiler chokes on that, however according to
> 14.7.1p2 it does actually look as though this is legal, even though for a
> non-template class it would not be (see 8.3.6p5). Whatever let's change
> it.

You learn something new every day ;-)

> >My impression of the second change is that your compiler is correct and
> the
> >typename is probably illegal, but that "struct" shouldn't be needed
> either.
>
> typename is permitted for all qualifed names - so this is allowed.
> typename is required for all dependent qualified names - so it is not
> required here.

I don't see any qualification here, unless you mean namespace qualification.
That doesn't count, does it?

        typedef typename boost::iterator_adaptor<InEdgeIter,
          in_edge_iter_policies<vertex_descriptor>,
          edge_iter_traits<edge_descriptor, InEdgeIterTraits>
> in_edge_iterator;

-Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk