C++20 compile-time type-safe configuration library.
Definition conf.h:13
Thread policy for multi-threaded usage.
Definition thread_policy.h:61
std::shared_mutex mutex_type
Standard shared mutex for reader-writer locking.
Definition thread_policy.h:63
std::shared_lock< std::shared_mutex > shared_lock
Shared (reader) lock — multiple threads may hold simultaneously.
Definition thread_policy.h:66
std::unique_lock< std::shared_mutex > unique_lock
Unique (writer) lock — exclusive access.
Definition thread_policy.h:69
No-op mutex type (lower_case to satisfy C++ BasicLockable/SharedLockable).
Definition thread_policy.h:20
void unlock()
Definition thread_policy.h:22
void lock_shared()
Definition thread_policy.h:23
void lock()
Definition thread_policy.h:21
void unlock_shared()
Definition thread_policy.h:24
No-op shared (reader) lock (mirrors std::shared_lock).
Definition thread_policy.h:28
shared_lock(mutex_type &)
Definition thread_policy.h:29
auto operator=(const shared_lock &) -> shared_lock &=delete
shared_lock(shared_lock &&)=delete
shared_lock(const shared_lock &)=delete
auto operator=(shared_lock &&) -> shared_lock &=delete
No-op unique (writer) lock (mirrors std::unique_lock).
Definition thread_policy.h:39
unique_lock(mutex_type &)
Definition thread_policy.h:40
unique_lock(unique_lock &&)=delete
auto operator=(const unique_lock &) -> unique_lock &=delete
unique_lock(const unique_lock &)=delete
auto operator=(unique_lock &&) -> unique_lock &=delete
Thread policy for single-threaded usage (zero overhead).
Definition thread_policy.h:18