Releases: SolidWallOfCode/libswoc
Doc around the clock
Primarily this has a lot of improvements in the documentation and particularly Doxygen support.
Features:
TextView
is now a drop in replacement forstd::string_view
for hash based containers.- Better memory alignment support in
MemSpan
- void spans can be explicitly aligned. - Better memory alignment support in
MemArena
- the remnant can now be accessed in a typed and memory aligned way. - Fixed TextView issue with construction from
char
pointers. - For CMake, building the test and example code is optional.
Vectray cruising
A number of fixes and improvements.
- Added initial prototype of class
Vectray
. This is a compromise between a vector and an array. It provides the static allocation of an array up to a compile time limit, then internally changes to dynamic memory if the array storage is exhausted. - Fixed edge case in
svto_radix
where overflow might not be detected. MemSpan
now supports conversion from non-const to const.MemSpan
can be automatically constructed fromstd::array
.- Added "lru_cache" example for a fast LRU cache using intrusive containers.
- Improved
TextView::assign
. - Tweaked Unit Parser example.
- Hash support for
IPAddr
,IP4Addr
,IP6Addr
. - Access to IPv6 address as
MemSpan
.
Free the BSD 13
Minor fixes for clang 13 and FreeBSD 13 compatibility.
Added generic TextView
constructor, to construct from any "string like" class.
Clang the Thirteenth
This contains quite a bit of cleanup in the IP support, primarily better comments. The primary goal was to make it compile with clang 13, which was required by ATS. See PR 8669.
ATS Drop
This version was added to the ATS codebase.
Minor fixes in TransformView
to compile with g++ 11.
Let me know if I should panic
A small release
- The annotation methods for
Errata
have been changed so that if a severity is provided, theErrata
instance is updated if that severity is larger. - The method
Errata::update
was added to explicitly perform the same action, setting the severity to the max of the current and provided severity. - Documentation updates corresponding to this change.
You sunk my Errata!
Add the sink
method to Errata
to enable explicit logging via sinks.
Update and apply clang formatting to be more ATS like.
Erratum
This version updates Errata
with several changes.
- Each annotation can have a severity, but this is optional.
- Annotations can be filtered by a minimum severity - annotation that have a severity less than this are not added.
- Updates to documentation and code comments to be closer to the actual implementation.
TextView
was updated with tweaked constructors to enable constructing from a single char const*
in most situations.
Where's my memory?
- Fix bug in
Errata
where memory wasn't locked down and could result in a use after free. - Change
Errata::SEVERITY_NAMES
to beMemSpan<const TextView>
for easier use on constant data. - Change
IPEndpoint::port
toIPEndpoint::network_order_port
to maintain consistency with ATS core. - Added example of parsing "/proc/diskstats" to JSON.
Just a small erratum
Primarily this is a refactoring of Errata
which is a large change, hence bumping the minor version number.
Errata
instances now have a error code and severity, not each annotation. This makes use much cleaner.Errata
severity now has a very simple default, but can be overridden locally. This is more work but needed because places whereErrata
is used generally already have a defined level of severities andErrata
should accommodate that.- The error code is
std::error_code
for overall simplicity and compatibility.