$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-07-24 21:39:22
AMDG
Brian Davis wrote:
> I am only
> providing a simple example for discussion and hopefull inclusion of data
> binding concept in boost and ....ultimately modify the C++ compiler to
> provide for a lighter weight solution (events based on modifications of
> integral types) - Ouch ... yes I know what I am asking here... see the last
> part of the example output for why I ask this.
>
What exactly do you mean by a lighter weight solution?
Allowing events to be registered for an arbitrary int would
have the following consequences:
The compiler would have to insert extra code for every
integer assignment, severely degrading performance regardless of
whether this feature is used--except where the compiler can
prove that no event is registered for a particular integer.
The function
f(int& i) {
i = 0;
}
could throw. This would break a lot of exception safety guarantees.
Every assignment could modify any variable, effectively forbidding
many compiler optimizations based on pointer alias analysis.
In Christ,
Steven Watanabe