diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2021-06-02 22:13:48 +0200 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2021-06-02 22:13:48 +0200 |
commit | 01652fdbc9f6fc2e72b217c9de8c89c93f95ba7c (patch) | |
tree | ae546a6af40d38782c70f2122b61b7dc884dd027 | |
parent | 7d85510b1011a50347a44349d48ccb797c432763 (diff) | |
download | sigc++-01652fdbc9f6fc2e72b217c9de8c89c93f95ba7c.tar.gz |
test_rvalue_ref: Small fixes
* tests/.gitignore:
* tests/CMakeLists.txt:
* tests/Makefile.am: Add test_rvalue_ref.
* tests/test_rvalue_ref.cc: Avoid [-Werror=unused-parameter]
when building with warnings=fatal.
Some files have also been reformated with clang-format in order to
make the CI tests happy. Reformated with clang-format 12, but CI
uses clang-format 10.
-rw-r--r-- | sigc++/functors/slot.h | 5 | ||||
-rw-r--r-- | sigc++/signal.h | 6 | ||||
-rw-r--r-- | tests/.gitignore | 1 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/test_bind.cc | 2 | ||||
-rw-r--r-- | tests/test_cpp11_lambda.cc | 14 | ||||
-rw-r--r-- | tests/test_member_method_trait.cc | 4 | ||||
-rw-r--r-- | tests/test_rvalue_ref.cc | 13 | ||||
-rw-r--r-- | tests/test_signal.cc | 10 | ||||
-rw-r--r-- | tests/test_track_obj.cc | 4 |
11 files changed, 34 insertions, 28 deletions
diff --git a/sigc++/functors/slot.h b/sigc++/functors/slot.h index 8e9e01a..e368e86 100644 --- a/sigc++/functors/slot.h +++ b/sigc++/functors/slot.h @@ -151,8 +151,9 @@ struct slot_call static T_return call_it(slot_rep* rep, type_trait_take_t<T_arg>... a_) { auto typed_rep = static_cast<typed_slot_rep<T_functor>*>(rep); - return (*typed_rep->functor_).template operator()<type_trait_take_t<T_arg>...>( - std::forward<type_trait_take_t<T_arg>>(a_)...); + return (*typed_rep->functor_) + .template operator()<type_trait_take_t<T_arg>...>( + std::forward<type_trait_take_t<T_arg>>(a_)...); } /** Forms a function pointer from call_it(). diff --git a/sigc++/signal.h b/sigc++/signal.h index 336bd5f..c1b0f33 100644 --- a/sigc++/signal.h +++ b/sigc++/signal.h @@ -364,8 +364,7 @@ public: continue; (sigc::internal::function_pointer_cast<call_type>(slot.rep_->call_))( - slot.rep_, - std::forward<type_trait_take_t<T_arg>>(a)...); + slot.rep_, std::forward<type_trait_take_t<T_arg>>(a)...); } } }; @@ -456,7 +455,8 @@ public: } /** Triggers the emission of the signal (see emit()). */ - decltype(auto) operator()(type_trait_take_t<T_arg>... a) const { + decltype(auto) operator()(type_trait_take_t<T_arg>... a) const + { return emit(std::forward<type_trait_take_t<T_arg>>(a)...); } diff --git a/tests/.gitignore b/tests/.gitignore index 276abe2..0a788ab 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -24,6 +24,7 @@ /test_ptr_fun /test_retype /test_retype_return +/test_rvalue_ref /test_signal /test_signal_move /test_size diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 36e728b..9485b45 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -39,6 +39,7 @@ set (TEST_SOURCE_FILES test_ptr_fun.cc test_retype.cc test_retype_return.cc + test_rvalue_ref.cc test_signal.cc test_signal_move.cc test_size.cc diff --git a/tests/Makefile.am b/tests/Makefile.am index 735d76b..b05f7b4 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -46,6 +46,7 @@ check_PROGRAMS = \ test_ptr_fun \ test_retype \ test_retype_return \ + test_rvalue_ref \ test_signal \ test_signal_move \ test_size \ @@ -90,6 +91,7 @@ test_mem_fun_SOURCES = test_mem_fun.cc $(sigc_test_util) test_ptr_fun_SOURCES = test_ptr_fun.cc $(sigc_test_util) test_retype_SOURCES = test_retype.cc $(sigc_test_util) test_retype_return_SOURCES = test_retype_return.cc $(sigc_test_util) +test_rvalue_ref_SOURCES = test_rvalue_ref.cc $(sigc_test_util) test_signal_SOURCES = test_signal.cc $(sigc_test_util) test_signal_move_SOURCES = test_signal_move.cc $(sigc_test_util) test_size_SOURCES = test_size.cc $(sigc_test_util) diff --git a/tests/test_bind.cc b/tests/test_bind.cc index fa8537b..0cd192c 100644 --- a/tests/test_bind.cc +++ b/tests/test_bind.cc @@ -70,7 +70,7 @@ struct book : public sigc::trackable book& operator=(book&&) = delete; std::string& get_name() { return name_; } - operator std::string &() { return get_name(); } + operator std::string&() { return get_name(); } private: std::string name_; diff --git a/tests/test_cpp11_lambda.cc b/tests/test_cpp11_lambda.cc index a8e90b2..ed12536 100644 --- a/tests/test_cpp11_lambda.cc +++ b/tests/test_cpp11_lambda.cc @@ -88,7 +88,7 @@ egon(std::string& str) struct book : public sigc::trackable { explicit book(const std::string& name) : name_(name) {} - operator std::string &() { return name_; } + operator std::string&() { return name_; } std::string name_; }; @@ -184,8 +184,8 @@ main(int argc, char* argv[]) // See https://bugzilla.gnome.org/show_bug.cgi?id=669128 // std::cout << "((++_1)*2)(ref(a)): " << ((++_1)*2)(std::ref(a)); // std::cout << "; a: " << a << std::endl; - result_stream << ([](std::reference_wrapper<int> x) -> int { return ++x * 2; }( - std::ref(a_outer))); + result_stream << ([](std::reference_wrapper<int> x) -> int + { return ++x * 2; }(std::ref(a_outer))); result_stream << " " << a_outer; util->check_result(result_stream, "4 2"); result_stream << ([](int& x) -> int { return ++x * 2; }(a_outer)); @@ -200,8 +200,8 @@ main(int argc, char* argv[]) // std::cout << "((--(*(&_1)))*2)(ref(a)): " << ((--(*(&_1)))*2)(std::ref(a)); // std::cout << "; a: " << a << std::endl; - result_stream << ([](std::reference_wrapper<int> x) -> int { return --(*(&x)) * 2; }( - std::ref(a_outer))); + result_stream << ([](std::reference_wrapper<int> x) -> int + { return --(*(&x)) * 2; }(std::ref(a_outer))); result_stream << " " << a_outer; util->check_result(result_stream, "6 3"); result_stream << ([](int& x) -> int { return --(*(&x)) * 2; }(a_outer)); @@ -234,8 +234,8 @@ main(int argc, char* argv[]) // std::cout << "(var(c) = (var(a) = _1, var(b) = _2))(2,3): " // << (sigc::var(c) = (sigc::var(a) = _1, sigc::var(b) = _2))(2,3); // std::cout << "; a: " << a << "; b: " << b << "; c: " << c << std::endl; - result_stream << ([&a_outer, &b_outer, &c_outer]( - int x, int y) -> int { return c_outer = (a_outer = x, b_outer = y); }(2, 3)); + result_stream << ([&a_outer, &b_outer, &c_outer](int x, int y) -> int + { return c_outer = (a_outer = x, b_outer = y); }(2, 3)); result_stream << " " << a_outer << " " << b_outer << " " << c_outer; util->check_result(result_stream, "3 2 3 3"); diff --git a/tests/test_member_method_trait.cc b/tests/test_member_method_trait.cc index 376d685..bc5c450 100644 --- a/tests/test_member_method_trait.cc +++ b/tests/test_member_method_trait.cc @@ -60,8 +60,8 @@ test_member_method_is_volatile() sigc::internal::member_method_is_volatile<decltype(&Something::some_volatile_func)>::value, "member_method_is_const failed to identify a volatile member method."); - static_assert(sigc::internal::member_method_is_volatile<decltype( - &Something::some_const_volatile_func)>::value, + static_assert(sigc::internal::member_method_is_volatile< + decltype(&Something::some_const_volatile_func)>::value, "member_method_is_const failed to identify a volatile member method."); } diff --git a/tests/test_rvalue_ref.cc b/tests/test_rvalue_ref.cc index b35ace1..54b04f3 100644 --- a/tests/test_rvalue_ref.cc +++ b/tests/test_rvalue_ref.cc @@ -2,7 +2,9 @@ #include <iostream> #include <sigc++/signal.h> -struct MoveableStruct {}; +struct MoveableStruct +{ +}; namespace { @@ -11,10 +13,7 @@ std::ostringstream result_stream; struct foo { - void operator()(MoveableStruct &&x) - { - result_stream << "foo(MoveableStruct&&)"; - } + void operator()(MoveableStruct&& /* x */) { result_stream << "foo(MoveableStruct&&)"; } }; } // end anonymous namespace @@ -22,7 +21,7 @@ struct foo void test_signal() { - sigc::signal<void (MoveableStruct &&)> signal; + sigc::signal<void(MoveableStruct &&)> signal; foo f; signal.connect(f); MoveableStruct x; @@ -33,7 +32,7 @@ test_signal() void test_slot() { - sigc::slot<void (MoveableStruct &&)> slot; + sigc::slot<void(MoveableStruct &&)> slot; foo f; slot = f; MoveableStruct x; diff --git a/tests/test_signal.cc b/tests/test_signal.cc index b5fdaf2..d050558 100644 --- a/tests/test_signal.cc +++ b/tests/test_signal.cc @@ -117,10 +117,12 @@ test_clear_called_in_signal_handler() { sigc::signal<void()> sig; sig.connect([]() { result_stream << ", slot 1, "; }); - sig.connect([&sig]() { - sig.clear(); - result_stream << "slot 2, "; - }); + sig.connect( + [&sig]() + { + sig.clear(); + result_stream << "slot 2, "; + }); sig.connect([]() { result_stream << "slot 3, "; }); result_stream << sig.size(); sig.emit(); diff --git a/tests/test_track_obj.cc b/tests/test_track_obj.cc index cf18b7b..aefdb07 100644 --- a/tests/test_track_obj.cc +++ b/tests/test_track_obj.cc @@ -40,8 +40,8 @@ std::ostringstream result_stream; struct book : public sigc::trackable { explicit book(const std::string& name) : name_(name) {} - operator std::string &() { return name_; } - operator const std::string &() const { return name_; } + operator std::string&() { return name_; } + operator const std::string&() const { return name_; } std::string name_; }; |