summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* bind_functor::operator(): Do perfect forwarding.variadic_bind3Murray Cumming2016-03-021-2/+2
| | | | To be consistent with the other operator().
* Create a parallel-installable sigc++-3.0 API/ABI.Murray Cumming2016-03-023-6/+6
|
* Add a TODO comment.Murray Cumming2016-03-021-0/+1
|
* bind: Some perfect forwarding.Murray Cumming2016-03-021-6/+6
|
* Avoid std::make_tuple().Murray Cumming2016-03-021-2/+2
| | | | To preserve std::ref()ed elements.
* Put bind() in its own bind.h file instead of generating it.Murray Cumming2016-03-023-28/+9
|
* bind.h.m4: Make variadic.Murray Cumming2016-03-021-165/+143
| | | | With a partial build fix from Marcin Kolny.
* bind.h.m4: bind_functor: Store the bound arguments in a std::tuple<>.Murray Cumming2016-03-021-39/+48
| | | | This is slightly more generic.
* track_obj.h: Use this as a normal .h file.Murray Cumming2016-03-025-40/+18
| | | | Instead of genrating it from a .h.m4 file.
* track_obj.h.m4: Make this variadic.Murray Cumming2016-03-022-98/+69
| | | | | | This uses a tuple_for_each<>() utility taken from here: https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils for the visit_each() specialization.
* hide.h: Use this as a normal .h file.Murray Cumming2016-03-023-34/+10
| | | | Instead of generating it from an .h.m4 file.
* hide_functor: Make this fully variadic.Murray Cumming2016-03-021-77/+58
|
* hide.h.m4: hide_functor::operator(): Make this variadic.Murray Cumming2016-03-021-41/+47
| | | | | | | | | | This uses some tuple manipulation utilities so that the variadic parameters with which we call a method can be based on the variadic parameters that the caller received, but not exactly. In this case, we need to replace an element in the middle of a tuple. There is probably a more efficient way to do this. For now, this is using copies of the tuple utilities from here: https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
* Add tuple utils from murrayc-tuple-utils.Murray Cumming2016-03-0215-0/+1313
|
* exception_catch_functor::operator():Murray Cumming2016-03-022-14/+18
| | | | | | | Remove the unnecessary operator()() overload. This did need me to change the test code so that it doesn't try to provide a catch function that returns something, but that seems more correct anyway.
* Another use of decltype(auto) for a return typeMurray Cumming2016-03-021-1/+1
|
* Correct some documentation.Murray Cumming2016-03-021-2/+0
|
* More use of decltype(auto) for return types.Murray Cumming2016-03-022-8/+11
|
* retype: Make this variadic.Murray Cumming2016-03-021-37/+24
| | | | | However, we still need to generate const/volatile/const_volatile/ bound_const/bound_volatile/bound_const_volatile versions.
* slot.h: Remove comment about this being generated.Murray Cumming2016-03-021-2/+2
|
* slot.h: Use this as a normal .h file.Murray Cumming2016-03-023-28/+10
| | | | Instead of generating it from a .h.m4 file.
* slot: Make this fully variadic.Murray Cumming2016-03-021-290/+135
|
* slot.h.m4: make slot_call fully variadic.Murray Cumming2016-03-021-42/+36
|
* bind_functor::operator()(): Give this a dummy template parameter.Murray Cumming2016-03-022-4/+2
| | | | | And remove the m4 ifelse from slot.h.m4 because we can now resolve that operator() when calling it with an empty variadic parameter pack.
* slot.h.m4: visit_each specialization: Make this variadic.Murray Cumming2016-03-021-5/+5
|
* make_slot: Use decltype(auto) for return type.Murray Cumming2016-03-021-1/+1
|
* Replace some uses of result_type with decltype(auto).Murray Cumming2016-03-027-54/+35
|
* Remove code that used the SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD ↵Murray Cumming2016-03-021-4/+0
| | | | | | ifndefs. See the previous commit.
* test_acum_iter: Replace signal_accumulated with signal<>::accumulated.Murray Cumming2016-03-028-108/+1
| | | | | I've never noticed this sub-template before, but this syntax is arguably nicer.
* signal.h: Use this as a normal header file.Murray Cumming2016-03-023-39/+30
| | | | Instead of generating it from a .h.m4 file.
* signal: Make this fully variadic.Murray Cumming2016-03-021-142/+119
|
* signal.h.m4: Rename signal1/2/3/etc to signal_with_accumulator.Murray Cumming2016-03-022-156/+153
| | | | And make it fully variadic.
* signal1/2/3/etc: Make this variadic.Murray Cumming2016-03-021-14/+13
| | | | Though the separate generated signal1/2/3/etc still exist.
* signal1/2/3: Move T_accumulator to second position.Murray Cumming2016-03-021-8/+8
| | | | | Because it can't go at the end if we want to change the args to a variadic template pack.
* Remove useless SIGC_TYPEDEF_REDEFINE_ALLOWEDMurray Cumming2016-03-021-10/+0
|
* signal.h.m4: Make signal_emit fully variadic.Murray Cumming2016-03-021-246/+246
|
* signal_emit1/2/3/etc: Simplify call_type typedef.Murray Cumming2016-03-021-1/+1
|
* signal.h.m4: signal_emit1/2/3/etc: Make this variadic.Murray Cumming2016-03-021-70/+62
| | | | | | | | Though we still have the separate generated signal_emit1/2/3, etc. This is the first time that we need to use a tuple, and then std::index_sequence(), to call another method with the stored (in a tuple) parameter pack.
* signal.h.m4: signal_emit: Put the T_Accumulator before the args.Murray Cumming2016-03-021-7/+7
| | | | So the args can be variadic eventually.
* test_disconnect: Use slot<> instead of slot1<>.Murray Cumming2016-03-021-1/+1
| | | | Because we are trying to remove slot1,2,3, etc.
* slot.h.m4: Make slot1/2/3/etc variadic.Murray Cumming2016-03-021-14/+15
| | | | | While still having slot1/2/3/ themselves. This is lets us take another small step in the conversion to variadic templates.
* m4: Remove unused UPPER and LOWER functions.Murray Cumming2016-03-021-2/+0
|
* tests: Use = delete instead of private constructors.Murray Cumming2016-03-023-12/+28
| | | | To make classes non-copyable.
* test_ptr_fun: Comment out what doesn't work with g++.Murray Cumming2016-03-021-4/+16
| | | | | | | We probably need to get this working, but it already works with clang++ (I'm using clang++ 3.7), so I'm just doing this for now, with TODO comments, so I can move forwards. I'm using g++ 5.2.1 .
* bind(): Make this variadic.Murray Cumming2016-03-021-23/+17
| | | | | | Instead of generating many versions. bind_functor<> is not at all variadic yet.
* bind(): Move T_functor the start.Murray Cumming2016-03-011-1/+1
| | | | | | | This is different to the bind<number, ...> version but it's the only way to have a parameter pack at the end. Hopefully this version of bind() never needs to be called for specific template types.
* C++14: bind(): Use decltype(auto) for the return type.Murray Cumming2016-03-011-5/+2
| | | | This simplifies the code a bit.
* Rename deduce_result_type.h to adaptor_base.hMurray Cumming2016-03-013-2/+2
| | | | | Because that is all this file now contains. However, I suspect that we don't need adaptor_base at all now.
* C++14 Remove now-unused deduce_result_t.Murray Cumming2016-03-011-44/+2
|
* C++14: compose: Remove use of deduce_result_type.Murray Cumming2016-03-0113-197/+6
| | | | | By removing use of SIGC_WORKAROUND_OPERATOR_PARENTHESES, which hopefully isn't necessary any more.