| 216 | /// Invokes the given callable object with the given arguments |
| 217 | template <typename Callable, typename... Args> |
| 218 | constexpr auto invoke(Callable&& callable, Args&&... args) noexcept( |
| 219 | noexcept(std::forward<Callable>(callable)(std::forward<Args>(args)...))) |
| 220 | -> decltype(std::forward<Callable>(callable)(std::forward<Args>(args)...)) { |
| 221 | |
| 222 | return std::forward<Callable>(callable)(std::forward<Args>(args)...); |
| 223 | } |
| 224 | /// Invokes the given member function pointer by reference |
| 225 | template <typename T, typename Type, typename Self, typename... Args> |
| 226 | constexpr auto invoke(Type T::*member, Self&& self, Args&&... args) noexcept( |
no test coverage detected