Files
UnrealEngine/Engine/Source/Developer/DerivedDataCache/Public/DerivedDataCacheModule.h
2025-05-18 13:04:45 +08:00

34 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreTypes.h"
#include "Modules/ModuleInterface.h"
class FDerivedDataCacheInterface;
/**
* Module for the Derived Data Cache and Derived Data Build.
*/
class IDerivedDataCacheModule : public IModuleInterface
{
public:
/**
* Returns the cache, which is created by the first call to this function.
*
* This always returns a pointer to a valid cache, but that pointer becomes null when the module
* shuts down and destroys the cache. This extra level of indirection allows a caller to observe
* the destruction of the cache without polling this function or monitoring the module lifetime.
*/
virtual FDerivedDataCacheInterface* const* CreateOrGetCache() = 0;
/**
* Returns a pointer to the cache, which may be null.
*
* This returns a non-null pointer to a cache which may be null and becomes null when the module
* shuts down and destroys the cache. This extra level of indirection allows a caller to observe
* the destruction of the cache without polling this function or monitoring the module lifetime.
*/
virtual FDerivedDataCacheInterface* const* GetCache() = 0;
};