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 template <
class T,
class>
148 return const_cast<T*
>(
149 static_cast<const TESForm*
>(
this)->As<T>());
152 template <
class T,
class>
294 #undef SKSE_FORMTRAITS
Definition: ActorValueInfo.h:19
Definition: AlchemyItem.h:24
Definition: ArrowProjectile.h:12
Definition: BGSAcousticSpace.h:9
Definition: BGSAction.h:9
Definition: BGSAddonNode.h:28
Definition: BGSApparatus.h:14
Definition: BGSArtObject.h:12
Definition: BGSAssociationType.h:10
Definition: BGSBodyPartData.h:83
Definition: BGSCameraPath.h:29
Definition: BGSCameraShot.h:14
Definition: BGSCollisionLayer.h:15
Definition: BGSConstructibleObject.h:11
Definition: BGSDebris.h:40
Definition: BGSDefaultObjectManager.h:988
Definition: BGSDialogueBranch.h:10
Definition: BGSDualCastData.h:31
Definition: BGSEncounterZone.h:43
Definition: BGSEquipSlot.h:10
Definition: BGSExplosion.h:53
Definition: BGSHazard.h:44
Definition: BGSHeadPart.h:17
Definition: BGSIdleMarker.h:14
Definition: BGSImpactDataSet.h:13
Definition: BGSImpactData.h:16
Definition: BGSKeyword.h:10
Definition: BGSLensFlare.h:12
Definition: BGSLightingTemplate.h:11
Definition: BGSLocationRefType.h:9
Definition: BGSLocation.h:68
Definition: BGSMaterialObject.h:16
Definition: BGSMaterialType.h:12
Definition: BGSMessage.h:17
Definition: BGSMovableStatic.h:28
Definition: BGSMovementType.h:11
Definition: BGSMusicType.h:13
Definition: BGSOutfit.h:11
Definition: BGSProjectile.h:79
Definition: BGSRagdoll.h:15
Definition: BGSReferenceEffect.h:9
Definition: BGSRelationship.h:9
Definition: BGSReverbParameters.h:12
Definition: BGSScene.h:32
Definition: BGSShaderParticleGeometryData.h:18
Definition: BGSSoundCategory.h:14
Definition: BGSSoundOutput.h:12
Definition: BGSStaticCollection.h:12
Definition: BGSStoryManagerBranchNode.h:10
Definition: BGSStoryManagerEventNode.h:36
Definition: BGSStoryManagerQuestNode.h:11
Definition: BGSTalkingActivator.h:9
Definition: BGSTextureSet.h:16
Definition: BGSVoiceType.h:25
Definition: BGSVolumetricLighting.h:12
Definition: BarrierProjectile.h:10
Definition: BeamProjectile.h:16
Definition: Character.h:8
Definition: ConeProjectile.h:15
Definition: EffectSetting.h:24
Definition: EnchantmentItem.h:10
Definition: FlameProjectile.h:9
Definition: GrenadeProjectile.h:11
Definition: IngredientItem.h:24
Definition: MissileProjectile.h:10
Definition: NavMeshInfoMap.h:19
Definition: SpellItem.h:16
Definition: TESClass.h:88
Definition: TESClimate.h:13
Definition: TESCombatStyle.h:65
Definition: TESEffectShader.h:182
Definition: TESFaction.h:120
Definition: TESFlora.h:12
Definition: TESFurniture.h:11
Definition: TESGlobal.h:10
Definition: TESGrass.h:12
Definition: TESImageSpaceModifier.h:111
Definition: TESImageSpace.h:10
Definition: TESLandTexture.h:17
Definition: TESLevCharacter.h:14
Definition: TESLevItem.h:12
Definition: TESLevSpell.h:12
Definition: TESLoadScreen.h:12
Definition: TESObjectACTI.h:22
Definition: TESObjectANIO.h:13
Definition: TESObjectARMA.h:28
Definition: TESObjectARMO.h:37
Definition: TESObjectBOOK.h:66
Definition: TESObjectCELL.h:116
Definition: TESObjectCONT.h:40
Definition: TESObjectDOOR.h:19
Definition: TESObjectLAND.h:46
Definition: TESObjectLIGH.h:66
Definition: TESObjectMISC.h:28
Definition: TESObjectREFR.h:113
Definition: TESObjectSTAT.h:30
Definition: TESObjectTREE.h:53
Definition: TESObjectWEAP.h:79
Definition: TESPackage.h:255
Definition: TESQuest.h:189
Definition: TESRace.h:146
Definition: TESRegion.h:53
Definition: TESShout.h:18
Definition: TESSoulGem.h:10
Definition: TESTopicInfo.h:42
Definition: TESTopic.h:135
Definition: TESWeather.h:17
Definition: TESWordOfPower.h:13
Definition: TESWorldSpace.h:118
Definition: AbsorbEffect.h:6