Browse Source

process; process as first argument in process_adaptor

skypjack 8 months ago
parent
commit
04da178800
3 changed files with 8 additions and 8 deletions
  1. 2 2
      src/entt/process/process.hpp
  2. 3 3
      test/entt/process/process.cpp
  3. 3 3
      test/entt/process/scheduler.cpp

+ 2 - 2
src/entt/process/process.hpp

@@ -299,7 +299,7 @@ struct process_adaptor: public basic_process<Delta> {
      * @param data Optional data.
      */
     void update(const delta_type delta, void *data) override {
-        func(delta, data, *this);
+        func(*this, delta, data);
     }
 
 private:
@@ -311,7 +311,7 @@ private:
  * @tparam Func Actual type of process.
  */
 template<typename Func>
-process_adaptor(Func) -> process_adaptor<nth_argument_t<0u, Func>, Func>;
+process_adaptor(Func) -> process_adaptor<nth_argument_t<1u, Func>, Func>;
 
 } // namespace entt
 

+ 3 - 3
test/entt/process/process.cpp

@@ -201,7 +201,7 @@ TEST(Process, ThenPeek) {
 
 TEST(ProcessAdaptor, Resolved) {
     bool updated = false;
-    auto lambda = [&updated](std::uint32_t, void *, entt::process &proc) {
+    auto lambda = [&updated](entt::process &proc, std::uint32_t, void *) {
         ASSERT_FALSE(updated);
         updated = true;
         proc.succeed();
@@ -218,7 +218,7 @@ TEST(ProcessAdaptor, Resolved) {
 
 TEST(ProcessAdaptor, Rejected) {
     bool updated = false;
-    auto lambda = [&updated](std::uint32_t, void *, entt::process &proc) {
+    auto lambda = [&updated](entt::process &proc, std::uint32_t, void *) {
         ASSERT_FALSE(updated);
         updated = true;
         proc.fail();
@@ -235,7 +235,7 @@ TEST(ProcessAdaptor, Rejected) {
 
 TEST(ProcessAdaptor, Data) {
     int value = 0;
-    auto lambda = [](std::uint32_t, void *data, entt::process &proc) {
+    auto lambda = [](entt::process &proc, std::uint32_t, void *data) {
         *static_cast<int *>(data) = 2;
         proc.succeed();
     };

+ 3 - 3
test/entt/process/scheduler.cpp

@@ -138,13 +138,13 @@ TEST(Scheduler, Functor) {
     bool first_functor = false;
     bool second_functor = false;
 
-    auto attach = [&first_functor](auto, void *, auto &proc) {
+    auto attach = [&first_functor](auto &proc, auto, void *) {
         ASSERT_FALSE(first_functor);
         first_functor = true;
         proc.succeed();
     };
 
-    auto then = [&second_functor](auto, void *, auto &proc) {
+    auto then = [&second_functor](auto &proc, auto, void *) {
         ASSERT_FALSE(second_functor);
         second_functor = true;
         proc.fail();
@@ -165,7 +165,7 @@ TEST(Scheduler, SpawningProcess) {
     entt::scheduler scheduler{};
     std::pair<int, int> counter{};
 
-    scheduler.attach([&scheduler](auto, void *, auto &proc) {
+    scheduler.attach([&scheduler](auto &proc, auto, void *) {
         scheduler.attach<succeeded_process>().then<failed_process>();
         proc.succeed();
     });