Skip to content

Releases: SolidWallOfCode/libswoc

Doc around the clock

09 Aug 15:10
Compare
Choose a tag to compare

Primarily this has a lot of improvements in the documentation and particularly Doxygen support.

Features:

  • TextView is now a drop in replacement for std::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

24 May 15:54
Compare
Choose a tag to compare

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 from std::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

04 Mar 17:12
Compare
Choose a tag to compare

Minor fixes for clang 13 and FreeBSD 13 compatibility.
Added generic TextView constructor, to construct from any "string like" class.

Clang the Thirteenth

20 Feb 17:59
a21d98e
Compare
Choose a tag to compare

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

08 Feb 15:58
Compare
Choose a tag to compare

This version was added to the ATS codebase.
Minor fixes in TransformView to compile with g++ 11.

Let me know if I should panic

13 Jan 19:16
Compare
Choose a tag to compare

A small release

  • The annotation methods for Errata have been changed so that if a severity is provided, the Errata 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!

12 Jan 00:01
Compare
Choose a tag to compare

Add the sink method to Errata to enable explicit logging via sinks.

Update and apply clang formatting to be more ATS like.

Erratum

11 Jan 03:12
Compare
Choose a tag to compare

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?

05 Nov 14:13
Compare
Choose a tag to compare
  • Fix bug in Errata where memory wasn't locked down and could result in a use after free.
  • Change Errata::SEVERITY_NAMES to be MemSpan<const TextView> for easier use on constant data.
  • Change IPEndpoint::port to IPEndpoint::network_order_port to maintain consistency with ATS core.
  • Added example of parsing "/proc/diskstats" to JSON.

Just a small erratum

01 Oct 16:21
Compare
Choose a tag to compare

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 where Errata is used generally already have a defined level of severities and Errata should accommodate that.
  • The error code is std::error_code for overall simplicity and compatibility.