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