#include <BlockStructure.h>
|
| | FBlockStructure () |
| |
| | FBlockStructure (uint64 Offset, uint64 Size) |
| |
| | FBlockStructure (const FBlockStructure &) |
| |
| | FBlockStructure (FBlockStructure &&) |
| |
| | ~FBlockStructure () |
| |
| FBlockStructure & | operator= (const FBlockStructure &) |
| |
| FBlockStructure & | operator= (FBlockStructure &&) |
| |
| const FBlockEntry * | GetHead () const |
| |
| const FBlockEntry * | GetTail () const |
| |
| void | Empty () |
| |
| void | Add (uint64 Offset, uint64 Size, ESearchDir::Type SearchDir=ESearchDir::FromStart) |
| |
| void | Add (const FBlockRange &BlockRange, ESearchDir::Type SearchDir=ESearchDir::FromStart) |
| |
| void | Add (const FBlockStructure &OtherStructure, ESearchDir::Type SearchDir=ESearchDir::FromStart) |
| |
| void | Remove (uint64 Offset, uint64 Size, ESearchDir::Type SearchDir=ESearchDir::FromStart) |
| |
| void | Remove (const FBlockRange &BlockRange, ESearchDir::Type SearchDir=ESearchDir::FromStart) |
| |
| void | Remove (const FBlockStructure &OtherStructure, ESearchDir::Type SearchDir=ESearchDir::FromStart) |
| |
| uint64 | SelectSerialBytes (uint64 FirstByte, uint64 Count, FBlockStructure &OutputStructure) const |
| |
| FBlockStructure | Intersect (const FBlockStructure &OtherStructure) const |
| |
| FString | ToString (uint64 BlockCountLimit=20) const |
| |
◆ FBlockStructure() [1/4]
| BuildPatchServices::FBlockStructure::FBlockStructure |
( |
| ) |
|
◆ FBlockStructure() [2/4]
| BuildPatchServices::FBlockStructure::FBlockStructure |
( |
uint64 |
Offset, |
|
|
uint64 |
Size |
|
) |
| |
◆ FBlockStructure() [3/4]
| BuildPatchServices::FBlockStructure::FBlockStructure |
( |
const FBlockStructure & |
CopyFrom | ) |
|
◆ FBlockStructure() [4/4]
| BuildPatchServices::FBlockStructure::FBlockStructure |
( |
FBlockStructure && |
MoveFrom | ) |
|
◆ ~FBlockStructure()
| BuildPatchServices::FBlockStructure::~FBlockStructure |
( |
| ) |
|
◆ Add() [1/3]
Add a block to this structure. Any overlap will be merged, growing existing blocks where necessary.
- Parameters
-
| BlockRange | The range of the block. |
| SearchDir | The direction in which to search, default FromStart. If you know which is faster then specify this explicitly. |
◆ Add() [2/3]
Add another structure to this structure. Any overlap will be merged, growing existing blocks where necessary.
- Parameters
-
| OtherStructure | The other structure. |
| SearchDir | The direction in which to search, default FromStart. If you know which is faster then specify this explicitly. |
◆ Add() [3/3]
Add a block to this structure. Any overlap will be merged, growing existing blocks where necessary.
- Parameters
-
| Offset | The offset of the block. |
| Size | The size of the block. |
| SearchDir | The direction in which to search, default FromStart. If you know which is faster then specify this explicitly. |
◆ Empty()
| void BuildPatchServices::FBlockStructure::Empty |
( |
| ) |
|
Empty the structure of all blocks.
◆ GetHead()
| const FBlockEntry * BuildPatchServices::FBlockStructure::GetHead |
( |
| ) |
const |
◆ GetTail()
| const FBlockEntry * BuildPatchServices::FBlockStructure::GetTail |
( |
| ) |
const |
◆ Intersect()
Get the intersection of this block structure and another. e.g for the structures [Offset, Size] MyStructure: [ 0,10]-[20,10]-[40,10] and OtherStructure: [25,10]-[45,10]-[50,10] Intersection = MyStructure.Intersect(OtherStructure); would result in Intersection representing [25, 5]-[45, 5]
- Parameters
-
| OtherStructure | The structure to intersect with. |
- Returns
- structure of blocks representing the overlap between this and other.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ Remove() [1/3]
Remove a block from this structure. Any overlap will shrink existing blocks, or remove where necessary.
- Parameters
-
| BlockRange | The range of the block. |
| SearchDir | The direction in which to search, default FromStart. If you know which is faster then specify this explicitly. |
◆ Remove() [2/3]
Remove another structure from this structure. Any overlap will shrink existing blocks, or remove where necessary.
- Parameters
-
| OtherStructure | The other structure. |
| SearchDir | The direction in which to search, default FromStart. If you know which is faster then specify this explicitly. |
◆ Remove() [3/3]
Remove a block from this structure. Any overlap will shrink existing blocks, or remove where necessary.
- Parameters
-
| Offset | The offset of the block. |
| Size | The size of the block. |
| SearchDir | The direction in which to search, default FromStart. If you know which is faster then specify this explicitly. |
◆ SelectSerialBytes()
Starting from the nth byte in the structure, not including gaps, select a number of bytes into the provided structure. e.g for the structure [Offset, Size] MyStructure: [ 0,10]-[20,10]-[40,10] MyStructure.SelectSerialBytes(15, 10, SerialStruct); would result in SerialStruct representing [25, 5]-[40, 5]
- Parameters
-
| FirstByte | The first byte to select, zero indexed. |
| Count | The number of bytes to provide. |
| OutputStructure | The structure receiving the blocks. |
- Returns
- the number of bytes selected.
◆ ToString()
| FString BuildPatchServices::FBlockStructure::ToString |
( |
uint64 |
BlockCountLimit = 20 | ) |
const |
Get a string representation of this block structure, with ability to limit the number of blocks to stringify. The string is formatted "[Offset,Size]-[Offset,Size].. %d more." e.g. "[0,10]-[20,10]-[40,10]." "[0,10]-[20,10]-[40,10].. 300 more."
- Parameters
-
| BlockCountLimit | The maximum number of blocks to include in the string. |
- Returns
- a string representation of this block structure.
The documentation for this class was generated from the following files: