Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2001-06-23 09:11:46

At 08:53 AM 6/23/2001, Kostya Altukhov wrote:

>Beman Dawes wrote:
>> >bind(f, _1, _2);
>> >one-based indexing is much more intuitive.
>>My memory of past discussions in the C++ committee was a strong
>>for consistent 0 based indexing even in the cases where it is less
>Why than std::pair has 'first' and 'second' instead of 'nullth' and
>(and why tuple of two variables should use different scheme than
>Why do we have std::bind1st and std::bind2nd instead of std::bind0th
>and std::bind1st (and I think when we use tuples for binding,
>the scheme should be consistent with standard binders)?

Very good point!

So the rule actually seems something like:

    For by-value indexes such as selecting an element in a container, use 0
as the base. Examples: std::vector or std::string.

    For by-name ordinals such as naming operands, arguments, or structure
members, use 1 as the base. Examples: std::pair.first, std::bind1st.

On that basis, bind( f, _1, _2 ) seems the correct choice. It might be
worth mentioning the above rules in the rationale.


Boost list run by bdawes at, gregod at, cpdaniel at, john at