diff --git a/src/uvw/loop.hpp b/src/uvw/loop.hpp index db1a1e29..5ee0c2a2 100644 --- a/src/uvw/loop.hpp +++ b/src/uvw/loop.hpp @@ -5,12 +5,28 @@ #include #include #include +#include #include "error.hpp" namespace uvw { +namespace details { + + +template +constexpr auto isBaseOfAny() { + bool ret = false; + int a[] = { (ret = ret || std::is_base_of>>::value, 0)... }; + (void)a; + return ret; +} + + +} + + class Loop; @@ -18,7 +34,7 @@ template class Handle { friend class Loop; - template + template, Args...>()>* = nullptr> explicit constexpr Handle(Args&&... args) : res{std::make_shared(std::forward(args)...)} { }