Support Class Library
A set of tools providing classes and utility
NonCopyable.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace scl{
6  namespace concepts{
11  template <class T>
12  struct NonCopyable{
13  constexpr operator bool() const{
14  using namespace scl::tools;
15  static_assert(!meta::is_copy_constructible<T>(), "NonCopyable<T>: T is copy constructible");
16  static_assert(!meta::is_copy_assignable<T>(), "NonCopyable<T>: T is copy assignable");
17  return true;
18  }
19  };
20  }
21 }
Global namespace of the SCL.
Definition: alias.hpp:3
NonCopyable concept, a type is non copyable if it is neither copy constructible nor copy assignable...
Definition: NonCopyable.h:12
General purpose tooling.
Definition: iostream.hpp:4