class
PFIndexModifiableThis class stores the metadata of all the files contained in a DBPF file.
It is used for indexing and accessing files.
Base classes
- class IO::EAIOZoneObject
- A class derived from EAIOZoneObject is able to be allocated from different heaps without the owner of the object needing to know or care which heap the object came from or even what kind of allocator the object is using.
Public types
- using ItemsMap = eastl::hash_map<ResourceKey, RecordInfo, eastl::hash<ResourceKey>, eastl::equal_to<ResourceKey>, ICoreAllocatorAdapter>
Constructors, destructors, conversion operators
- PFIndexModifiable(ICoreAllocator* pAllocator)
- ~PFIndexModifiable() virtual
Public functions
- auto func04h() -> bool virtual
- auto IsEmpty() -> bool virtual
- Tells whether this PFIndex is empty (i.e.
-
auto GetFileCount() -> size_
t virtual - Returns the number of files contained in this PFIndex.
- auto Reset() -> bool virtual
- Removes all the files from this PFIndex.
-
auto GetTotalDiskSize() -> size_
t virtual - Gets the total amount of bytes occupied by the data of the files in this PFIndex.
-
auto GetDataEnd() -> size_
t virtual - Returns the offset of the file where the data of this PFIndex' files ends.
-
auto GetFiles(eastl::vector<ResourceKey>& dstVector,
IKeyFilter* filter = nullptr) -> size_
t virtual - Adds all the files that match the criteria to the given vector.
-
auto GetAllFiles(eastl::vector<ResourceKey>& dstVector) -> size_
t virtual - Adds all the file names (as ResourceKeys) in this PFIndex to the given vector.
-
auto func24h(int,
size_
t fileDataBegin, size_ t fileDataEnd) -> bool virtual - auto GetFileInfo(const ResourceKey& fileName) -> RecordInfo* virtual
- Returns the DBPFItem for the given file name, or NULL if the PFIndex does not contain that file.
- auto PutFileInfo(const ResourceKey& fileName, RecordInfo& info) -> RecordInfo& virtual
- Assigns the given file info to the specified file name.
- auto RemoveFile(const ResourceKey& fileName, RecordInfo& dstInfo) -> bool virtual
- Removes the specified file from this PFIndex, if it exists.
-
auto Read(void* pIndexData,
size_
t nIndexSize, size_ t nIndexCount, bool) -> bool virtual - Reads the index items from the given buffer.
-
auto Write(void*& pDstIndexData,
size_
t& nDstIndexSize, size_ t nIndexCount, bool arg_C) -> bool virtual - Creates a buffer to store the items and writes the index information on it.
- auto SetIsSaved() -> void virtual
- Sets the mIsSaved value of all files to true, meaning that the files have already been written into a DatabasePackedFile stream.
-
auto CheckFilesInRange(size_
t fileDataBegin, size_ t fileDataEnd) -> bool virtual - Tells whether the data of the files in this PFIndex are contained between the given range.
-
auto CheckFilesInSizeRange(size_
t fileDataBegin, size_ t size) -> bool virtual - Tells whether the data of the files in this PFIndex are contained between the given range.
Protected variables
Function documentation
size_ t Resource:: PFIndexModifiable:: GetFiles(eastl::vector<ResourceKey>& dstVector,
IKeyFilter* filter = nullptr) virtual
Adds all the files that match the criteria to the given vector.
Parameters | |
---|---|
dstVector out | The destination vector where the matching file names will be added. |
filter | The RequestFilter used to decide which file names must be added into the vector. |
Returns | The number of file names added to the vector. |
The given filter will be applied on all the file names contained in this PFIndex. If a file matches the criteria, its name (as a ResourceKey) will be added to the vector.
size_ t Resource:: PFIndexModifiable:: GetAllFiles(eastl::vector<ResourceKey>& dstVector) virtual
Adds all the file names (as ResourceKeys) in this PFIndex to the given vector.
Parameters | |
---|---|
dstVector out | The destination vector where the file names will be added. |
Returns | The number of file names added to the vector. |
RecordInfo& Resource:: PFIndexModifiable:: PutFileInfo(const ResourceKey& fileName,
RecordInfo& info) virtual
Assigns the given file info to the specified file name.
If the PFIndex does not contain a file with that name, a new entry will be created.
bool Resource:: PFIndexModifiable:: RemoveFile(const ResourceKey& fileName,
RecordInfo& dstInfo) virtual
Removes the specified file from this PFIndex, if it exists.
Parameters | |
---|---|
fileName | The ResourceKey name of the file to be removed. |
dstInfo out | The destination DBPFItem that will be filled with the old information of the file, if it existed. |
Returns | True if the file was removed successfully, false if the file did not exist. |
bool Resource:: PFIndexModifiable:: Read(void* pIndexData,
size_ t nIndexSize,
size_ t nIndexCount,
bool) virtual
Reads the index items from the given buffer.
Returns | true if all the items were successfully read, false otherwise. |
---|
It will be read according to the DBPF format. nIndexCount items will be read. The buffer is expected to have a size equal to nIndexSize.
bool Resource:: PFIndexModifiable:: Write(void*& pDstIndexData,
size_ t& nDstIndexSize,
size_ t nIndexCount,
bool arg_C) virtual
Creates a buffer to store the items and writes the index information on it.
Parameters | |
---|---|
pDstIndexData out | The void* that will be assigned with the pointer to the buffer containing the written information. |
nDstIndexSize | |
nIndexCount in | The number of items to write. |
arg_C | |
Returns | true if all the items were successfully written, false otherwise. |