userver: userver/utils Directory Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
utils Directory Reference

Table of Contents

+ Directory dependency graph for utils:

Directories

 datetime
 
 encoding
 
 impl
 

Files

 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