Skip to content

Releases: HexaEngine/Hexa.NET.Utilities.Native

0.1.0.0 Initial Release

05 Apr 17:09
226cdff

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

Planned additions:

  • Additional synchronization primitives
  • More utility types

[0.1.0.0] - Initial Release

Added

  • ReaderWriterLock — lock-free reader-writer lock built on C++20 atomics
    • Multiple concurrent readers with exclusive writer access
    • Writer fairness: writers are not starved by incoming readers
    • ReaderWriterLock_Init — initializes the lock
    • ReaderWriterLock_LockRead / ReaderWriterLock_UnlockRead — blocking read acquisition
    • ReaderWriterLock_TryLockRead — non-blocking read acquisition
    • ReaderWriterLock_LockWrite / ReaderWriterLock_UnlockWrite — blocking write acquisition
    • ReaderWriterLock_TryLockWrite — non-blocking write acquisition with optional writer-fairness preservation
  • C-compatible API (HEXA_UTILS_API) for P/Invoke interop from Hexa.NET.Utilities
  • CMake build system with shared/static library support (BUILD_SHARED_LIBS)
  • Cross-platform export macros supporting Windows (__declspec), GCC, and Clang