$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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
Metrowerks::remove_reference<Operation>::type::first_argument_type>
class binder1st ...
It is wrapped in:
#ifdef _MSL_EXTENDED_BINDERS
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.
-Howard