sead
Loading...
Searching...
No Matches
seadRamStream.h
Go to the documentation of this file.
1#ifndef SEAD_RAM_STREAM_H_
2#define SEAD_RAM_STREAM_H_
3
4#include <stream/seadStream.h>
5#include <stream/seadStreamSrc.h>
6
7namespace sead {
8
9class RamStreamSrc : public StreamSrc
10{
11public:
12 RamStreamSrc(void* start, u32 size);
13 ~RamStreamSrc();
14
15 u32 skip(s32 byte) override;
16 u32 read(void* dst, u32 size) override;
17 u32 write(const void* src, u32 size) override;
18 void rewind() override { mCurPos = 0; }
19 bool isEOF() override { return mCurPos >= mSize; }
20
21 u8* getCurrentAddres() const { return mStartAddr + mCurPos; }
22 u32 getCurrentPosition() const { return mCurPos; }
23
24protected:
28};
29#ifdef cafe
30static_assert(sizeof(RamStreamSrc) == 0x10);
31#endif // cafe
32
34{
35public:
36 RamReadStream(const void* start, u32 size, Modes mode);
37
38 u8* getCurrentAddres() const { return mRamStreamSrc.getCurrentAddres(); }
39 u32 getCurrentPosition() const { return mRamStreamSrc.getCurrentPosition(); }
40
41protected:
43};
44#ifdef cafe
45static_assert(sizeof(RamReadStream) == 0x20);
46#endif // cafe
47
48} // namespace sead
49
50#endif // SEAD_RAM_STREAM_H_
Definition seadRamStream.h:34
RamStreamSrc mRamStreamSrc
Definition seadRamStream.h:42
RamReadStream(const void *start, u32 size, Modes mode)
Definition seadRamStream.cpp:49
u8 * getCurrentAddres() const
Definition seadRamStream.h:38
u32 getCurrentPosition() const
Definition seadRamStream.h:39
Definition seadRamStream.h:10
bool isEOF() override
Definition seadRamStream.h:19
~RamStreamSrc()
Definition seadRamStream.cpp:13
void rewind() override
Definition seadRamStream.h:18
RamStreamSrc(void *start, u32 size)
Definition seadRamStream.cpp:6
u32 skip(s32 byte) override
Definition seadRamStream.cpp:17
u32 getCurrentPosition() const
Definition seadRamStream.h:22
u32 mCurPos
Definition seadRamStream.h:27
u32 write(const void *src, u32 size) override
Definition seadRamStream.cpp:39
u32 mSize
Definition seadRamStream.h:26
u8 * getCurrentAddres() const
Definition seadRamStream.h:21
u32 read(void *dst, u32 size) override
Definition seadRamStream.cpp:29
u8 * mStartAddr
Definition seadRamStream.h:25
Definition seadStream.h:51
Definition seadStreamSrc.h:9
Modes
Definition seadStream.h:16
Definition seadAssert.h:44