diff --git a/src/entt/signal/sigh.hpp b/src/entt/signal/sigh.hpp index 1a2bb6e90..166a28d0e 100644 --- a/src/entt/signal/sigh.hpp +++ b/src/entt/signal/sigh.hpp @@ -81,7 +81,7 @@ public: : calls{allocator} {} /** - * @brief Default copy constructor. + * @brief Copy constructor. * @param other The instance to copy from. */ sigh(const sigh &other) @@ -96,7 +96,7 @@ public: : calls{other.calls, allocator} {} /** - * @brief Default move constructor. + * @brief Move constructor. * @param other The instance to move from. */ sigh(sigh &&other) ENTT_NOEXCEPT @@ -111,7 +111,7 @@ public: : calls{std::move(other.calls), allocator} {} /** - * @brief Default copy assignment operator. + * @brief Copy assignment operator. * @param other The instance to copy from. * @return This signal handler. */ @@ -121,7 +121,7 @@ public: } /** - * @brief Default move assignment operator. + * @brief Move assignment operator. * @param other The instance to move from. * @return This signal handler. */ diff --git a/test/entt/signal/sigh.cpp b/test/entt/signal/sigh.cpp index 684042acf..1097fc4f7 100644 --- a/test/entt/signal/sigh.cpp +++ b/test/entt/signal/sigh.cpp @@ -531,53 +531,47 @@ TEST_F(SigH, UnboundMemberFunction) { TEST_F(SigH, CustomAllocator) { std::allocator allocator; - - auto test = [&](auto curr) { - ASSERT_EQ(curr.get_allocator(), allocator); - ASSERT_FALSE(curr.get_allocator() != allocator); - ASSERT_TRUE(curr.empty()); - - entt::sink sink{curr}; - sigh_listener listener; - sink.template connect<&sigh_listener::g>(listener); - - decltype(curr) copy{curr, allocator}; - sink.disconnect(listener); - - ASSERT_TRUE(curr.empty()); - ASSERT_FALSE(copy.empty()); - - curr = copy; - - ASSERT_FALSE(curr.empty()); - ASSERT_FALSE(copy.empty()); - - decltype(curr) move{std::move(copy), allocator}; - - ASSERT_TRUE(copy.empty()); - ASSERT_FALSE(move.empty()); - - sink = entt::sink{move}; - sink.disconnect(&listener); - - ASSERT_TRUE(copy.empty()); - ASSERT_TRUE(move.empty()); - - sink.template connect<&sigh_listener::g>(listener); - copy.swap(move); - - ASSERT_FALSE(copy.empty()); - ASSERT_TRUE(move.empty()); - - sink = entt::sink{copy}; - sink.disconnect(); - - ASSERT_TRUE(copy.empty()); - ASSERT_TRUE(move.empty()); - }; - entt::sigh sigh{allocator}; - test(sigh); - test(std::move(sigh)); + ASSERT_EQ(sigh.get_allocator(), allocator); + ASSERT_FALSE(sigh.get_allocator() != allocator); + ASSERT_TRUE(sigh.empty()); + + entt::sink sink{sigh}; + sigh_listener listener; + sink.template connect<&sigh_listener::g>(listener); + + decltype(sigh) copy{sigh, allocator}; + sink.disconnect(listener); + + ASSERT_TRUE(sigh.empty()); + ASSERT_FALSE(copy.empty()); + + sigh = copy; + + ASSERT_FALSE(sigh.empty()); + ASSERT_FALSE(copy.empty()); + + decltype(sigh) move{std::move(copy), allocator}; + + ASSERT_TRUE(copy.empty()); + ASSERT_FALSE(move.empty()); + + sink = entt::sink{move}; + sink.disconnect(&listener); + + ASSERT_TRUE(copy.empty()); + ASSERT_TRUE(move.empty()); + + sink.template connect<&sigh_listener::g>(listener); + copy.swap(move); + + ASSERT_FALSE(copy.empty()); + ASSERT_TRUE(move.empty()); + + sink = entt::sink{copy}; + sink.disconnect(); + + ASSERT_TRUE(copy.empty()); + ASSERT_TRUE(move.empty()); }