UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ImportExportCollector.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6
7#if WITH_EDITORONLY_DATA
8#include "Containers/Map.h"
10#include "Containers/Set.h"
12#include "UObject/Package.h"
13#include "UObject/NameTypes.h"
16
19{
20public:
22
36 TArray<UObject*> GetExports() const;
38 const TMap<FName, ESoftObjectPathCollectType>& GetImportedPackages() const;
45
46 COREUOBJECT_API virtual FArchive& operator<<(UObject*& Obj) override;
48
49private:
50 void AddImport(const FSoftObjectPath& Path, ESoftObjectPathCollectType CollectType);
53
54 enum class EVisitResult
55 {
57 Excluded,
58 Import,
59 Export,
60 };
69};
70
72// Inline implementations
74
75inline TArray<UObject*> FImportExportCollector::GetExports() const
76{
78 for (const TPair<UObject*, EVisitResult>& Pair : Visited)
79 {
80 if (Pair.Value == EVisitResult::Export)
81 {
82 Exports.Add(Pair.Key);
83 }
84 }
85 return Exports;
86}
87
88inline const TMap<FSoftObjectPath, ESoftObjectPathCollectType>& FImportExportCollector::GetImports() const
89{
90 return Imports;
91}
92
93inline const TMap<FName, ESoftObjectPathCollectType>& FImportExportCollector::GetImportedPackages() const
94{
95 return ImportedPackages;
96}
97
98inline void FImportExportCollector::SetCallbackIsEditorOnlyObjectAllowed(TFunction<bool(const UObject*)> InCallback)
99{
101}
102
103#endif // WITH_EDITORONLY_DATA
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
ESoftObjectPathCollectType
Definition SoftObjectPath.h:618
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition ArchiveUObject.h:17
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
Definition Archive.h:1208
virtual CORE_API void Reset()
Definition Archive.cpp:151
Definition NameTypes.h:617
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition RingBuffer.h:135
Definition Object.h:95
Definition Package.h:216
EVisitResult
Result returned from a visitor functor indicating how to continue or to quit early.
Definition Common.h:337
Definition SoftObjectPath.h:56
Definition Tuple.h:652