|
Boost : |
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk