Skip to content

v1.3.1

Latest
Compare
Choose a tag to compare
@dakka dakka released this 10 Mar 19:25
· 10 commits to master since this release

Major update! In summary:

  • Lightweight, header-only: No need for separate compilation units, making it easy to integrate.
  • Efficient: Avoids unnecessary string copies by using std::string_view to return components identified by enums.
  • Convenient: Provides familiar has_* and get_* methods for ease of use.
  • Lots of features: Includes percent-decoding, query/segment decoding, normalization, and printing.
  • Optimized: All methods are constexpr, the base class has a small footprint (only 64 bytes), and there are no virtual methods, leading to potentially faster compiled code.
  • Flexible: Optionally stores the source URI in a std::string or statically, making it suitable for various container uses.
  • Editable: Provides editing capabilities for modifying URIs.
  • Thoroughly tested: Includes a large set of built-in test cases that can be easily expanded.
  • RFC 3986 compliant: Mostly adheres to the standard with minimal deviations.
  • Performance-wise, the library has been tested with GCC 13 and Clang 16, showing an average decoding time of around 52ns for a typical URI.
  • Fully documented: API, testing examples