Support Class Library
A set of tools providing classes and utility
Constructible.h
Go to the documentation of this file.
1 #pragma once
2 
4 //#include <scl/concepts/require.h>
5 #include <scl/macros.h>
7 
8 namespace scl{
9  namespace concepts{
16  template <class T, class... Args>
17  struct Constructible{
18  constexpr operator bool() const{
19  using namespace scl::tools;
21  static_assert(
22  meta::is_constructible<T, Args...>(),
23  "Constructible<T, Args...>: T is not constructible w/ Args..."
24  );
25  return true;
26  }
27  };
28  }
29 }
Constructible concept, a type is constructible with the given arguments if it is destructible and met...
Definition: Constructible.h:17
Global namespace of the SCL.
Definition: alias.hpp:3
Destructible concept, a type T is destructible if it defines a destructor that won&#39;t throw...
Definition: Destructible.h:12
General purpose tooling.
Definition: iostream.hpp:4
#define static_require(cpt)
Definition: macros.h:6