|
Boost : |
From: Moore, Paul (paul.moore_at_[hidden])
Date: 2001-03-07 06:04:35
From: Aleksey Gurtovoy [mailto:alexy_at_[hidden]]
> First of all, it's not about simulating the missing feature,
> it's about solving the real problem in an acceptable way.
> Second, I don't think that
>
> iterator_traits_builder
> ::value<dummyT>
> ::reference<const dummyT&>
> ::category<std::forward_iterator_tag>
> ::distance<std::ptrdiff_t>
> ::pointer<const dummyT*>
> ::type
>
> is so much different from
>
> iterator_traits_builder<
> value = dummyT
> , reference = const dummyT&
> , category = std::forward_iterator_tag
> , distance = std::ptrdiff_t
> , pointer = const dummyT*
> >
>
> IMO they are pretty much equivalent in both readability and ability to
> express the code intent.
With that example, I agree. However, the examples I've seen before are a lot
more verbose (aren't you using global symbols, like ::value? Wouldn't that
in reality be something like boost::iterator_adaptors::value? That starts to
get unreadable again...
But I do take your point, particularly with regard to the builder class
equivalent for functions.
Paul.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk