136 #define SKSE_FORMTRAITS(a_elem) \
137 case a_elem::FORMTYPE: \
138 if constexpr (std::is_convertible_v<const a_elem*, const T*>) { \
139 return static_cast<const a_elem*>(this); \
145 extern template const TESBoundObject* TESForm::As()
const noexcept;
146 extern template const TESContainer* TESForm::As()
const noexcept;
147 extern template const TESEnchantableForm* TESForm::As()
const noexcept;
148 extern template const TESFullName* TESForm::As()
const noexcept;
149 extern template const TESLeveledList* TESForm::As()
const noexcept;
150 extern template const TESModel* TESForm::As()
const noexcept;
151 extern template const TESWeightForm* TESForm::As()
const noexcept;
155 const T* TESForm::As()
const noexcept
296 #undef SKSE_FORMTRAITS
constexpr REL::ID GetFormType(static_cast< std::uint64_t >(13982))
Definition: AbsorbEffect.h:6
requires(std::invocable< std::remove_reference_t< EF >>) class scope_exit
Definition: PCH.h:190