Commit graph

17 commits

Author SHA1 Message Date
Chaosvex
bb4e0ffb35
Clang Docker build (#202) 2026-03-12 15:04:55 +00:00
Chaosvex
303a2951e3 Update stream calls to take advantage of the updated API 2026-02-21 22:50:38 +00:00
Chaosvex
09559aaf44
Change enum casing across the whole project (#137) 2026-02-19 01:25:02 +00:00
Thorbjørn H.H. Sindrup
d283f8da00
Missing include (#93)
libc++ missing this include, otherwise it'll throw a fit about not knowing ranges::iota
2025-04-26 01:19:29 +01:00
Chaosvex
5920610018 Allow specifying no_throw for polymorphic streams 2025-04-10 16:46:13 +01:00
Chaosvex
8b5d8b1c63
Bring Spark buffers up to date with Hexi version (#67) 2025-04-04 21:30:52 +01:00
Chaosvex
9cc5210f66 Add support for writing to std::array with BufferAdaptor 2025-04-03 16:36:27 +01:00
Chaosvex
751bf40316
Implement improved string handling for BinaryStream (#66)
Provides adaptors for explicitly specifying how strings should be handled with being serialised and deserialised. These adaptors are:

`raw()` - write the data exactly as in
`null_terminated` - ensure the string is written with a null terminator - strings with embedded null bytes are *not* allowed (but is only enforced in debug) as retrieving such a string would stop at the first embedded null. This is user error is mostly semantics.
`prefixed` - prefixes the length before the string, no terminator is written.
`prefixed_varint` - prefixes the length, encoded as a varint, no terminator is written. This is more compact but slower than `prefixed`

All adaptors can be used both as input and output, with the exception of `raw()`. Retrieving strings written using `raw` requires the user to know specifics about the string content (i.e. whether it has embedded nulls or its length), so `.get()` should be used.
2025-03-30 15:29:46 +01:00
Chaosvex
59f4339ce0 Add unit tests for BinaryStream::set_error_state() 2025-03-24 11:55:56 +00:00
Chaosvex
9591eb4849 Replace iterator loops with ranged for 2025-03-19 06:29:46 +00:00
Chaosvex
355e3b3475 Prune IO headers 2025-03-09 00:24:00 +00:00
Chaosvex
b4677d297b Update GSL to 4.1.0 2025-02-06 16:32:42 +00:00
Chaosvex
d0f7b641ec Using namespace in unit tests
Minor consistency nitpick
2024-12-24 01:15:35 +00:00
Chaosvex
adece9c0ef Replace iota/shuffle with ranges equivalent 2024-09-28 19:40:28 +01:00
Chaosvex
70e1a804ad
Introduce ranges (#52)
Convert some algorithms to ranges
2024-09-10 00:11:41 +01:00
Chaosvex
283351c181 Add (c)string_view support to PMR BinaryStreamWriter 2024-08-27 21:32:13 +01:00
Chaosvex
9df9f59866 Rename unit tests 2024-08-27 14:20:07 +01:00
Renamed from tests/BinaryStreamV2.cpp (Browse further)