You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
The new API uses exported functions and cannot be included with the old API without compile errors in existing code that has an include-only dependency on DDC. #rb Zousar.Shaker #rnx #preflight 610c01e3aeb05700011dc5ab #ROBOMERGE-SOURCE: CL 17071263 in //UE5/Main/... #ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230) [CL 17071271 by devin doucette in ue5-release-engine-test branch]
49 lines
1.6 KiB
C++
49 lines
1.6 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Containers/StringFwd.h"
|
|
#include "Misc/AsciiSet.h"
|
|
|
|
class FCbPackage;
|
|
class FDerivedDataCacheInterface;
|
|
enum class ECachePolicy : uint8;
|
|
|
|
namespace UE::DerivedData { class FCacheBucket; }
|
|
namespace UE::DerivedData { class FCacheRecord; }
|
|
namespace UE::DerivedData { class FCacheRecordBuilder; }
|
|
namespace UE::DerivedData { class FOptionalCacheRecord; }
|
|
namespace UE::DerivedData { class ICache; }
|
|
namespace UE::DerivedData { struct FCacheKey; }
|
|
|
|
namespace UE::DerivedData::Private
|
|
{
|
|
|
|
// Implemented in DerivedDataCache.cpp
|
|
ICache* CreateCache(FDerivedDataCacheInterface** OutLegacyCache);
|
|
|
|
// Implemented in DerivedDataCacheKey.cpp
|
|
FCacheBucket CreateCacheBucket(FStringView Name);
|
|
|
|
// Implemented in DerivedDataCacheRecord.cpp
|
|
FCacheRecordBuilder CreateCacheRecordBuilder(const FCacheKey& Key);
|
|
FCbPackage SaveCacheRecord(const FCacheRecord& Record);
|
|
FOptionalCacheRecord LoadCacheRecord(const FCbPackage& Package);
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
inline bool IsValidCacheBucketName(FStringView Name)
|
|
{
|
|
constexpr FAsciiSet Valid("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
|
|
return !Name.IsEmpty() && Name.Len() < 256 && FAsciiSet::HasOnly(Name, Valid);
|
|
}
|
|
|
|
inline void AssertValidCacheBucketName(FStringView Name)
|
|
{
|
|
checkf(IsValidCacheBucketName(Name),
|
|
TEXT("A cache bucket name must be alphanumeric, non-empty, and contain fewer than 256 code units. ")
|
|
TEXT("Name: '%.*s'"), Name.Len(), Name.GetData());
|
|
}
|
|
|
|
} // UE::DerivedData::Private
|