annotate src/core/byte_stream.cc @ 372:a65a43766b22

dep/animone: atspi a11y impl didn't work at all and hit an assertion because paper can't code
author Paper <paper@tflc.us>
date Fri, 25 Jul 2025 11:02:29 -0400
parents 47c9f8502269
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
3 ByteStream::ByteStream(std::uint8_t *bytes, std::size_t size)
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
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
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
9 void ByteStream::ResetOffset()
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
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
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
14 void ByteStream::SetEndianness(ByteStream::ByteOrder endian)
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
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
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
19 bool ByteStream::ReadString(std::string &str, std::size_t size)
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
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
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
29 bool ByteStream::Advance(std::size_t amount)
47c9f8502269 *: clang-format all the things
Paper <paper@tflc.us>
parents: 364
diff changeset
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 }