summaryrefslogtreecommitdiff
path: root/tests/test_size.cc
diff options
context:
space:
mode:
authorMartin Schulze <MHL.Schulze@t-online.de>2003-03-07 17:49:03 +0000
committerMartin Schulze <teebaum@src.gnome.org>2003-03-07 17:49:03 +0000
commit0fca11971b9ddb7c55a03c04dce485b4831fdf8c (patch)
treec5fb07982e80143f8bacb47c525d0af6e0d157e3 /tests/test_size.cc
parent693dafccb69e541bfca5940bedb9c597101b03d9 (diff)
downloadsigc++-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.cc1
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;
}