From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-03-22 07:42:49
"Peter Dimov" <pdimov_at_[hidden]> wrote in message
| Thorsten Ottosen wrote:
| > "Daniel James" <daniel_at_[hidden]> wrote in message
| > news:d1napl$8pu$1_at_sea.gmane.org...
| > Peter Dimov wrote:
| >> I don't remember this being discussed during the review, could you
| >> please explain it in more detail? Do you mean that hash_value should
| >> have a primary template that assumes that its argument is a range?
| > yes.
| >> If
| >> so, I strongly oppose it. Ranges aren't special from the point of
| >> view of hash_value, they shouldn't monopolize the primary template.
| > why should anything *special* monopolize the primary template? Why not
| > something *general*?
| There can be at most one primary template (and for ADL customization points,
| there should be none).
In boost.range this is done and it is very convenient that the primary
works with all containers.
| When you pick your favorite type category and put
| that in a primary template, this makes this type category special with
| respect to the primitive.
speciel == works
| It means that the primitive operates on this
| specific category of types.
this is your interpretation
| hash_value is not a range primitive. It is a value primitive.
is vector< sub_range<string> >::value_type a value or a range?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk