/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Base/include/util/stringbuffer.h
55 строк
849 B
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
#pragma once #include "rbx/Debug.h" #include <string> namespace RBX { class StringReadBuffer { std::string::const_iterator cur; const std::string& buffer; public: StringReadBuffer(const std::string& str) : buffer(str) { cur = buffer.begin(); } StringReadBuffer& operator >> (unsigned char& value) { RBXASSERT(cur != buffer.end()); if(cur == buffer.end()) { throw RBX::runtime_error("Reading past end of string"); } else { value = *cur++; } return *this; } bool eof() { return cur == buffer.end(); } }; class StringWriteBuffer { std::string buffer; public: StringWriteBuffer() : buffer(std::string()) { } StringWriteBuffer& operator << (unsigned char value) { buffer.push_back(value); return *this; } const std::string& str() { return buffer; } }; }