Navigation
API > API/Runtime > API/Runtime/Core
Derive your class from TSharedFromThis to enable access to a TSharedRef directly from an object instance that's already been allocated. Use the optional Mode template argument for thread-safety.
| Name | TSharedFromThis |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/Templates/SharedPointer.h |
| Include Path | #include "Templates/SharedPointer.h" |
Syntax
template<class ObjectType, ESPMode Mode>
class TSharedFromThis : private UE::Core::Private::FSharedFromThisBase
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis
Derived Classes
TSharedFromThis derived class hierarchy
- FDataflowNode
- FNavigationPath
- FAbstractSessionHistoryController
- FAccumulatorPool
- FActionFilterTest
- IMessageToken
- FActiveSyncPoint
- FCameraEvaluationContext
- FDragDropOperation
- FActorModifierCoreExtension
- FActorModifierCoreProfiler
- IObjectSelectionSourceModel
- IOutlinerColumn
- FAggregator
- FAIMessageObserver
- IAutomationLatentCommand
- FAnalogCursor
- FBindingContext
- IPreAnimatedStorage
- FApplicationMode
- IPoseHistory
- FARSystemProxy
- FEditorModeTools
- FAssetEditorModeUILayer
- FAssetEditorToolkit
- FAssetEditorViewportLayout
- FAssetFileContextMenu
- FAssetFolderContextMenu
- FAssetThumbnail
- IAssetTypeActions
- FAsyncMessageSystemBase
- FAsyncMessageBindingEndpoint
- FAudioAnalyzerRack
- IDashboardDataViewEntry
- FTraceTableDashboardViewFactory
- IAudioAnalyzerRackUnit
- FAudioMetersPanelDashboardViewFactory
- IAudioModulationManager
- IDetailCustomization
- FAudioSection
- FAudioSpectrogramViewport
- FLaunchExtensionInstance
- FAutomationSpecBase
- FMetaHumanServiceRequestBase
- IFixer
- IAvaEditorExtension
- FAvaMarkRole
- IAvaOutlinerItem
- FAvaOutlinerItemDropHandler
- IAvaOutlinerItemFilter
- FAvaPlaybackManager
- FAvaSnapOperation
- IAvaTabSpawner
- FAvaUserInputDialogDataTypeBase
- IBackgroundHttpManager
- FBackgroundHttpNotificationObject
- IBackgroundHttpRequest
- FBaseMeshPaintComponentAdapter
- FBaseTimingTrack
- FBaseTreeNode
- FGenericProfileTreeBuilder
- FBlueprintCompileReinstancer
- FBlueprintViewDesignerExtensionFactory
- FEntity
- FBoneGroupTreeElement
- FBoneTreeWidgetElement
- FBuildPatchServicesPreLoadManagerBase
- FButtonArgs
- FCallbackSynchronizer
- FCameraCutSubSectionHierarchyNode
- FCameraEvaluationService
- FCameraShakePreviewer
- TSharedEntitySystemLinkerExtension
- FCameraSystemEvaluator
- FCaptureManagerPipelineNode
- FCaptureExtractAudioTimecode
- FCaptureManager
- FCaptureManagerPipeline
- FToolElementRegistrationArgs
- ICEClonerAttachmentTreeBehavior
- FCEEditorClonerCustomActorPickerNodeBuilder
- FChatSlashCommand
- FChaosCacheSection
- FMovieSceneTrackEditor
- FChaosDDFrame
- FChaosDDScene
- FChaosDDTimeline
- FChaosVDEngine
- FChaosVDGeometryBuilder
- FChaosVDInstancedMeshData
- FChaosVDStandAloneObjectDetailsTab
- FChaosVDPlaybackController
- FChaosVDScene
- FChaosVDSerializableNameTable
- FChaosVDSolverDataSelection
- FChaosVDSolverDataSelectionHandle
- FChaosVDTraceProvider
- ISourceControlOperation
- IClassTypeActions
- FNetAnalyticsData
- FSceneViewExtensionBase
- FColorGradingEditorDataModel
- IPropertyTypeCustomization
- FCommonAccount
- FCommonAccountManager
- FCommonAnimationSection
- FCommonNativeListItem
- FComponentClassComboEntry
- FComponentVisualizer
- FSampleTrackBase
- FConcertSessionActivitiesOptions
- FConnectStarter
- ILocalizationServiceOperation
- FConstraintsEvaluationGraph
- FEdMode
- FContextualAnimViewModel
- FControlRigIOMapping
- FRigHierarchyPoseAdapter
- FConversationsHandle
- FCPSDevice
- FCurveDrawParamsCache
- FCurveEditor
- FCurveSequence
- FCustomTextFilter
- FDashboardFactory
- FDatabaseAssetTreeNode
- FDatabaseViewModel
- FDataflowGraphNodeFactory
- FDataflowOutlinerTreeItem
- FDataLinkExecutor
- FDatasmithFBXSceneNode
- FMovieSceneSpawnRegister
- IDynamicExtension
- FDesignerExtension
- FSocialChatMessage
- FDesignerSurfaceElement
- FDetailsDisplayManager
- FDetailsNameWidgetOverrideCustomization
- FExternalSource
- IDisplayClusterMediaOutputSynchronizationPolicyHandler
- FDisplayClusterWarpEye
- FDMMaterialBuildState
- FDMXEntityEntry
- FDMXFixturePatchSharedData
- FDMXFixtureTypeSharedData
- FDMXGDTFNode
- FDMXGDTFDescription
- FDMXPort
- FDMXMVRFixtureActorLibrary
- FDMXPixelMappingComponentTemplate
- FDMXPixelMappingComponentWidget
- FDMXPortSelectorItem
- FDMXRawListener
- FDMXSignal
- FDMXSignalFragment
- FDMXZipper
- FDocumentModifyDelegates
- FWorkflowTabFactory
- FDocumentTracker
- FDomainData
- FToolPalette
- IReplicationStreamModel
- IEditorModeFactory
- FViewModel
- FEditorTransformGizmoDataBinder
- IEditorViewportClientProxy
- FEditorViewportTabContent
- FEffectConvolutionReverb
- FFbxAttributeInfo
- FFbxCameraInfo
- FFbxLightInfo
- FFbxNodeInfo
- FFbxSceneInfo
- FFilter
- FHierarchyElementViewModel
- FFindTurnBasedMatchCallbackProxyMatchmakerDelegate
- FFloatingPropertiesWidgetController
- FFXSystemInterface
- FGameFeaturePluginAsyncHandle
- FGameMenuItem
- FGameMenuPage
- FGameModeInfoCustomizer
- FGameplayDebuggerAddonBase
- FGeometryCollectionFacesTreeItem
- FGeometryCollectionVerticesTreeItem
- FTabManager
- FGraphPanelNodeFactory
- FGraphPanelPinConnectionFactory
- FGraphPanelPinFactory
- FGraphRenderCost
- FHTNDomain
- IHttpRequest
- FIKRetargetEditorController
- FIKRetargetHierarchyElement
- FIKRetargetPoseExporter
- FIKRigEditorController
- FIKRigTreeElement
- IMoviePipelineOverlappedAccumulator
- FImagePixelDataPayload
- FImgMediaGlobalCache
- FInjectionRequest
- FInstancedStructDataDetails
- FInteractionAssetViewModel
- FLaunchExtension
- FLaunchProfileTreeData
- FLaunchProfileTreeNode
- FLayoutExtender
- IObjectMixerSelectionInterface
- FLevelEditorSequencerBindingData
- FLevelInstancePropertyOverrideDesc
- FLevelSequencePlaybackContext
- FLinkedBoxManager
- FLiveLinkFaceDiscovery
- FLiveLinkFreeDSource
- FLiveLinkHubImportWorker
- FLiveLinkInputDeviceSource
- FLiveLinkPanelController
- FLiveLinkSourcesView
- FLiveLinkSubjectsView
- FLiveLinkVRPNSource
- FLiveLinkXRSource
- FLocalizationCommandletProcess
- ILoginFlowManager
- ISubmixBufferListener
- FManager
- FMassActorManager
- FMassEntityManager
- FMassEntityTemplate
- FMassProcessingPhaseManager
- FMaterialItemView
- FMaterialList
- FMaterialXBase
- FMediaImageViewer
- FMediaIOCorePlayerBase
- FMediaIOCoreTextureSampleBase
- FMediaPlayerFacade
- FThumbnailSection
- FMessageEndpoint
- FMetaHumanCalibrationNotificationManager
- FMetaHumanEditorViewportClient
- FMetaHumanIdentityStateValidator
- FMetaHumanLocalLiveLinkSource
- FMetaHumanSequencerPlaybackContext
- FMetasoundGeneratorHandle
- FMidiClock
- FMLDeformerBonePickerTreeElement
- FMLDeformerCurvePickerElement
- FMLDeformerEditorModel
- FMLDeformerInputBoneTreeElement
- FMLDeformerInputCurveListElement
- FMobilityCustomization
- FModel
- FModeToolkit
- FModuleWizardModel
- FModuleWizardPage
- FMovieGraphSampleState
- IMoviePipelineOutputMerger
- FMoviePipelineSurfaceReader
- FMovieSceneChannelProxy
- FMovieSceneEntitySystemRunner
- FMovieSceneExportData
- FMovieSceneImportData
- FMovieSceneTranslatorContext
- FMovieViewport
- FMP4BoxBase
- FMP4Track
- FMultiBlock
- FMultiBox
- FMusicClockDriverBase
- FMVVMDiffCustomObjectProvider
- FNamePermissionList
- IMediaOptions::FDataContainer
- FNavCorridor
- FNavDataGenerator
- FNavigationConfig
- FNavigationElement
- FNavigationOctree
- FNavigationQueryFilter
- FNavigationRelevantData
- TFilterCollection
- FNavigationToolFilterMenu
- INavigationToolProvider
- FNavMeshSceneProxyData
- INetDeltaBaseState
- FNeuralMorphBoneGroupsTreeElement
- FNeuralMorphCurveGroupsTreeElement
- FNiagaraCacheSection
- FNiagaraCurveSelectionTreeNode
- FNiagaraDataBufferReadback
- FNiagaraDataChannelData
- FNiagaraDataChannelDataProxy
- FNiagaraDataChannelGameData
- FNiagaraDataChannelLayoutInfo
- FNiagaraDataSetReadback
- FNiagaraEditorTypeUtilities
- FNiagaraEmitterHandleViewModel
- FNiagaraEmitterViewModel
- INiagaraMessageRegistrationHandle
- FNiagaraOverviewGraphViewModel
- INiagaraImmutableParameterPanelViewModel
- FNiagaraPreviewMovieViewModel
- FNiagaraRecentAndFavoritesManager
- FNiagaraScriptViewModel
- INiagaraScriptGraphFocusInfo
- FNiagaraSimCacheViewModel
- FNiagaraStackObjectPropertyCustomization
- FNiagaraSystemGraphSelectionViewModel
- FNiagaraSystemInstanceController
- FNiagaraSystemSimulation
- FNiagaraSystemViewModel
- FNiagaraUserParameterPanelViewModel
- FObjectMixerEditorList
- FObjectReplicationCache
- FOnlineAsyncOpQueue::TWrappedOp
- FOnlineParty
- FOnlinePartyData
- FOnlinePartyId
- FOnlinePurchaseSteam
- IOnlineServices
- FOpenColorIODisplayManager
- FOperatorPool
- IOutlinerIndicatorBuilder
- FPopupLayer
- FPartyConfiguration
- FPathPermissionList
- FPCGComponentOctreeID
- FPCGContextHandle
- FPCGEditorInspectionDataManager
- FPCGProxyForGPUDataCollection
- FPendingDelete
- FPendingPrivateAsset
- FPendingWidgetFocus
- FPerlinNoiseChannelSectionMenuExtension
- FPerPlatformPropertyCustomNodeBuilder
- FPimpl
- FPixelCaptureCapturerI420ToRHI
- FPixelCaptureCapturerLayered
- FPixelCaptureCapturerMultiFormat
- FPixelCaptureCapturerNV12ToRHI
- FPixelCaptureCapturerRHI
- FPixelCaptureCapturerRHINoCopy
- FPixelCaptureCapturerRHIRDG
- FPixelCaptureCapturerRHIToI420Compute
- FPixelCaptureCapturerRHIToI420CPU
- FPixelMapRenderElement
- FPixelStreamingDataChannel
- FPlaceableItem::FDragHandler
- FPlayTimeLimitUser
- FPluginEditorExtension
- FSlatePostProcessorUpdaterProxy
- TPreAnimatedStateGroupManager
- IPreLoadScreen
- FPropertyAnimatorCorePresetArchive
- FPropertyAnimatorCorePresetArchiveImplementation
- FPropertyInstanceInfo
- FProxyVolumeMutator
- FQueuedReplayTask
- FRegisteredSlashCommands
- IRemoteControlPropertyFactory
- FRemoteControlLogger
- IRemoteControlProtocol
- FRenderGridGenericExecutionQueue
- FRepLayout
- FReplayPlaylistTracker
- FReplicationDataQueuer
- FRequestContextBase
- FRetargetPlaybackManager
- FRigStackEntry
- FRigVMTreeElement
- FRigVMEditorGraphExplorerTreeElement
- FRigVMFindResult
- FRigVMFunctionArgumentDefaultNode
- FRigVMFunctionArgumentGroupLayout
- FRigVMFunctionArgumentLayout
- FRigVMGraphDetailCustomizationImpl
- FRigVMMinimalEnvironment
- FRigVMParserAST
- FRigVMRegistry_NoLock
- FSampleTrackContainer
- FSchematicGraphNode
- FSchematicGraphTag
- FSchematicGraphLink
- FSchematicGraphModel
- FSearchQuery
- FSectionList
- IItemSourceModel
- FSequencerCoreSelection
- FSequencerFilterBase
- FSequencerTimeSliderController
- FSettingsLayout
- FSharedPlaybackState
- FSlateDynamicImageBrush
- FSlateHyperlinkRun
- FSlateImageRun
- FSlateTextRun
- FSlateUser
- FSlateWidgetRun
- FSmartObjectOctreeID
- FSocialQueryBase
- FSoundModulationParameterAssetProxy
- FSoundModulatorAssetProxy
- FSoundPlotsDashboardViewFactory
- FSoundPlotsWidgetView
- FSourceControlFileStatusMonitor
- FSpace
- FStateTreeViewModel
- FStreamableHandle
- FStreamableHandleContextDataBase
- FStringTable
- FSubGizmoTransformAdjuster
- FSubobjectEditorTreeNode
- FSurfaceAccumulatorPool
- FSVGBaseElement
- FTabInfo
- FTable
- FTableImporter
- FTabManager::FLayout
- FTabManager::FLayoutNode
- FTaskProgress
- FTedsOutlinerImpl
- FTextFormatPatternDefinition
- FTextLayout
- FTextToSpeechBase
- FTokenizedMessage
- FToolElementRegistrationKey
- FTraceTreeDashboardViewFactory
- FTrackedActivity
- FTrackEditorThumbnail
- FTransformGizmoDataBinder
- FTreeMapNodeData
- FTypeManager
- FUICommandList
- FUncontrolledChangelist
- FUncontrolledChangelistsModule::FInitialScanEvent
- FUncontrolledChangelistState
- FUniqueNetId
- FUnrealEndpoint::FImpl
- FUnrealInsightsLauncher
- FUsdSchemaTranslationContext
- FVariantManager
- FVersionWidget
- FVisibleColumnsSettingsMenu
- FWaveformAudioSamplesDataProvider
- FWaveformEditorSequenceDataProvider
- FWaveTableBankAssetProxy
- FWebAPIMessageLog
- FWidgetAnimationState
- FWidgetTemplate
- FWorkspaceBreadcrumb
- FWorkspaceItem
- FWorkspaceTabHost
- IAccessibleWidget
- IActorModifierSceneTreeCustomResolver
- IAudioDataRenderer
- IAudioPropertiesDetailsInjector
- IAudioPropertiesDetailsInjectorBuilder
- IAutomationNetworkCommand
- IAutomationReport
- IAvaEditor
- IAvaEditorProvider
- IAvaOutliner
- IAvaOutlinerView
- IAvaSequencePlaybackContext
- IAvaSequencerController
- IAvaTransitionExecutor
- IBlueprintWidgetCustomizationExtender
- ICEClonerSceneTreeCustomResolver
- IColorGradingEditorDataModelGenerator
- IColorGradingMixerObjectHierarchyConfig
- IConnectionRemapCustomization
- IConnectionRemapUtils
- ICustomDetailsViewItem
- IDashboardDataTreeViewEntry
- IDataChannel
- IDetailRootObjectCustomization
- IDiffCustomObject
- IDiffCustomProperty
- IDMXNamedType
- IDMXPixelMappingRenderer
- IDMXProtocolBase
- IDMXSender
- IDocumentBuilderTransactionListener
- IDocumentCache
- IDocumentController
- IDocumentGraphEdgeCache
- IDocumentGraphInterfaceCache
- IDocumentGraphNodeCache
- IEditorViewportLayoutEntity
- IGameLayer
- IGameplayCamerasLiveEditManager
- IGraphController
- IInputController
- IKeyArea
- ILocalizationServiceRevision
- ILocalizationServiceState
- ILocatorFragmentEditor
- ILocatorFragmentEditorContext
- IMediaStreamObjectHandler
- IMediaStreamSchemeHandler
- IMessageSanitizer
- IMovieGraphOutputMerger
- IMovieSceneBlendingActuator
- IMultiReplicationStreamModel
- INavigationTool
- INavigationToolView
- INiagaraRenderableMesh
- INodeController
- IObjectSchema
- IOnlinePartyJoinInfo
- IOnlinePartyPendingJoinRequestInfo
- IOnlinePartyRequestToJoinInfo
- IOnlineTournament
- IOnlineTournamentDetails
- IOnlineTournamentMatchDetails
- IOnlineTournamentParticipantDetails
- IOnlineTournamentTeamDetails
- IOutputController
- IOutputProviderLogic
- IPacket
- IPCGEditorProgressNotification
- IPlugin
- IPluginWizardDefinition
- IPreprocessApplyFilterMaterialProxy
- IPreprocessRenderInputProxy
- IPropertyHandle
- IRCDefaultValueFactory
- IRemoteControlMaskingFactory
- IRemoteControlPropertyHandle
- IRenderPixelMapProxy
- ISequencer
- ISequenceRecorderExtender
- ISequencerFilterBar
- ISidebarDrawerContent
- ISourceCodeNavigationHandler
- ISourceControlChangelist
- ISourceControlChangelistState
- ISourceControlLabel
- ISourceControlRevision
- ISourceControlState
- IStateTreeEditorHost
- IStormSyncTransportLocalEndpoint
- IStormSyncTransportMessageService
- ITextureShareContext
- IUsdTreeViewItem
- IVariableController
- IVideoDecoderColorimetry
- IVideoDecoderHDRInformation
- IVideoDecoderTimecode
- IVoiceCapture
- IVoiceDecoder
- IVoiceEncoder
- IWebAPIProviderInterface
- IWorkspaceOutlinerItemDetails
- SGameLayerManager::FPlayerLayer
- SItemSelector::FItemSelectorViewModel
- SRigVMGraphFunctionLocalizationItem
- STaggedAssetBrowser::FDefaultDetailsTabMembers
- SWidget
- TAnimatedAttributeBase
- TControlRigOverrideHandle
- TDelegateAdapter
- TDelegateFilter
- THighFrequencyData
- TMulticastDelegateAdapter
- TOnlineAsyncOp
- TOnlineAsyncOp::FAsyncOpSharedHandleState
- TRequest
- TSharedListItem
- TTextFilter
- TTypedElementList
- TVariantArray
- TVariantMap
- UBaseIngestLiveLinkDevice::FImpl
- UInterchangeGenericAssetsPipeline::FSkeletonJoint
- URigVMEdGraphNodeSpawner
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Hidden stub constructor | Templates/SharedPointer.h | ||
TSharedFromThis
(
TSharedFromThis const& |
Hidden stub copy constructor | Templates/SharedPointer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~TSharedFromThis() |
Hidden destructor | Templates/SharedPointer.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| WeakThis | TWeakPtr< ObjectType, Mode > | Weak reference to ourselves. | Templates/SharedPointer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TSharedRef< ObjectType, Mode > AsShared () |
Provides a shared reference to this object. | Templates/SharedPointer.h | |
TSharedRef< ObjectType const, Mode > AsShared () |
Provides a shared reference to this object (const.) Note that is only valid to call this after a shared reference (or shared pointer) to the object has already been created. | Templates/SharedPointer.h | |
TSharedRef< SubobjectType, Mode > AsSharedSubobject
(
SubobjectType* SubobjectPtr |
Provides a shared reference to a subobject of this object, i.e. points to an object which shares the lifetime and refcount of this object, but isn't derived from TSharedFromThis. | Templates/SharedPointer.h | |
| Provides a weak reference to this object. | Templates/SharedPointer.h | ||
| Templates/SharedPointer.h | |||
TWeakPtr< SubobjectType, Mode > AsWeakSubobject
(
SubobjectType* SubobjectPtr |
Provides a weak pointer to a subobject of this object, i.e. points to an object which shares the lifetime and refcount of this object, but isn't derived from TSharedFromThis. | Templates/SharedPointer.h | |
bool DoesSharedInstanceExist () |
Checks whether our referenced instance is valid (ie, whether it's safe to call AsShared). | Templates/SharedPointer.h | |
void UpdateWeakReferenceInternal
(
TSharedPtr< SharedPtrType, SharedPtrMode > const* InSharedPtr, |
INTERNAL USE ONLY Do not call this method. | Templates/SharedPointer.h | |
void UpdateWeakReferenceInternal
(
TSharedRef< SharedRefType, SharedPtrMode > const* InSharedRef, |
INTERNAL USE ONLY Do not call this method. | Templates/SharedPointer.h |
Protected
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TSharedRef< OtherType, Mode > SharedThis
(
OtherType* ThisPtr |
Provides access to a shared reference to an object, given the object's 'this' pointer. | Templates/SharedPointer.h | |
static TSharedRef< OtherType const, Mode > SharedThis
(
const OtherType* ThisPtr |
Provides access to a shared reference to an object, given the object's 'this' pointer. | Templates/SharedPointer.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TSharedFromThis & operator=
(
TSharedFromThis const& |
Hidden stub assignment operator | Templates/SharedPointer.h |