Add Common::IsBaseOf

This commit is contained in:
David Marcec
2020-08-03 20:36:25 +10:00
parent f7df03e328
commit 310776990d

View File

@@ -6,6 +6,8 @@
namespace Common {
#include <type_traits>
// Check if type is like an STL container
template <typename T>
concept IsSTLContainer = requires(T t) {
@@ -21,4 +23,10 @@ concept IsSTLContainer = requires(T t) {
t.size();
};
// Check if type T is derived from T2
template <typename T, typename T2>
concept IsBaseOf = requires {
std::is_base_of_v<T, T2>;
};
} // namespace Common