Releases: SolidWallOfCode/libswoc
Doc around the clock
Primarily this has a lot of improvements in the documentation and particularly Doxygen support.
Features:
TextViewis now a drop in replacement forstd::string_viewfor 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
charpointers. - 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_radixwhere overflow might not be detected. MemSpannow supports conversion from non-const to const.MemSpancan 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
Erratahave been changed so that if a severity is provided, theErratainstance is updated if that severity is larger. - The method
Errata::updatewas 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
Erratawhere memory wasn't locked down and could result in a use after free. - Change
Errata::SEVERITY_NAMESto beMemSpan<const TextView>for easier use on constant data. - Change
IPEndpoint::porttoIPEndpoint::network_order_portto 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.
Erratainstances now have a error code and severity, not each annotation. This makes use much cleaner.Errataseverity now has a very simple default, but can be overridden locally. This is more work but needed because places whereErratais used generally already have a defined level of severities andErratashould accommodate that.- The error code is
std::error_codefor overall simplicity and compatibility.