Commit Graph

37 Commits

Author SHA1 Message Date
837b948435 Header cleanup using include-what-you-use 2020-07-01 17:02:44 +10:00
7805153e17 nocopy: remove deprecated header 2019-05-17 13:44:14 +10:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
488646bee7 signal: add default move and copy operators 2019-03-13 14:07:51 +11:00
b1076d07ce signal: reduce templating complexity 2019-03-13 12:08:57 +11:00
fe031378fe signal: use more descriptive template parameter names 2019-03-12 15:43:47 +11:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +11:00
8c8a252d9f build: prefer nodiscard over warn_unused_result 2018-02-01 13:47:42 +11:00
6ecab5b6d0 signal: warn if discarding auto-disconnect cookies 2017-08-08 13:55:06 +10:00
96d621a461 signal: don't forward arguments we may reuse 2017-08-08 13:54:45 +10:00
25e19b5810 build: use explicit constructors 2017-05-23 12:50:51 +10:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
1f432c13b7 build: avoid type truncation warnings
discovered with clang's -Wshorten-64-to-32
2016-05-12 17:39:33 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
daa492ce07 signal: add return value combiners 2015-03-10 22:52:38 +11:00
ba0b43ce20 signal: remove rvalref from constructor
too difficult to allow binding to lvals and rvals so just drop the rval
support. we shouldn't be using heavyweight types here anyway.
2015-02-20 21:54:08 +11:00
0f9e0fe5a7 signal: add forwarding value_signal constructor 2015-02-20 15:28:28 +11:00
c8f067bf60 signal: add value wrapper signal 2015-02-19 13:29:16 +11:00
38d3fc1961 signal: simplify unneeded signal elements
* use function syntax for template type
* remove non-scoped cookie
* simplify many type names
2015-02-18 02:35:05 +11:00
f40771eb87 Move signal definitions to ipp 2013-08-06 21:23:40 +10:00
ea71f958f4 Instancing and construction fixups for clang 2012-05-26 18:01:04 +10:00
e3072aeedb Add an early out for empty signals 2012-05-11 12:20:32 +10:00
77942e008d Change my email to an active domain 2012-04-23 13:10:50 +10:00
a3c602407f Store loop conditions before dispatching signal
If we store the loop condition before executing the functor we have a
better chance of avoiding iterator invalidation from any trickery on the
subscriber side.
2011-09-16 22:57:25 +10:00
d024c588db Add release function for signal scoped_cookies 2011-09-16 22:56:52 +10:00
78427bc45a Reorder signal exec traversal to allow deletions 2011-08-12 00:26:56 +10:00
955b97c73e Allow signal scoped_cookies to assign functors 2011-08-12 00:26:28 +10:00
f14e3abe3d Add cookies for selective signal disconnection 2011-08-10 21:31:24 +10:00
10c6a22df1 Use const accessors for signal dispatch 2011-08-10 21:30:55 +10:00
ec5e9f6c87 Add empty query for signals 2011-08-10 21:30:03 +10:00
d6b943500c Move signal into namespace util
signal will clash with the POSIX signal function. This tends to be too
annoying to work around with careful inclusion orders or other
namespacing.
2011-07-16 14:47:56 +10:00
41fb3e7b91 Add some doxygen comments for signal 2011-07-03 16:54:51 +10:00
6e85e3c97b Don't use template vararg references for signals 2011-07-03 16:04:07 +10:00
c3b8b1e147 Remove signal disconnection methods
std::function does not support equality operators, so we have to remove
these or implement a better disconnection method. The former is easier
for the time being.
2011-07-03 16:02:36 +10:00
d9dba1d155 Add simple signal object implementation 2011-06-27 15:31:41 +10:00