Files
Seele/src/Engine/Concepts.h
T

12 lines
369 B
C++
Raw Normal View History

2021-12-09 12:38:02 +01:00
#pragma once
#include <concepts>
2024-06-09 12:20:04 +02:00
namespace Seele {
template <class F, class... Args>
2021-12-09 12:38:02 +01:00
concept invocable = std::invocable<F, Args...>;
2023-02-13 14:56:13 +01:00
2024-06-09 12:20:04 +02:00
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>
2023-02-13 14:56:13 +01:00
concept enumeration = std::is_enum_v<T>;
2024-06-09 12:20:04 +02:00
} // namespace Seele