Support Class Library
A set of tools providing classes and utility
Invocable.h
Go to the documentation of this file.
1 #pragma once
2 
3 //#ifdef SCL_CPP17
5 
6 namespace scl{
7  namespace concepts{
13  template <class F, class... Args>
14  struct Invocable{
15  constexpr operator bool() const{
16  using namespace scl::tools;
17  static_assert(meta::is_invocable<F, Args...>(), "Invocable<F, Args...>: Cannot invoke F w/ Args...");
18  return true;
19  }
20  };
21  }
22 }
23 //#endif
Global namespace of the SCL.
Definition: alias.hpp:3
General purpose tooling.
Definition: iostream.hpp:4
Invocable concept, a type F is invocable with Args if meta::is_invocable<F, Args...>() is true.
Definition: Invocable.h:14