Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-03-22 07:42:49


"Peter Dimov" <pdimov_at_[hidden]> wrote in message
news:016401c52e5e$0e08abe0$6501a8c0_at_pdimov2...
| 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).

why?

In boost.range this is done and it is very convenient that the primary
template
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?

-Thorsten


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