Foundation
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
Serialization.hpp File Reference
#include <Core/Container.hpp>
#include <Core/MemoryMapped.hpp>
#include <concepts>
#include <cstdint>
#include <cstring>
#include <type_traits>
#include <sys/types.h>

Go to the source code of this file.

Classes

struct  FBlobRef
 
struct  FWriter
 
struct  FReader
 
struct  MemoryWriter
 
struct  MemoryReader
 
struct  SpanWriter
 
struct  FBlobSerializer
 
struct  FBlobDeserializer
 
struct  MemoryBlobSerializer
 

Enumerations

enum class  FBlobCodec : uint32_t { None = 0 , LZ4 = 1 }
 

Functions

constexpr uint32_t fourCC (const char a, const char b, const char c, const char d)
 
constexpr uint32_t fourCC (char const str[5])
 
uint64_t AlignUpU64 (uint64_t value, uint64_t alignment)
 
void EnsureMappedFileSize (MemoryMappedFile &file, uint64_t requiredSize)
 
template<typename T >
void FSerialize (FWriter &w, const T &obj)
 
template<typename T >
void FDeserialize (FReader &r, T &obj)
 
template<typename T >
requires std::is_trivially_copyable_v<T>
void FSerialize (FWriter &writer, const T &obj)
 
template<typename T >
requires std::is_trivially_copyable_v<T>
void FDeserialize (FReader &reader, T &obj)
 
template<typename T >
void FSerialize (FWriter &writer, const Vector< T > &vec)
 
template<typename T , typename... Args>
void FDeserialize (FReader &reader, Vector< T > &vec, Args const &... args)
 
template<typename T >
void FSerialize (FWriter &writer, const Optional< T > &opt)
 
template<typename T , typename... Args>
void FDeserialize (FReader &reader, Optional< T > &opt, Args const &... args)
 

Enumeration Type Documentation

◆ FBlobCodec

enum class FBlobCodec : uint32_t
strong
Enumerator
None 
LZ4 

Function Documentation

◆ AlignUpU64()

uint64_t AlignUpU64 ( uint64_t  value,
uint64_t  alignment 
)

◆ EnsureMappedFileSize()

void EnsureMappedFileSize ( MemoryMappedFile file,
uint64_t  requiredSize 
)

◆ FDeserialize() [1/4]

template<typename T >
void FDeserialize ( FReader r,
T &  obj 
)

◆ FDeserialize() [2/4]

template<typename T , typename... Args>
void FDeserialize ( FReader reader,
Optional< T > &  opt,
Args const &...  args 
)

◆ FDeserialize() [3/4]

template<typename T >
requires std::is_trivially_copyable_v<T>
void FDeserialize ( FReader reader,
T &  obj 
)

◆ FDeserialize() [4/4]

template<typename T , typename... Args>
void FDeserialize ( FReader reader,
Vector< T > &  vec,
Args const &...  args 
)

◆ fourCC() [1/2]

constexpr uint32_t fourCC ( char const  str[5])
constexpr

◆ fourCC() [2/2]

constexpr uint32_t fourCC ( const char  a,
const char  b,
const char  c,
const char  d 
)
constexpr

◆ FSerialize() [1/4]

template<typename T >
void FSerialize ( FWriter w,
const T &  obj 
)

◆ FSerialize() [2/4]

template<typename T >
void FSerialize ( FWriter writer,
const Optional< T > &  opt 
)

◆ FSerialize() [3/4]

template<typename T >
requires std::is_trivially_copyable_v<T>
void FSerialize ( FWriter writer,
const T &  obj 
)

◆ FSerialize() [4/4]

template<typename T >
void FSerialize ( FWriter writer,
const Vector< T > &  vec 
)