Releases: biojppm/c4core
Releases · biojppm/c4core
Release list
Release 0.4.0
- PR#167: fixes to
substr:.begins_with()and.ends_with()now return false when input length is 0
- PR#166: fixes to
substrandtype_name()substr:- improve SFINAE rules and overloads
- add member type
value_type
type_name():- make
noexcept - return a new dedicated type
TypeNameStr. This spares costly include of span.hpp
- make
- Improve std interop headers
- Fix:
from_chars_first()must usecsubstrfor the chars parameters - clang-tidy fixes with clang-22
- PR#161 Improve base64 facilities:
- Move encoding/decoding/validation to low-level functions without abstractions:
c4::base64_valid()c4::base64_encode()c4::base64_decode()
- Change the semantics of
base64_decode()to return true when decode succeeds, or false when decode fails or the output buffer is insufficient. - Move the formatting facilities to
c4/format_base64.hpp:c4::fmt::base64()c4::to_chars(buf, fmt::cbase64())c4::from_chars(buf, fmt::cbase64())
- Add
c4/std/string_view_fwd.hpp
- Move encoding/decoding/validation to low-level functions without abstractions:
Release 0.3.0
- PR#162:
- charconv.hpp:
- add implementation of
to_chars()for raw char pointers - improve
from_chars()for bool - minor simplification of
atoi_first()andatou_first()
- add implementation of
- format.hpp:
- simplify
boolalpha()implementation catrs()/catseprs()/formatrs(): resize to capacity before trying- fix
uncatsep(): forcesepas acsubstr, and enforce it cat()/catsep()/format(): add tests to ensure repeated args- improve implementation of
fmt::left()/fmt::right(). addfmt::center()
- simplify
- Improve doxygen comments
- charconv.hpp:
- PR#163:
to_chars():- ensure
char*/const char*(using strlen) overloads accept null pointer - add implementation for
nullptr_t
- ensure
- PR#164:
- Move
aalloc()et al to new hdr/src c4/alloc.hpp - Fix shared library exports, which were causing a link error in lld-link on Windows (see rapidyaml#600).
- Move
- PR#165:
c4/std/span.hppmissing from amalgamate.py.
Release 0.2.12
dump.hpp: fixc4::dump_directly<T>to useremove_cvref<T>such that references and consts are transitively handled.- base64 formatting: add wrapper version of
from_chars()
Release 0.2.11
- Fix #141: incorrect detection of clang-cl (PR#152). Also adds support for Visual Studio 2026.
- Fix missing value of
C4CORE_VERSIONin c4coreConfig.cmake (reported in rapidyaml#584).
Release 0.2.10
- Add traits class
c4::is_writeable_string<> c4/std/*.hppadapters: add missing forward declarations ofc4::is_string<>- Add default-less
csubstr::copy_from()to simplify implementations ofto_chars()/from_chars() - Minor internal changes in c4::substr
- Add C++20
std::span<char>andstd::span<const char>adapters in new headerc4/std/span.hpp
Release 0.2.9
- Add
c4::is_string<T>trait inc4/substr.hpp, and appropriate definitions forstd::string,std::string_viewandstd::vector<char>. Defaultc4::dump_directly<T>toc4::is_string<T>. - Minor cleanup to
c4::srclocinc4/error.hpp - Minor implementation changes in
c4::mem_repeat() - Suppress false-positive null-dereference warnings for GCC >6
- Update fast_float to 8.2.4
Release 0.2.8
Fixes
- charconv: fix conversion warning (triggered in clang 21)
Release 0.2.7
- enum symbols:
- remove useless
constin return value ofc4::esyms() - add overload for building from ptr,len
- remove useless
- dump.hpp: fix implicit typing in implementation of
c4::format_dump() - utf.hpp: add missing C4_EXPORT to
c4::decode_code_point() - fix warnings with cmake 4
Release 0.2.6
- PR#150: fix configure with cmake 4.
Release 0.2.5
- PR#149: Fix warnings from
-Wundef