userver: userver/utils Directory Reference
No Matches
utils Directory Reference
+ Directory dependency graph for utils:




 Small useful algorithms.
 Replacement for std::any that is not copyable. It allows to store non-copyable and even non-movable types.
 map-like heterogeneous data storage
 Helper algorithms to work with atomics.
 Generates UUIDv4.
 Remote storage for a single item. Implemented as a unique pointer that is never null, except when moved from.
 Data type that represents bytes per second unit.
 Holds the key and its hash for faster comparisons and hashing.
 Utility template for returning a pointer to an object that is owned by someone else; throws std::runtime_error if nullptr is stored.
 Functions for iterating over a constexpr range of integers.
 Date and Time related converters.
 Dictionary with special value for missing keys.
 Implementation of python-style enumerate function for range-for loops.
 Logs error_message and throws an exception ith that message.
 For holding a value or an error.
 Implements pimpl idiom without dynamic memory allocation.
 a helper class to perform actions on scope exit
 Space-efficient probabilistic data structure.
 A fixed-size array with the size determined at runtime.
 Types that provide flags interface to enums.
 Extract the number contained in the string. No space characters or other extra characters allowed. Supported types:
 A backport of std::function_ref from C++26.
 Exception that is thrown on UINVARIANT violation.
 IPv4 and IPv6 addresses and networks.
 Can be used with various emplace functions to allow in-place constructing a non-movable value using a callable.
 Factory function for boost::intrusive_ptr, like std::make_unique.
 Metaprogramming, template variables and concepts.
 Lightweight concepts.
 Mocking and getting mocked time values.
 Restricts a pointer or smart pointer to only hold non-null values.
 Class that behaves as a nullable reference. Main difference from the pointer - value comparison of pointed values.
 Helper functions for std optionals.
 Utility to define std::variant visitors in a simple way.
 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.
 Random number generators.
 Small alias for boost::regex / std::regex without huge includes.
 a helper class to perform actions on scope exit
 std::shared_ptr<const T> wrapper that makes sure that the pointer is stored before dereferencing. Protects from dangling references:
 Sliding interval of values that provides functions to compute average, min and max values from the last window_size values of interval.
 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.
 A polyfill for std::span from C++20.
 Case insensitive ASCII comparators and hashers.
 Contains utilities for working with containers with utils::StrCaseHash and utils::StrIcaseHash.
 Converts strings like "10s", "5d", "1h" to durations.
 Strong typedef for a type T.
 Text utilities that do not use locales.
 Functions for thread name manipulation.
 Functions to work with OS threads.
 A simple implementation of a "time since midnight" datatype.
 Exception that remembers the backtrace at the point of its construction.
 Bidirectional map|sets over string literals or other trivial types.
 Forward declarations of utils::TrivialBiMap and utils::TrivialSet types.
 Generate a UUIDv4 string.
 Generate a UUIDv7 string.
 std::void_t implementation with workarounds for compiler bugs