Commit Graph

299 Commits

Author SHA1 Message Date
Frank Mori Hess
fdc0c8b54a Added an overload to avoid unreferenced parameter warning (patch
from Sergiu Dotenco).
2014-08-15 21:05:18 -04:00
Frank Mori Hess
0b656211f1 Fixed unused parameter warning. 2014-08-15 17:08:59 -04:00
Frank Mori Hess
a0bf2d188c Disconnect slots associated with signals2::trackable immediately
upon deletion of the signals2::trackable object.
Refs #10100
2014-07-08 15:29:31 -04:00
Marcel Raad
2ea1a2f8ad Compile fix for MSVC 14
Enables the Visual C++ 12 workaround also for Visual C++ 14.
2014-07-03 21:47:39 +02:00
Steve Gates
afc2d898ed Updating Signals2 to work with the Windows Runtime.
Basically just use InitializeCriticalSectionEx.
2014-06-17 11:02:38 -07:00
Frank Mori Hess
96f7da77ed Removed some macro usage that is no longer needed. 2014-01-01 11:20:31 -05:00
Daniela Engert
badf044236 Enable compilation with VS2013 and later.
Instead of adding partially specialized class template 'slot' with dependent template argument 'SlotFunction' which doesn't work with Visual Studio compilers, get around this problem by introducing class template 'slot_impl' - much like in the "faux-variadic" code path used by compilers which don't implement variadic templates.

As a by-product, make library level-4-warning-clean.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2013-12-31 16:51:09 +01:00
Frank Mori Hess
40dc434f94 Removed redundant forward declaration of slot class when
compiling with variadic templates.
2013-12-29 21:35:02 -05:00
Frank Mori Hess
a75540ffc2 Removed redundant #define. 2013-12-29 20:38:58 -05:00
Frank Mori Hess
930373d2f5 Removed unreachable code. 2013-12-29 20:09:25 -05:00
Daniela Engert
de7c018d3a * fix: compilation of move support up to vc11
Visual Studio compilers up to VS2012 don't auto-generate move constructors and move assignment operators. One has to implement them manually.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2013-12-29 17:22:02 +01:00
Frank Mori Hess
33839117c5 Added move constructor and move assignment operator to signal
class.
2013-12-24 18:59:46 -05:00
Frank Mori Hess
b4f86e6d1e Added move support to connection/scoped_connection. 2013-12-23 19:58:58 -05:00
Frank Mori Hess
a4cf126ad1 As per Peter Dimov's suggestion, the variadic binding constructor for slots
shouldn't accept zero arguments.  There is also no need for it to accept a 
single argument, and not doing so avoids a bug in MSVC12.
Refs #9286



[SVN r86412]
2013-10-24 02:17:13 +00:00
Stephen Kelly
1aecc7a166 Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Frank Mori Hess
914e69f190 Don't force disconnection of all slots in signal destructor.
Refs #9103


[SVN r85836]
2013-09-22 21:21:34 +00:00
Frank Mori Hess
c1226819fb Removed unneeded include of any.hpp. Refs #9031
[SVN r85452]
2013-08-25 00:50:48 +00:00
Frank Mori Hess
57bc552e88 Added BOOST_VERIFY checks on return values from pthread calls.
Refs #8916



[SVN r85161]
2013-07-26 01:02:26 +00:00
Frank Mori Hess
c571aa3d42 Removed some spurious semicolons. Refs #8727
[SVN r85042]
2013-07-15 02:14:30 +00:00
Frank Mori Hess
239ed332bd Tweaked template declaration of swap for signal classes, to make
it more consistent.



[SVN r84007]
2013-04-22 03:51:29 +00:00
Frank Mori Hess
50a87e115c Added swap to signal classes. Fixes #8449
[SVN r84006]
2013-04-22 03:22:06 +00:00
Frank Mori Hess
02a94c1371 Applied patch from Eric Niebler to make use of BOOST_NO_CXX11_SMART_PTR.
Refs #8115.



[SVN r83042]
2013-02-20 01:27:55 +00:00
Frank Mori Hess
b2b1410a43 Applied from Eric Niebler to fix compile errors against compilers that
support variadic templates but not std::tuple.



[SVN r83041]
2013-02-20 01:19:37 +00:00
Marshall Clow
3994d7789f Remove usage of deprecated macros
[SVN r81444]
2012-11-20 21:18:02 +00:00
Dave Abrahams
f1a2b19f43 Replace all uses of boost/utility.hpp with more-granular includes. Solves modularization dependency nightmare.
[SVN r78502]
2012-05-18 04:44:04 +00:00
Frank Mori Hess
d80cefdad9 Try to deal with C++11 (or not) compilers a little better, so we can avoid
standard violation in foreign_ptr.hpp.  Refs #6655.


[SVN r77289]
2012-03-10 15:10:05 +00:00
Frank Mori Hess
1671d2e4d0 Fix for reported clang compile error. Refs #6198.
[SVN r75777]
2011-12-03 05:47:59 +00:00
Hartmut Kaiser
ac3bf72c31 Signals2: Allow signals to be used with newer Intel compilers
[SVN r74893]
2011-10-10 12:34:20 +00:00
Frank Mori Hess
97de292a0c Use BOOST_PP_EXPR_IF instead of BOOST_PP_IF with BOOST_PP_EMPTY.
[SVN r71893]
2011-05-12 14:43:25 +00:00
Frank Mori Hess
bba87b166e Fix warnings about empty macro arguments with gcc 4.4 -pedantic.
[SVN r71892]
2011-05-12 14:41:18 +00:00
Frank Mori Hess
6393693e5c Use BOOST_PP_EMPTY for empty macro argument.
[SVN r71890]
2011-05-12 14:11:00 +00:00
Frank Mori Hess
bd2565ccee Whitespace indentation fix.
[SVN r71889]
2011-05-12 13:29:52 +00:00
Frank Mori Hess
1b85d70dbe Declare assignment operator of slot_invoker private.
[SVN r71888]
2011-05-12 13:26:25 +00:00
Frank Mori Hess
cc04d5ec45 Got rid of a couple unused parameter warnings.
[SVN r68871]
2011-02-14 21:23:01 +00:00
Frank Mori Hess
eaf7ba7584 Use std::forward instead our own implementation.
[SVN r67620]
2011-01-03 17:00:26 +00:00
Frank Mori Hess
a0f0732d57 Fixed some gcc -Wshadow warnings reported by Rich McKeever.
Refs #4958.



[SVN r67097]
2010-12-08 02:37:11 +00:00
Frank Mori Hess
d11090f2b5 Don't need mpl/not.hpp workaround for Boost.Variant any more.
[SVN r65001]
2010-08-25 18:30:08 +00:00
Frank Mori Hess
816e73bddc Trying to fix test failure on gcc 4.5 in c++0x mode.
[SVN r65000]
2010-08-25 17:11:56 +00:00
Frank Mori Hess
4c12099671 Quiet compiler warning. Refs #4354.
[SVN r63032]
2010-06-17 01:48:54 +00:00
K. Noel Belcourt
53819e57fd Fixed ticket 4289, add missing include guards.
Checked that include guard name not currently used
and followed the established to signals2 conventions.



[SVN r62709]
2010-06-10 02:38:09 +00:00
Frank Mori Hess
b542ddbc18 renamed one overload of private nolock_cleanup_connections method,
to avoid compiler problem on one test platform (sandia-intel-10.1).



[SVN r61277]
2010-04-14 20:03:57 +00:00
Frank Mori Hess
62dce534c8 Fix for uncontrolled growth of slot list under certain patterns
of connection/disconnection without invocation.  Refs #4089.



[SVN r61243]
2010-04-13 13:02:17 +00:00
Frank Mori Hess
b049cdbb99 Fixed standard violations where I caught incomplete types.
Refs #3983.



[SVN r60383]
2010-03-09 17:01:45 +00:00
Frank Mori Hess
b217658ab9 Qualify addressof call, refs #3534.
[SVN r57056]
2009-10-22 02:05:18 +00:00
Frank Mori Hess
54b61446fe Removed unused variable.
[SVN r56803]
2009-10-13 21:58:55 +00:00
Frank Mori Hess
b434ae968d Make sure we always use GroupCompare template parameter
[SVN r56802]
2009-10-13 21:42:20 +00:00
Frank Mori Hess
54bf9df544 Work around missing include in Boost.Variant headers
[SVN r56779]
2009-10-13 14:04:26 +00:00
Frank Mori Hess
4de09843dd Added support for tracking of objects owned by non-boost
shared_ptr.  No documentation yet.



[SVN r56639]
2009-10-07 20:56:56 +00:00
Frank Mori Hess
c604fa61c7 Optimized cleanup of slot list when a signal is invoked with a large number
of disconnected slots still in the slot list.


[SVN r55143]
2009-07-24 14:48:37 +00:00
Frank Mori Hess
59bfdf2f18 Trying to work around sun 5.9 compiler bug to make connection_test pass.
[SVN r53793]
2009-06-11 18:30:26 +00:00
Frank Mori Hess
a247558d8b Added a copy of Thorsten Ottosen's auto_buffer into signals2/detail
and used it to replace stack_allocator/stack_vector (which worked 
on popular compilers but were not strictly standards conforming).


[SVN r53779]
2009-06-09 18:07:08 +00:00
Frank Mori Hess
6eba73c525 Added test for and fixed compile errors in signal::set_combiner()
and combiner() methods.  Refs #3125.



[SVN r53599]
2009-06-03 13:43:51 +00:00
Frank Mori Hess
e6718355a4 Work around overload resolution failures on gcc 3.4
[SVN r53554]
2009-06-01 19:42:04 +00:00
Frank Mori Hess
5d94b41cac Fixed compile errors with BOOST_NO_VARIADIC_TEMPLATES.
[SVN r53502]
2009-05-31 15:33:47 +00:00
Frank Mori Hess
2b6fc8ecee Fixing some reference-to-reference problems with some compilers.
[SVN r53464]
2009-05-30 17:12:01 +00:00
Frank Mori Hess
0c8296d92f Make combiners that return void work, even when
BOOST_NO_VOID_RETURNS is defined.  Stopped slot_result_type
from being dishonest when slot returns void and BOOST_NO_VOID_RETURNS
is defined.



[SVN r53400]
2009-05-29 17:35:35 +00:00
Frank Mori Hess
feea7d1e38 Added inheritance of variadic signal/slot from std::unary_function or
std::binary_function as appropriate.


[SVN r53392]
2009-05-29 15:05:10 +00:00
Frank Mori Hess
2bd5533ae9 Forgot to convert one use of old vararg_count to sizeof...().
[SVN r53391]
2009-05-29 14:30:53 +00:00
Frank Mori Hess
e53f1d2a3c Fixed some test errors caused by sig_type::slot_type::signature_type not existing.
Replaced unneeded vararg_count with sizeof...().


[SVN r53390]
2009-05-29 13:34:42 +00:00
Frank Mori Hess
687dee2875 Added signature_type member typedef to variadic signal implementation.
Also added it to slot classes.



[SVN r53359]
2009-05-28 19:44:44 +00:00
Frank Mori Hess
fbb9988f5f Added some files I forgot to add with changeset [53355]
[SVN r53356]
2009-05-28 19:00:01 +00:00
Frank Mori Hess
4acf719aa9 Added variadic signal/slot implementations used when
BOOST_NO_VARIADIC_TEMPLATES is not defined.  The
signal0, signal1, etc classes are not available when using
the variadic implementations, I plan to mark them as
deprecated.  Also the arg1_type, arg2_type member typedefs
are not available and are replaced with a "arg" member
template class.  Documentation updates to follow.



[SVN r53355]
2009-05-28 18:49:27 +00:00
Frank Mori Hess
e4266bf7f6 Tweaked #include directives a little.
[SVN r53354]
2009-05-28 18:45:22 +00:00
Frank Mori Hess
ee17e4f734 Use BOOST_NO_VARIADIC_TEMPLATES instead of BOOST_HAS_VARIADIC_TMPL, etc.
[SVN r53353]
2009-05-28 18:37:40 +00:00
Frank Mori Hess
79625c90d0 Patch from Richard Webb for msvc10 compile error, refs #3091
[SVN r53294]
2009-05-27 01:48:08 +00:00
Frank Mori Hess
6183fc34c3 Added shared_connection_block::connection() query, and a
connection::operator!=().  Added a test of shared_connection_block
assignment.


[SVN r53131]
2009-05-20 15:16:37 +00:00
Frank Mori Hess
ca91bb77bd Made shared_connection_block default constructible. Split shared_connection_block
tests out of deletion_test, and added a little test for a 
default-constructed shared_connection_block.


[SVN r53128]
2009-05-20 14:36:49 +00:00
Frank Mori Hess
87ff0db5fc Added ability to create a shared_connection_block which is initially
not blocking.



[SVN r53091]
2009-05-18 16:59:28 +00:00
Frank Mori Hess
bbb008318e Fix for some compile warnings from Kyle Girard <theycallmecoach@gmail.com>.
[SVN r52659]
2009-04-29 13:53:18 +00:00
Frank Mori Hess
77ee47ffd6 Added some equality comparison operators for stack_allocator.
[SVN r52654]
2009-04-28 18:17:24 +00:00
Frank Mori Hess
fd7e977c28 Trying to fix compile problems on msvc 9 in release mode.
[SVN r52627]
2009-04-27 13:07:50 +00:00
Frank Mori Hess
23939a55eb Fix c++0x perfect forwarding for deconstruct.
[SVN r52477]
2009-04-19 02:18:51 +00:00
Frank Mori Hess
422ceee998 Fixed compile errors in c++0x mode.
[SVN r52404]
2009-04-15 12:45:41 +00:00
Frank Mori Hess
e265943d61 signals2/signal.hpp does not need to include signals2/shared_connection_block.hpp.
[SVN r52385]
2009-04-14 14:21:18 +00:00
Frank Mori Hess
35ea409775 Consolidated some redundant macros. Made BOOST_SIGNALS2_SLOT_MAX_BINDING_ARGS
settable by user.


[SVN r52372]
2009-04-13 19:52:21 +00:00
Frank Mori Hess
4bdee4633b Fixed a few more copyright/license issues detected by
inspection report.



[SVN r51671]
2009-03-09 21:23:14 +00:00
Daniel James
c9bb9ec451 Fix a couple of minor signals2 documentation issues.
[SVN r51669]
2009-03-09 20:57:06 +00:00
Frank Mori Hess
6b9f7b001e Finally fixed some odd test errors on msvc9.
[SVN r51640]
2009-03-07 16:44:27 +00:00
Frank Mori Hess
37805661eb some inspect cleanups (mostly getting rid of tabs).
[SVN r51636]
2009-03-06 16:17:16 +00:00
Frank Mori Hess
dff6be7def Trying to work around msvc 9 apparently compiling unused member f
unctions in templates.


[SVN r51620]
2009-03-05 13:33:40 +00:00
Frank Mori Hess
a67605599f Deal with compile errors caused by enable_shared_from_this reversions.
Added check to make sure postconstructor_invoker doesn't call
adl_postconstruct multiple times.



[SVN r51610]
2009-03-04 16:39:05 +00:00
Frank Mori Hess
d44d7caed1 Fixed "looser throw specifier for virtual" compile errors.
[SVN r51605]
2009-03-04 14:24:15 +00:00
Frank Mori Hess
8c8c0587b5 Added const qualification to no_slots_error::what().
[SVN r51575]
2009-03-03 15:43:58 +00:00
Frank Mori Hess
987a3f4f1c Quiet a compiler warning on msvc 7.1
[SVN r51573]
2009-03-03 15:06:48 +00:00
Frank Mori Hess
c3d7dd6ae0 Trying to fix compile error on mutex_test.cpp on msvc9
[SVN r51572]
2009-03-03 15:04:06 +00:00
Frank Mori Hess
4d8daa4abd Merged Signals2 from sandbox to trunk.
[SVN r51520]
2009-03-01 20:54:34 +00:00
Frank Mori Hess
80485f528a Moved deconstruct_access from signals2::detail to signals2 namespace,
and got rid of using declaration that caused problems on visual studio 2005.


[SVN r51420]
2009-02-24 01:02:49 +00:00
Frank Mori Hess
3a48ca503f Added signature_type typedef to signals2::signal.
[SVN r51419]
2009-02-24 01:01:04 +00:00
Frank Mori Hess
48399f1edb On second though, I don't like automatically tracking
weak_ptr<signals2::trackable> and weak_ptr<signals2::signal>.



[SVN r51411]
2009-02-23 05:30:12 +00:00
Frank Mori Hess
8c1c6218ce Added automatic tracking of weak_ptr<signals2::trackable> and
weak_ptr<signals2::signal> objects via visit_each.



[SVN r51398]
2009-02-22 19:48:39 +00:00
Frank Mori Hess
1710995cfa Fixed deconstruct when used with enable_shared_from_this
[SVN r51037]
2009-02-05 20:58:10 +00:00
Frank Mori Hess
44f2fc27d8 Removed obsolete calls to detail::do_postconstruct
[SVN r51034]
2009-02-05 19:58:17 +00:00
Frank Mori Hess
b0e87e825c Tweaked conversion operator of postconstruct_invoker.
[SVN r51011]
2009-02-04 16:21:05 +00:00
Frank Mori Hess
2935441893 Added a missing forward declaration.
[SVN r50998]
2009-02-03 19:19:37 +00:00
Frank Mori Hess
a266d6c1d4 Fixed return type for 0 argument and variadic deconstruct overloads.
[SVN r50968]
2009-02-02 16:51:18 +00:00
Frank Mori Hess
3eda4231b9 Made postconstructor_invoker constructor private.
[SVN r50939]
2009-02-01 02:21:21 +00:00
Frank Mori Hess
2a4c44e298 Reworked deconstruct<>() so it operates non-intrusively via
argument-dependent lookup instead of needing postconstructible
and predestructible base classes.  Also added support for
passing arguments to postconstructors.



[SVN r50938]
2009-02-01 01:12:03 +00:00
Frank Mori Hess
3784c7bdcb Patch for msvc 7.1 from Adam Butcher
[SVN r50899]
2009-01-30 12:56:12 +00:00
Frank Mori Hess
da5e7c76d8 Added new headers to signals2.hpp convenience header.
[SVN r50785]
2009-01-26 16:17:07 +00:00
Frank Mori Hess
41326c4451 Changed NAMED_SIGNATURE_PARAMETER macro to
BOOST_SIGNALS2_NAMED_SIGNATURE_PARAMETER.  Added requirement
that Signature parameter be a function type.


[SVN r50783]
2009-01-26 15:31:37 +00:00