Releases: malachi-iot/estdlib
Releases · malachi-iot/estdlib
v0.8.2
v0.8.1
v0.8.1 - 31OCT24
Added Features
estd::num_put
for bools & integers now available- Supports foreign locales, encodings, 16 bit characters and more
- Compile-time tuning options
estd::variadic::values
getswhere
andcontains()
- #49 rudimentary byteswap
- #51 enhanced operators for
units
- #53
function_traits
now active
Known Issues & Limitations
- A full
num_put
is extensive functionality. Currently unsupported are floats, comma and decimal placement
Quality Updates & Bug Fixes
- #48 more flexible span constructor
basic_ispanbuf
and friends promoted fromexperimental
toestd
v0.8.0
Added Features
- Adding simplistic beta-quality memory pool. Located in
estd::internal::memory::pool
- Adding
make_heap
,push_heap
andpop_heap
Quality Updates & Bug Fixes
- #40 Fixed glitch in Streambuf c++20 concept
- #39 Upgraded & cleaned out internal
detail::function
- AVR pgm support additional testing & refinement
- Dogfooding internal
units
code intochrono
support - Fixed glitch in
variadic::values
when using non-integer types
Known Issues & Limitations
- Our heapify functions are crude and won't be as optimized as
std
.
Still, it's better than nothing
v0.7.2
v0.7.1
Added Features
- #31 Added
estd::detail::iostream
- #34 Added
uint_least64_t
and some othernumeric_traits
related goodies
Quality Updates & Bug Fixes
- Improved clang compatibility, especially with c++20 concepts and bipbuffer
- Fixed bug: 64-bit numeric_limits sometimes resolved to 32-bit
- #24 Switched default size_type of strings from
int16
->size_t
(can still override with policy) - #32 Fixed various tuple::visit edge cases
- #33 Fixed minor glitch with
dec
,hex
manipulator dependencies
v0.7.0
Added Features
estd::tuple
now can operate in sparse mode, meaning it can fold down to 0 size if all its members are also 0 size.- Wrapping willemt's awesome bipbuffer as
layer1::bipbuf
andlayer3::bipbuf
Added Features (internal)
Early access - marked internal mainly due to naming and API flux, but passes tests:
- Added
out_buffered_stringbuf
andout_bipbuf_streambuf
wrapper for "true" streambuf operations. These sit in front of a raw streambuf for additional caching. - Core units capability - including
bytes
andpercent
and SI helpers for converting to string
Quality Updates & Bug Fixes
- Bringing back
c_str()
to layer1 and layer2 strings - Various AVR and
estd::variadic
cleanup - Fixed bug in
to_chars
(#28)
v0.6.2
Added Features
- Formally an esp-idf component now
- Adding floating point support to
num_get
- Formalizing
estd::detail::to_chars
, an even lower-level interpretation ofto_chars
Quality Updates & Bug Fixes
- Using CMake's
FetchContent
now to acquire unit test frameworks rather than submodules - Minor breaking change: selector disambiguation
- v1 namespace - "selector" might mean API to select or result of selecting
- v2 namespace - "selector" only means API to select
- Fixed bug where hex 'a' was encoded incorrectly during
to_chars
Known Issues & Limitations
from_chars
doesn't yet get floating point, even thoughnum_get
does
v0.6.1
Added Features
estd::detail::string
is a more manageable way to pass strings around- Experimental/partial support for AVR PGM strings:
estd::v0::avr::pgm_string
Quality Updates & Bug Fixes
estd::tuple
now has conversion constructorestd::variant
on AVR now usable, with caveats (see next section)- String support code got a major scrub, though still a lot of crust in there
estd::vector
no longer does naughtymemmove
with non-trivial types
Known Issues & Limitations
estd::is_constructible
is broken on AVR. Possibly this is due to-fpermissive
default flagestd::variant
on AVR caveats:- Using
is_convertible
rather thanis_constructible
, for assignment
operator, so your mileage may vary when using more exotic types and constructors is_constructible
being how it is may negatively affect other areas. So far unit tests are OK though.- move semantic seems glitchy, destructs don't seem to get called
- Using
v0.6.0
NOTICE: License changed from MIT to APACHE 2.0
Added Features
- Added
estd::variant
- Added
estd::variadic
namespacevariadic::types
for compile-time management ofclass ...Types
variadic::values
for compile-time management ofT ...Values
(overlaps withestd::index_sequence
)variadic::selector
for compile-time evaluation ofclass ...Types
variadic::visitor
for runtime visitor pattern applied toclass ...Types
- Added ESTD_VERSION macro for compile-time version query
Quality Updates & Bug Fixes
is_base_of
no longer caught up on access modifierrs- General Arduino, AVR, c++03 compatibility
estd::optional
andestd::expected
much more robust- shares code base with
estd::variant
- when available, exceptions are now supported
- shares code base with
estd::num_get
and by extensionistream
integer parsing now returns min/max value on overflowestd::priority_queue
works on more targets
Known Issues & Limitations
estd::variant
not functional on AVR, probably bugs in #7
v0.5.1
Added Features
- Adding
setw
andsetfill
to ostream - Adding
estd::expected
andestd::unexpected
Quality Updates & Bug Fixes
- Fixing signed/unsigned mismatch in
out_span_streambuf
- Fixing
estd::optional
bug when usingreset
on enum type - Adding edge case optimization to
estd::tuple
(see FEATURE_ESTD_SPARSE_TUPLE)
Known Issues & Limitations
estd::expected
:- Not well tested outside of c++11 GCC, though designed to be compatible with c++03
- Various edge cases like returning && value() not yet implemented