Ark Server API (ASA) - Wiki
|
#include <CompactBinary.h>
Protected Member Functions | |
constexpr | TCbFieldIterator (FieldType InField) |
constexpr | TCbFieldIterator (FieldType &&InField, const void *InFieldsEnd) |
Static Protected Member Functions | |
template<typename OtherFieldType > | |
static const void * | GetFieldsEnd (const TCbFieldIterator< OtherFieldType > &It) |
Private Attributes | |
const void * | FieldsEnd = nullptr |
Friends | |
template<typename OtherType > | |
class | TCbFieldIterator |
Iterator for FCbField[View] that can operate on any contiguous range of fields.
The iterator is the current field that the iterator points to and exposes the full interface of FCbField[View]. An iterator that is at the end is equivalent to a field with no value.
The iterator represents a range of fields from the current field to the last field.
Definition at line 341 of file CompactBinary.h.
|
constexprdefault |
Construct an empty field range.
|
inlineexplicitconstexprprotected |
Construct a field range that contains exactly one field.
Definition at line 425 of file CompactBinary.h.
|
inlineconstexprprotected |
Construct a field range from the first field and a pointer to the end of the last field.
InField | The first field, or the default field if there are no fields. |
InFieldsEnd | A pointer to the end of the value of the last field, or null. |
Definition at line 437 of file CompactBinary.h.
void TCbFieldIterator< FieldType >::AppendRangeHash | ( | FIoHashBuilder & | Builder | ) | const |
Append the hash of every field in the range.
|
inlineconstexpr |
DO NOT USE DIRECTLY. These functions enable range-based for loop support.
Definition at line 420 of file CompactBinary.h.
void TCbFieldIterator< FieldType >::CopyRangeTo | ( | FArchive & | Ar | ) | const |
Copy the field range into an archive, as if calling CopyTo on every field.
void TCbFieldIterator< FieldType >::CopyRangeTo | ( | FMutableMemoryView | Buffer | ) | const |
Copy the field range into a buffer of exactly GetRangeSize() bytes.
|
inlineconstexpr |
Definition at line 421 of file CompactBinary.h.
|
inlineconstexpr |
Definition at line 373 of file CompactBinary.h.
|
inlinestaticprotected |
Returns the end of the last field, or null for an iterator at the end.
Definition at line 445 of file CompactBinary.h.
FIoHash TCbFieldIterator< FieldType >::GetRangeHash | ( | ) | const |
Calculate the hash of every field in the range.
uint64 TCbFieldIterator< FieldType >::GetRangeSize | ( | ) | const |
Returns the size of the fields in the range in bytes.
void TCbFieldIterator< FieldType >::IterateRangeAttachments | ( | FCbFieldVisitor | Visitor | ) | const |
Invoke the visitor for every attachment in the field range.
|
inlineconstexpr |
Definition at line 391 of file CompactBinary.h.
|
inlineconstexpr |
Definition at line 385 of file CompactBinary.h.
|
inlineconstexpr |
Definition at line 356 of file CompactBinary.h.
TCbFieldIterator & TCbFieldIterator< FieldType >::operator++ | ( | ) |
|
inline |
Definition at line 349 of file CompactBinary.h.
|
inlineconstexpr |
Definition at line 357 of file CompactBinary.h.
|
inlineconstexpr |
Definition at line 390 of file CompactBinary.h.
|
inlineconstexpr |
Definition at line 379 of file CompactBinary.h.
|
inline |
Reset this to an empty field range.
Definition at line 360 of file CompactBinary.h.
|
inline |
Try to get a view of every field in the range as they would be serialized.
A view is available if each field contains its type. Access the equivalent for other field ranges through FCbFieldIterator::CloneRange or CopyRangeTo.
Definition at line 408 of file CompactBinary.h.
Definition at line 452 of file CompactBinary.h.
|
private |
Pointer to the first byte past the end of the last field. Set to null at the end.
Definition at line 455 of file CompactBinary.h.