Antkeeper  0.0.1
Public Member Functions | List of all members
serialize_context Struct Referenceabstract

Provides access to a serialization state. More...

#include <serialize-context.hpp>

Inheritance diagram for serialize_context:
physfs_serialize_context

Public Member Functions

virtual const std::filesystem::path & path () const noexcept=0
 Returns the path associated with this serialize context. More...
 
virtual bool error () const noexcept=0
 Returns true if an error occured during a write operation or initialization, false otherwise. More...
 
virtual std::size_t write8 (const std::byte *data, std::size_t count) noexcept(false)=0
 Writes 8-bit (byte) data. More...
 
virtual std::size_t write16_le (const std::byte *data, std::size_t count) noexcept(false)=0
 Writes 16-bit (word) little-endian data. More...
 
virtual std::size_t write16_be (const std::byte *data, std::size_t count) noexcept(false)=0
 Writes 16-bit (word) big-endian data. More...
 
template<std::endian Endian>
std::size_t write16 (const std::byte *data, std::size_t count) noexcept(false)
 Writes 16-bit (word) data. More...
 
virtual std::size_t write32_le (const std::byte *data, std::size_t count) noexcept(false)=0
 Writes 32-bit (double word) little-endian data. More...
 
virtual std::size_t write32_be (const std::byte *data, std::size_t count) noexcept(false)=0
 Writes 32-bit (double word) big-endian data. More...
 
template<std::endian Endian>
std::size_t write32 (const std::byte *data, std::size_t count) noexcept(false)
 Writes 32-bit (double word) data. More...
 
virtual std::size_t write64_le (const std::byte *data, std::size_t count) noexcept(false)=0
 Writes 64-bit (quad word) little-endian data. More...
 
virtual std::size_t write64_be (const std::byte *data, std::size_t count) noexcept(false)=0
 Writes 64-bit (quad word) big-endian data. More...
 
template<std::endian Endian>
std::size_t write64 (const std::byte *data, std::size_t count) noexcept(false)
 Writes 64-bit (quad word) data. More...
 

Detailed Description

Provides access to a serialization state.

Definition at line 30 of file serialize-context.hpp.

Member Function Documentation

◆ error()

virtual bool serialize_context::error ( ) const
pure virtualnoexcept

Returns true if an error occured during a write operation or initialization, false otherwise.

Implemented in physfs_serialize_context.

◆ path()

virtual const std::filesystem::path& serialize_context::path ( ) const
pure virtualnoexcept

Returns the path associated with this serialize context.

Implemented in physfs_serialize_context.

◆ write16()

template<std::endian Endian>
std::size_t serialize_context::write16 ( const std::byte *  data,
std::size_t  count 
)
inlinenoexcept

Writes 16-bit (word) data.

Template Parameters
EndianEndianness of the write operation.
Parameters
dataPointer to data source.
countNumber of words to write.
Returns
Number of words written.
Exceptions
serialize_errorWrite error.

Definition at line 92 of file serialize-context.hpp.

◆ write16_be()

virtual std::size_t serialize_context::write16_be ( const std::byte *  data,
std::size_t  count 
)
pure virtualnoexcept

Writes 16-bit (word) big-endian data.

Parameters
dataPointer to data source.
countNumber of words to write.
Returns
Number of words written.
Exceptions
serialize_errorWrite error.

Implemented in physfs_serialize_context.

◆ write16_le()

virtual std::size_t serialize_context::write16_le ( const std::byte *  data,
std::size_t  count 
)
pure virtualnoexcept

Writes 16-bit (word) little-endian data.

Parameters
dataPointer to data source.
countNumber of words to write.
Returns
Number of words written.
Exceptions
serialize_errorWrite error.

Implemented in physfs_serialize_context.

◆ write32()

template<std::endian Endian>
std::size_t serialize_context::write32 ( const std::byte *  data,
std::size_t  count 
)
inlinenoexcept

Writes 32-bit (double word) data.

Template Parameters
EndianEndianness of the write operation.
Parameters
dataPointer to data source.
countNumber of double words to write.
Returns
Number of double words written.
Exceptions
serialize_errorWrite error.

Definition at line 141 of file serialize-context.hpp.

◆ write32_be()

virtual std::size_t serialize_context::write32_be ( const std::byte *  data,
std::size_t  count 
)
pure virtualnoexcept

Writes 32-bit (double word) big-endian data.

Parameters
dataPointer to data source.
countNumber of double words to write.
Returns
Number of double words written.
Exceptions
serialize_errorWrite error.

Implemented in physfs_serialize_context.

◆ write32_le()

virtual std::size_t serialize_context::write32_le ( const std::byte *  data,
std::size_t  count 
)
pure virtualnoexcept

Writes 32-bit (double word) little-endian data.

Parameters
dataPointer to data source.
countNumber of double words to write.
Returns
Number of double words written.
Exceptions
serialize_errorWrite error.

Implemented in physfs_serialize_context.

◆ write64()

template<std::endian Endian>
std::size_t serialize_context::write64 ( const std::byte *  data,
std::size_t  count 
)
inlinenoexcept

Writes 64-bit (quad word) data.

Template Parameters
EndianEndianness of the write operation.
Parameters
dataPointer to data source.
countNumber of quad words to write.
Returns
Number of quad words written.
Exceptions
serialize_errorWrite error.

Definition at line 190 of file serialize-context.hpp.

◆ write64_be()

virtual std::size_t serialize_context::write64_be ( const std::byte *  data,
std::size_t  count 
)
pure virtualnoexcept

Writes 64-bit (quad word) big-endian data.

Parameters
dataPointer to data source.
countNumber of quad words to write.
Returns
Number of quad words written.
Exceptions
serialize_errorWrite error.

Implemented in physfs_serialize_context.

◆ write64_le()

virtual std::size_t serialize_context::write64_le ( const std::byte *  data,
std::size_t  count 
)
pure virtualnoexcept

Writes 64-bit (quad word) little-endian data.

Parameters
dataPointer to data source.
countNumber of quad words to write.
Returns
Number of quad words written.
Exceptions
serialize_errorWrite error.

Implemented in physfs_serialize_context.

◆ write8()

virtual std::size_t serialize_context::write8 ( const std::byte *  data,
std::size_t  count 
)
pure virtualnoexcept

Writes 8-bit (byte) data.

Parameters
dataPointer to data source.
countNumber of bytes to write.
Returns
Number of bytes written.
Exceptions
serialize_errorWrite error.

Implemented in physfs_serialize_context.


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