$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2000-11-23 11:55:27
From: "Kevlin Henney" <kevlin_at_[hidden]>
> >The counted callback more closely mirrors a function pointer, in the case
> >where the function has state (static variables.)
>
> Not sure I agree that it does quite make this case. I think built-in
> semantics are surprisingly neutral on the topic.
Actually the built-in semantics aren't exactly duplicated by the counted
callback, also:
int f()
{
static int i = 0;
return ++i;
}
int (*g)() = f;
int (*h)() = g;
f(); // 1
g(); // 2
h(); // 3
--
class F
{
public:
F(int j): i(j) {}
int operator()() { return ++i; }
private:
int i;
};
{
F f;
counted_callback<int> g(f);
counted_callback<int> h(g);
f(); // 1
g(); // 1
h(); // 2
}
{
F f;
cloning_callback<int> g(f);
cloning_callback<int> h(g);
f(); // 1
g(); // 1
h(); // 1
}
--
Peter Dimov
Multi Media Ltd.