UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
InterchangeResultsContainer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
7#include "HAL/PlatformCrt.h"
8#include "InterchangeResult.h"
9#include "Misc/ScopeLock.h"
10#include "UObject/Object.h"
12#include "UObject/ObjectPtr.h"
13#include "UObject/Package.h"
15
16#include "InterchangeResultsContainer.generated.h"
17
18
19UCLASS(Experimental, MinimalAPI)
21{
23
24public:
25
29 bool IsEmpty() const
30 {
32 return Results.IsEmpty();
33 }
34
39
44
48 template <typename T>
49 T* Add()
50 {
53 Results.Add(Item);
54 return Item;
55 }
56
61 {
63 Results.Add(Item);
64 }
65
70
75 {
77 return Results;
78 }
79
84 {
86 Results.Remove(Item);
87 }
88
89private:
90
91 mutable FCriticalSection Lock;
92
93 UPROPERTY()
95};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
UPackage * GetTransientPackage()
Definition Obj.cpp:5819
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
FRWLock Lock
Definition UnversionedPropertySerialization.cpp:921
Definition ScopeLock.h:141
Definition Array.h:670
Definition InterchangeResult.h:33
Definition InterchangeResultsContainer.h:21
void Add(UInterchangeResult *Item)
Definition InterchangeResultsContainer.h:60
bool IsEmpty() const
Definition InterchangeResultsContainer.h:29
void RemoveResult(UInterchangeResult *Item)
Definition InterchangeResultsContainer.h:83
T * Add()
Definition InterchangeResultsContainer.h:49
TArray< UInterchangeResult * > GetResults() const
Definition InterchangeResultsContainer.h:74
Definition Object.h:95
Definition RobinHoodHashTable.h:18
Definition ObjectPtr.h:488