Files
UnrealEngineUWP/Engine/Source/Developer/DerivedDataCache/Public/Experimental/DerivedDataBuildSchedulerThreadPoolProvider.h
Devin Doucette 6c33c94b36 DDC: Added experimental interface IBuildSchedulerThreadPoolProvider to integrate the build scheduler with the asset compiling managers
#jira UE-141137
#jira UE-141139
#preflight 63696f5e843e6ac79482dad1
#rb Zousar.Shaker

[CL 23027624 by Devin Doucette in ue5-main branch]
2022-11-08 09:45:50 -05:00

34 lines
891 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "DerivedDataSharedStringFwd.h"
#include "Features/IModularFeature.h"
#include "UObject/NameTypes.h"
#define UE_API DERIVEDDATACACHE_API
class FQueuedThreadPool;
namespace UE::DerivedData
{
/** Provides the thread pool to use when reserving memory, and matches build functions using their type name. */
class IBuildSchedulerThreadPoolProvider : public IModularFeature
{
public:
static inline const FLazyName FeatureName{"BuildSchedulerThreadPoolProvider"};
virtual ~IBuildSchedulerThreadPoolProvider() = default;
/** Returns the type name that this provider corresponds to. */
virtual const FUtf8SharedString& GetTypeName() const = 0;
/** Returns the thread pool to use when reserving memory for the build. */
virtual FQueuedThreadPool* GetThreadPool() const = 0;
};
} // UE::DerivedData
#undef UE_API