| 1234567891011121314151617181920212223242526272829 |
- #ifndef BASIC_BUFFER_H
- #define BASIC_BUFFER_H
- #include "Types.h"
- typedef struct {
- u8* data;
- size_t maxIndex;
- size_t readIndex;
- size_t writeIndex;
- } Buffer;
- void bufferInit(Buffer* b);
- void bufferDestroy(Buffer* b);
- void bufferReset(Buffer* b);
- [[nodiscard]] bool bufferWrite(Buffer* b, const void* p, size_t n);
- [[nodiscard]] bool bufferRead(Buffer* b, void* p, size_t n);
- #define BUFFER_READ_WRITE(Type, type) \
- [[nodiscard]] bool bufferWrite##Type(Buffer* b, type t); \
- [[nodiscard]] bool bufferRead##Type(Buffer* b, type* t)
- BUFFER_READ_WRITE(I32, i32);
- BUFFER_READ_WRITE(U8, u8);
- [[nodiscard]] bool bufferWriteString(Buffer* b, const char* s);
- const char* bufferReadString(Buffer* b);
- #endif
|