Mercurial > minori
annotate src/core/byte_stream.cc @ 379:5eaafed6c10b
*: clang-format
| author | Paper <paper@tflc.us> |
|---|---|
| date | Wed, 05 Nov 2025 12:59:46 -0500 |
| parents | 47c9f8502269 |
| children |
| rev | line source |
|---|---|
|
364
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
1 #include "core/byte_stream.h" |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
2 |
| 369 | 3 ByteStream::ByteStream(std::uint8_t *bytes, std::size_t size) |
| 4 { | |
|
364
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
5 bytes_ = bytes; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
6 size_ = size; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
7 } |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
8 |
| 369 | 9 void ByteStream::ResetOffset() |
| 10 { | |
|
364
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
11 offset_ = 0; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
12 } |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
13 |
| 369 | 14 void ByteStream::SetEndianness(ByteStream::ByteOrder endian) |
| 15 { | |
|
364
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
16 endian_ = endian; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
17 } |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
18 |
| 369 | 19 bool ByteStream::ReadString(std::string &str, std::size_t size) |
| 20 { | |
|
364
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
21 if (offset_ + size >= size_) |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
22 return false; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
23 |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
24 str.assign(reinterpret_cast<const char *>(bytes_ + offset_), size); |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
25 Advance(size); |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
26 return true; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
27 } |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
28 |
| 369 | 29 bool ByteStream::Advance(std::size_t amount) |
| 30 { | |
|
364
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
31 if (offset_ + amount >= size_) |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
32 return false; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
33 |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
34 offset_ += amount; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
35 return true; |
|
99c961c91809
core: refactor out byte stream into its own file
Paper <paper@paper.us.eu.org>
parents:
diff
changeset
|
36 } |
