A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Kinoko::EGG::Stream Class Referenceabstract

#include <Stream.hh>

Description

A stream of data, abstracted to allow for continuous seeking.

Definition at line 8 of file Stream.hh.

Inheritance diagram for Kinoko::EGG::Stream:

Public Member Functions

virtual void read (void *output, u32 size)=0
virtual void write (void *input, u32 size)=0
virtual bool eof () const =0
virtual bool safe (u32 size) const =0
virtual bool bad () const =0
void skip (u32 count)
void jump (u32 index)
void setEndian (std::endian endian)
u32 index () const
u8 read_u8 ()
u16 read_u16 ()
u32 read_u32 ()
u64 read_u64 ()
s8 read_s8 ()
s16 read_s16 ()
s32 read_s32 ()
s64 read_s64 ()
f32 read_f32 ()
f64 read_f64 ()
void write_u8 (u8 val)
void write_u16 (u16 val)
void write_u32 (u32 val)
void write_u64 (u64 val)
void write_s8 (s8 val)
void write_s16 (s16 val)
void write_s32 (s32 val)
void write_s64 (s64 val)
void write_f32 (f32 val)
void write_f64 (f64 val)

Protected Attributes

std::endian m_endian
u32 m_index

Private Member Functions

template<ParseableType T>
read ()
template<ParseableType T>
void write (T val)

Constructor & Destructor Documentation

◆ Stream()

Kinoko::EGG::Stream::Stream ( )

Definition at line 7 of file Stream.cc.

Member Function Documentation

◆ index()

u32 Kinoko::EGG::Stream::index ( ) const
inlinenodiscard

Definition at line 26 of file Stream.hh.

◆ jump()

void Kinoko::EGG::Stream::jump ( u32 index)

Definition at line 16 of file Stream.cc.

◆ read()

template<ParseableType T>
T Kinoko::EGG::Stream::read ( )
inlinenodiscardprivate

Definition at line 58 of file Stream.hh.

◆ read_f32()

f32 Kinoko::EGG::Stream::read_f32 ( )
nodiscard

Definition at line 53 of file Stream.cc.

◆ read_f64()

f64 Kinoko::EGG::Stream::read_f64 ( )
nodiscard

Definition at line 57 of file Stream.cc.

◆ read_s16()

s16 Kinoko::EGG::Stream::read_s16 ( )
nodiscard

Definition at line 41 of file Stream.cc.

◆ read_s32()

s32 Kinoko::EGG::Stream::read_s32 ( )
nodiscard

Definition at line 45 of file Stream.cc.

◆ read_s64()

s64 Kinoko::EGG::Stream::read_s64 ( )
nodiscard

Definition at line 49 of file Stream.cc.

◆ read_s8()

s8 Kinoko::EGG::Stream::read_s8 ( )
nodiscard

Definition at line 37 of file Stream.cc.

◆ read_u16()

u16 Kinoko::EGG::Stream::read_u16 ( )
nodiscard

Definition at line 25 of file Stream.cc.

◆ read_u32()

u32 Kinoko::EGG::Stream::read_u32 ( )
nodiscard

Definition at line 29 of file Stream.cc.

◆ read_u64()

u64 Kinoko::EGG::Stream::read_u64 ( )
nodiscard

Definition at line 33 of file Stream.cc.

◆ read_u8()

u8 Kinoko::EGG::Stream::read_u8 ( )
nodiscard

Definition at line 21 of file Stream.cc.

◆ setEndian()

void Kinoko::EGG::Stream::setEndian ( std::endian endian)
inline

Definition at line 22 of file Stream.hh.

◆ skip()

void Kinoko::EGG::Stream::skip ( u32 count)

Definition at line 11 of file Stream.cc.

◆ write()

template<ParseableType T>
void Kinoko::EGG::Stream::write ( T val)
inlineprivate

Definition at line 68 of file Stream.hh.

◆ write_f32()

void Kinoko::EGG::Stream::write_f32 ( f32 val)

Definition at line 93 of file Stream.cc.

◆ write_f64()

void Kinoko::EGG::Stream::write_f64 ( f64 val)

Definition at line 97 of file Stream.cc.

◆ write_s16()

void Kinoko::EGG::Stream::write_s16 ( s16 val)

Definition at line 81 of file Stream.cc.

◆ write_s32()

void Kinoko::EGG::Stream::write_s32 ( s32 val)

Definition at line 85 of file Stream.cc.

◆ write_s64()

void Kinoko::EGG::Stream::write_s64 ( s64 val)

Definition at line 89 of file Stream.cc.

◆ write_s8()

void Kinoko::EGG::Stream::write_s8 ( s8 val)

Definition at line 77 of file Stream.cc.

◆ write_u16()

void Kinoko::EGG::Stream::write_u16 ( u16 val)

Definition at line 65 of file Stream.cc.

◆ write_u32()

void Kinoko::EGG::Stream::write_u32 ( u32 val)

Definition at line 69 of file Stream.cc.

◆ write_u64()

void Kinoko::EGG::Stream::write_u64 ( u64 val)

Definition at line 73 of file Stream.cc.

◆ write_u8()

void Kinoko::EGG::Stream::write_u8 ( u8 val)

Definition at line 61 of file Stream.cc.

Member Data Documentation

◆ m_endian

std::endian Kinoko::EGG::Stream::m_endian
protected

Definition at line 53 of file Stream.hh.

◆ m_index

u32 Kinoko::EGG::Stream::m_index
protected

Definition at line 54 of file Stream.hh.