diff options
author | Martin Schulze <MHL.Schulze@t-online.de> | 2003-03-07 17:49:03 +0000 |
---|---|---|
committer | Martin Schulze <teebaum@src.gnome.org> | 2003-03-07 17:49:03 +0000 |
commit | 0fca11971b9ddb7c55a03c04dce485b4831fdf8c (patch) | |
tree | c5fb07982e80143f8bacb47c525d0af6e0d157e3 /tests/test_size.cc | |
parent | 693dafccb69e541bfca5940bedb9c597101b03d9 (diff) | |
download | sigc++-0fca11971b9ddb7c55a03c04dce485b4831fdf8c.tar.gz |
- signal_emit#<>: New templates replacing signal#<>::caller. The purpose
2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
* sigc++/signal.{cc,h.m4}:
- signal_emit#<>: New templates replacing signal#<>::caller.
The purpose of these templates is implementing the emit
function and optimizing signal emission for the case that
no accumulator is used via template specializations.
- default_accumulator<>: Removed. The default for T_accumulator
in signal#<> now is nil. An example how to use accumulators
is available in tests/test_accumulator.cc.
- signal_{base,impl}: Move the implementation of signal_base's
interface to signal_impl. An object of this class is
dynamically allocated when first connecting a closure to
the signal. This drastically reduces the size of empty signals
and allows for future addition of a reference counter to make
it safe to delete a signal during emission.
- Directly work on closure_rep during signal emission. This
seems to be quicker than using the closure templates.
- Document the classes. Restructure the header file a bit.
* sigc++/functors/closure.h.m4: Make closure_base::rep_ data
member public, so that signal emission can directly work on it.
* tests/test_size.cc: Add an entry for signal_impl.
Diffstat (limited to 'tests/test_size.cc')
-rw-r--r-- | tests/test_size.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/test_size.cc b/tests/test_size.cc index 02371f8..ad08b82 100644 --- a/tests/test_size.cc +++ b/tests/test_size.cc @@ -36,4 +36,5 @@ int main() cout << " closure_rep: " << sizeof(internal::closure_rep) << endl; cout << " typed_closure_rep<mem_functor0<void,A> >: " << sizeof(internal::typed_closure_rep<mem_functor0<void,A> >) << endl; + cout << " signal_impl: " << sizeof(sigc::internal::signal_impl) << endl; } |