]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/common/errorator.h: simplify the compound safe_then() variant. 31918/head
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 28 Nov 2019 15:39:05 +0000 (16:39 +0100)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 28 Nov 2019 15:39:23 +0000 (16:39 +0100)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/common/errorator.h

index 17a95403fe6dcd255ebffe1b5b900361f7eccfe9..38fb93bd72f794a52116254430b45126e5c312cb 100644 (file)
@@ -521,17 +521,15 @@ private:
     // taking ErrorFuncOne and ErrorFuncTwo separately from ErrorFuncTail
     // to avoid SFINAE
     template <class ValueFunc,
-              class ErrorFuncOne,
-              class ErrorFuncTwo,
+              class ErrorFuncHead,
               class... ErrorFuncTail>
     auto safe_then(ValueFunc&& value_func,
-                   ErrorFuncOne&& error_func_one,
-                   ErrorFuncTwo&& error_func_two,
+                   ErrorFuncHead&& error_func_head,
                    ErrorFuncTail&&... error_func_tail) {
+      static_assert(sizeof...(ErrorFuncTail) > 0);
       return safe_then(
         std::forward<ValueFunc>(value_func),
-        composer(std::forward<ErrorFuncOne>(error_func_one),
-                 std::forward<ErrorFuncTwo>(error_func_two),
+        composer(std::forward<ErrorFuncHead>(error_func_head),
                  std::forward<ErrorFuncTail>(error_func_tail)...));
     }