$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Mark Rodgers (mark.rodgers_at_[hidden])
Date: 2000-11-20 02:48:02
From: "Jens Maurer" <Jens.Maurer_at_[hidden]>
> In short, I believe Comeau is correct and all declarations of not1, not2
> in functional.hpp should be changed to
>
> template<class Pred>
> void functor(Pred p);
>
> instead.
>
> What's your opinion?
>
> Jens Maurer
I believe you are right that Comeau is correct. However, I would prefer
not to pass by value in case the functor is of not trivial size, so wonder
if an overload would be appropriate:
template <class Predicate>
unary_negate<Predicate> not1(const Predicate &pred)
{
// ... as now
}
// new
template <class Predicate>
unary_negate<Predicate> not1(Predicate &pred)
{
return unary_negate<Predicate>(pred);
}
What does Comeau make of this? BCC5.5 and GCC 2.95.2 seem to be happy
that it doesn't introduce any ambiguity.
Mark