Boost logo

Boost :

From: Howard Hinnant (hinnant_at_[hidden])
Date: 2005-12-11 14:52:32

On Dec 11, 2005, at 10:49 AM, Arkadiy Vertleyb wrote:

> Then is it possible to take a look inside, and see what is so
> specific about
> binder "extension" that causes the problem with this particular
> templates?

Peter hit the nail on the head (as usual).

> Unless the compiler has a bug, the only explanation is nonstandard
> default
> arguments.

template <class Operation, class T = typename
class binder1st ...

It is wrapped in:


with the standard version in the #else. _MSL_EXTENDED_BINDERS is
defined by default in <mslconfig> which every CodeWarrior std C++
header includes.

The intent was to create a binder1st that could hold the operation by
reference if desired in order to avoid copies of expense-to-copy
predicates (such as those holding a container to compare to).
tr1::ref is probably a better solution to that problem, as is
tr1::bind. Consider this a failed experiment on my part.


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