|
| algo.hpp |
| Small useful algorithms.
|
|
| any_movable.hpp |
| Replacement for std::any that is not copyable. It allows to store non-copyable and even non-movable types.
|
|
| any_storage.hpp |
| map-like heterogeneous data storage
|
|
| assert.hpp |
| Assertion macros UASSERT, UASSERT_MSG, UINVARIANT.
|
|
| atomic.hpp |
| Helper algorithms to work with atomics.
|
|
| boost_uuid4.hpp |
| Generates UUIDv4.
|
|
| boost_uuid7.hpp |
|
| box.hpp |
| Remote storage for a single item. Implemented as a unique pointer that is never null , except when moved from.
|
|
| bytes_per_second.hpp |
| Data type that represents bytes per second unit.
|
|
| cached_hash.hpp |
| Holds the key and its hash for faster comparisons and hashing.
|
|
| checked_pointer.hpp |
| Utility template for returning a pointer to an object that is owned by someone else; throws std::runtime_error if nullptr is stored.
|
|
| constexpr_indices.hpp |
| Functions for iterating over a constexpr range of integers.
|
|
| datetime.hpp |
| Date and Time related converters.
|
|
| default_dict.hpp |
| Dictionary with special value for missing keys.
|
|
| enumerate.hpp |
| Implementation of python-style enumerate function for range-for loops.
|
|
| exception.hpp |
| Logs error_message and throws an exception ith that message.
|
|
| expected.hpp |
| For holding a value or an error.
|
|
| fast_pimpl.hpp |
| Implements pimpl idiom without dynamic memory allocation.
|
|
| fast_scope_guard.hpp |
| a helper class to perform actions on scope exit
|
|
| filter_bloom.hpp |
| Space-efficient probabilistic data structure.
|
|
| fixed_array.hpp |
| A fixed-size array with the size determined at runtime.
|
|
| flags.hpp |
| Types that provide flags interface to enums.
|
|
| fmt_compat.hpp |
|
| from_string.hpp |
| Extract the number contained in the string. No space characters or other extra characters allowed. Supported types:
|
|
| function_ref.hpp |
| A backport of std::function_ref from C++26.
|
|
| get_if.hpp |
|
|
|
| invariant_error.hpp |
| Exception that is thrown on UINVARIANT violation.
|
|
| ip.hpp |
| IPv4 and IPv6 addresses and networks.
|
|
| lazy_prvalue.hpp |
| Can be used with various emplace functions to allow in-place constructing a non-movable value using a callable.
|
|
| macaddr.hpp |
|
| make_intrusive_ptr.hpp |
| Factory function for boost::intrusive_ptr, like std::make_unique.
|
|
| meta.hpp |
| Metaprogramming, template variables and concepts.
|
|
| meta_light.hpp |
| Lightweight concepts.
|
|
| mock_now.hpp |
| Mocking and getting mocked time values.
|
|
| not_null.hpp |
| Restricts a pointer or smart pointer to only hold non-null values.
|
|
| numeric_cast.hpp |
|
|
|
| optional_ref.hpp |
| Class that behaves as a nullable reference. Main difference from the pointer - value comparison of pointed values.
|
|
| optionals.hpp |
| Helper functions for std optionals.
|
|
| overloaded.hpp |
| Utility to define std::variant visitors in a simple way.
|
|
| projected_set.hpp |
| A std::unordered_set that compares its elements (of type Value) based on their Projection. It allows to create, essentially, an equivalent of std::unordered_map where keys are stored inside values.
|
|
| rand.hpp |
| Random number generators.
|
|
| regex.hpp |
| Small alias for boost::regex / std::regex without huge includes.
|
|
| result_store.hpp |
|
|
|
| scope_guard.hpp |
| a helper class to perform actions on scope exit
|
|
| shared_readable_ptr.hpp |
| std::shared_ptr<const T> wrapper that makes sure that the pointer is stored before dereferencing. Protects from dangling references:
|
|
| sliding_interval.hpp |
| Sliding interval of values that provides functions to compute average, min and max values from the last window_size values of interval.
|
|
| small_string.hpp |
| An alternative to std::string with a custom SSO (small string optimization) container size. Unlike std::string, SmallString is not null-terminated thus it has no c_str(), data() returns a not null-terminated buffer.
|
|
| small_string_fwd.hpp |
|
| small_string_serialization.hpp |
|
| span.hpp |
|
|
|
| str_icase.hpp |
| Case insensitive ASCII comparators and hashers.
|
|
| str_icase_containers.hpp |
| Contains utilities for working with containers with utils::StrCaseHash and utils::StrIcaseHash.
|
|
| string_to_duration.hpp |
| Converts strings like "10s", "5d", "1h" to durations.
|
|
| strong_typedef.hpp |
| Strong typedef for a type T.
|
|
| swappingsmart.hpp |
|
| text_light.hpp |
| Text utilities that do not use locales.
|
|
| thread_name.hpp |
| Functions for thread name manipulation.
|
|
| threads.hpp |
| Functions to work with OS threads.
|
|
| time_of_day.hpp |
| A simple implementation of a "time since midnight" datatype.
|
|
| token_bucket.hpp |
|
|
|
| traceful_exception.hpp |
| Exception that remembers the backtrace at the point of its construction.
|
|
| trivial_map.hpp |
| Bidirectional map|sets over string literals or other trivial types.
|
|
| trivial_map_fwd.hpp |
| Forward declarations of utils::TrivialBiMap and utils::TrivialSet types.
|
|
| underlying_value.hpp |
|
|
|
| uuid4.hpp |
| Generate a UUIDv4 string.
|
|
| uuid7.hpp |
| Generate a UUIDv7 string.
|
|
| void_t.hpp |
| std::void_t implementation with workarounds for compiler bugs
|
|