Files
Seele/src/Engine/Concepts.h
T
2023-07-13 21:01:20 +02:00

19 lines
355 B
C++

#pragma once
#include <concepts>
namespace Seele
{
template<class F, class... Args>
concept invocable = std::invocable<F, Args...>;
template<class Archive, class T>
concept serializable = requires(const T& t, Archive& a)
{
t.save(a);
} && requires(T& t, Archive& a)
{
t.load(a);
};
template<typename T>
concept enumeration = std::is_enum_v<T>;
}