Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef BYTEBUFFER_H
- #define BYTEBUFFER_H
- #include <vector>
- #include <cstdint>
- #include <string>
- // Version: 1.0.2
- class ByteBuffer {
- std::vector<char> vec;
- size_t readIndex = 0;
- bool dontSwap = true;
- public:
- ByteBuffer() = default;
- explicit ByteBuffer(bool littleEndian);
- ByteBuffer(const char *data, size_t length);
- ByteBuffer(const char *data, size_t length, bool littleEndian);
- void setUint8(size_t index, uint8_t val);
- void putUint8(uint8_t val);
- uint8_t getUint8();
- uint8_t getUint8(size_t index);
- void setInt8(size_t index, int8_t val);
- void putInt8(int8_t val);
- int8_t getInt8();
- int8_t getInt8(size_t index);
- void setUint16(size_t index, uint16_t val);
- void putUint16(uint16_t val);
- uint16_t getUint16();
- uint16_t getUint16(size_t index);
- void setInt16(size_t index, int16_t val);
- void putInt16(int16_t val);
- int16_t getInt16();
- int16_t getInt16(size_t index);
- void setUint32(size_t index, uint32_t val);
- void putUint32(uint32_t val);
- uint32_t getUint32();
- uint32_t getUint32(size_t index);
- void setInt32(size_t index, int32_t val);
- void putInt32(int32_t val);
- int32_t getInt32();
- int32_t getInt32(size_t index);
- void setFloat32(size_t index, float val);
- void putFloat32(float val);
- float getFloat32();
- float getFloat32(size_t index);
- void setFloat64(size_t index, double val);
- void putFloat64(double val);
- double getFloat64();
- double getFloat64(size_t index);
- void setLittleEndian(bool le);
- bool isLittleEndian();
- void setUTF16(size_t index, std::u16string str);
- void putUTF16(std::u16string str);
- std::u16string getUTF16();
- std::u16string getUTF16(size_t index);
- void setUTF8(size_t index, std::string str);
- void putUTF8(std::string str);
- std::string getUTF8();
- std::string getUTF8(size_t index);
- void erase(size_t index, size_t count = 1);
- std::vector<char> getVector();
- char* getData();
- size_t size();
- std::string toString();
- };
- #endif //BYTEBUFFER_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement