#pragma once template constexpr T sc(U&& value) { return static_cast(std::forward(value)); } template constexpr T dc(U&& value) { return dynamic_cast(std::forward(value)); } template constexpr T rc(U&& value) { return reinterpret_cast(std::forward(value)); }