Riyyi
7 months ago
1 changed files with 25 additions and 0 deletions
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Riyyi |
||||
* |
||||
* SPDX-License-Identifier: MIT |
||||
*/ |
||||
|
||||
#pragma once |
||||
|
||||
#include <typeinfo> |
||||
|
||||
template<typename T, typename U> |
||||
inline bool is(U& input) |
||||
{ |
||||
if constexpr (requires { input.template fastIs<T>(); }) { |
||||
return input.template fastIs<T>(); |
||||
} |
||||
|
||||
return typeid(input) == typeid(T); |
||||
} |
||||
|
||||
template<typename T, typename U> |
||||
inline bool is(U* input) |
||||
{ |
||||
return input && is<T>(*input); |
||||
} |
Loading…
Reference in new issue