Foundation
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
FBlobSerializer Struct Reference

#include <Serialization.hpp>

Public Member Functions

 FBlobSerializer (MemoryMappedFile &file, uint64_t &writeOffset, uint64_t baseOffset=0, Allocator *scratchAlloc=GLOBAL_ALLOC)
 
Span< unsigned char > Allocate (uint64_t size, uint64_t alignment, uint64_t &outPayloadOffset)
 
FBlobRef AppendBytes (const void *data, size_t size, uint32_t count, uint32_t stride, FBlobCodec codec=FBlobCodec::None, uint64_t alignment=16)
 
template<typename T >
FBlobRef AppendArray (Vector< T > const &values, FBlobCodec codec=FBlobCodec::None)
 

Public Attributes

MemoryMappedFilefile
 
uint64_t & writeOffset
 
uint64_t baseOffset {0}
 
AllocatorscratchAlloc {GLOBAL_ALLOC}
 

Constructor & Destructor Documentation

◆ FBlobSerializer()

FBlobSerializer::FBlobSerializer ( MemoryMappedFile file,
uint64_t &  writeOffset,
uint64_t  baseOffset = 0,
Allocator scratchAlloc = GLOBAL_ALLOC 
)
explicit

Member Function Documentation

◆ Allocate()

Span< unsigned char > FBlobSerializer::Allocate ( uint64_t  size,
uint64_t  alignment,
uint64_t &  outPayloadOffset 
)

◆ AppendArray()

template<typename T >
FBlobRef FBlobSerializer::AppendArray ( Vector< T > const &  values,
FBlobCodec  codec = FBlobCodec::None 
)
inline

◆ AppendBytes()

FBlobRef FBlobSerializer::AppendBytes ( const void *  data,
size_t  size,
uint32_t  count,
uint32_t  stride,
FBlobCodec  codec = FBlobCodec::None,
uint64_t  alignment = 16 
)

Member Data Documentation

◆ baseOffset

uint64_t FBlobSerializer::baseOffset {0}

◆ file

MemoryMappedFile& FBlobSerializer::file

◆ scratchAlloc

Allocator* FBlobSerializer::scratchAlloc {GLOBAL_ALLOC}

◆ writeOffset

uint64_t& FBlobSerializer::writeOffset

The documentation for this struct was generated from the following files: