| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
So you would, for instance, always call sigc::mem_fun(*this, ...)
instead of sigc::mem_fun(this, ...).
Bug #763215
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
And rename bound_mem_functor_base to bound_mem_functor.
|
|
|
|
| |
They were only used in one place, internally, and did not add much clarity.
|
|
|
|
|
| |
This seems to be easier than std::result_of<>, which seems to need us to
explicitly specify the arguments too.
|
| |
|
|
|
|
|
|
| |
Because we now motly only need the tuple*() utilities to manipulate
the actual instances. Some are still need for those tuple*()
implementations.
|
|
|
|
| |
And some tests for them.
|
| |
|
|
|
|
|
| |
tuple_transform_each() now iterates in order, instead of in reverse,
though that didn't seem to matter to how we used it in libsigc++.
|
| |
|
|
|
|
| |
To discourage people from using libsigc++ just for the tuple utils.
|
| |
|
|
|
|
| |
Instead of genrating it from a .h.m4 file.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
I've never noticed this sub-template before, but this syntax is
arguably nicer.
|
|
|
|
| |
And make it fully variadic.
|
|
|
|
| |
Because we are trying to remove slot1,2,3, etc.
|
|
|
|
|
|
|
| |
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 .
|
|
|
|
|
| |
By removing use of SIGC_WORKAROUND_OPERATOR_PARENTHESES, which
hopefully isn't necessary any more.
|
|
|
|
| |
It seems to be remarkably similar.
|
|
|
|
|
|
|
| |
Do not generate *mem_functor0 through *mem_functor7. Instead just
generate variadic *mem_functor<>.
We do still generate mem_functor, const_mem_functor and
const_volatile_mem_functor, which seems messy.
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that T_Return must now be the first parameter, so that the
variadic template parameters may be trailing, and this means that
the return type must now be specified if you specify any argument
types.
For instance:
ptr_fun<type_arg1>(&somefunc)
now becomes
ptr_fun<void, type_arg2>(&somefunc)
and
ptr_fun<type_arg1, type_return>(&somefunc)
now becomes
ptr_fun<type_return, type_arg1>(&somefunc)
which might be an annoying API change, even though most people just
use ptr_fun().
However, this breaks the tests:
test_ptr_fun.cc: In function ‘int main(int, char**)’:
test_ptr_fun.cc:64:21: error: no matches converting function ‘foo’ to type ‘void (*)()’
sigc::ptr_fun(&foo)();
^
test_ptr_fun.cc:24:6: note: candidates are: void {anonymous}::foo(int)
void foo(int i1)
^
test_ptr_fun.cc:18:5: note: int {anonymous}::foo()
int foo()
^
|
|
|
|
|
|
|
|
| |
pointer_functor.
Using C++11 variadic templates arguments.
Note that T_Return is now the first template parameter, so that the variadic
parameters can be the trailing parameters, as in std::function.
|
| |
|
| |
|
|
|
|
|
| |
This tests sigc::bind()'s indirect use of adaptor_functor<>.
I added this because this doesn't work yet in the variadic_bind branch.
|
|
|
|
| |
To make classes non-copyable.
|
|
|
|
|
|
| |
The SIGC_USING_STD() macro is defined as an empty string, if some standard
C++ symbols are defined in namespace std. They always are.
Since many years, SIGC_USING_STD() is an unnecessary macro.
|
|
|
|
|
|
|
|
| |
* sigc++/functors/macros/slot.h.m4: Add move operators for slot<>.
* sigc++/macros/signal.h.m4: Add move operators for signal#<> and signal<>.
* tests/test_signal_move.cc:
* tests/test_slot_move.cc: Test that the source objects are empty.
Bug #756484.
|
|
|
|
|
|
|
| |
* sigc++/functors/macros/slot.h.m4: Add sigc::visitor<> specializations
for slot# and slot.
* tests/test_disconnect.cc: Test auto-disconnection of a slot that contains
a slot. Bug #755003.
|
|
|
|
|
|
|
|
|
| |
* sigc++/functors/macros/slot.h.m4: Add documentation.
* sigc++/functors/slot_base.[h|cc]: Fix the move operators of slot_base.
Don't move a connected slot.
* sigc++/signal_base.cc: Fix the move assignment of signal_base.
* tests/test_signal_move.cc:
* tests/test_slot_move.cc: Really test move assignment. Bug #756484.
|
|
|
|
|
| |
* sigc++/functors/slot_base.cc: Remove a TODO comment at slot_rep::disconnect().
* tests/test_slot_disconnect.cc: Add a test that assigns an empty slot.
|
|
|
|
|
| |
* sigc++/trackable.[h|cc]: Don't move the callback list.
* tests/test_trackable_move.cc: Remove a comment. Bug #755393.
|
| |
|
|
|
|
| |
This seems to work.
|
|
|
|
| |
This seems to do what it should, acting much like regular slot copying.
|
|
|
|
|
| |
It doesn't segfault, but I'm not sure it's doing what it should.
See the TODO.
|
| |
|
|
|
|
|
| |
This removes the last use of sigc::deduce_result_type<>, allowing
us to change the implementation of sigc::deduce_result_t more easily.
|
|
|
|
|
|
|
|
|
| |
As suggested by Kjell's comment here:
https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
This also removes sigc::is_base_and_derived<> which should cause
only a slight API change but no ABI change.
Bug #752560
|
| |
|
|
|
|
|
| |
Trying to avoid using auto where its a specific type that we are
trying to test for.
|
| |
|