userver: userver/utils Directory Reference
Loading...
Searching...
No Matches
utils Directory Reference

Directories

 datetime
 
 encoding
 

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_filesystem_file_status.hpp
 
 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
 
 distances.hpp
 Distances between strings and nearest string suggestions.
 
 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.
 
 resources.hpp
 
 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
 A polyfill for std::span from C++20.
 
 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.
 
 strerror.hpp
 /// MT-safe version of POSIX functions ::strerror and ::strsignal
 
 string_to_duration.hpp
 Converts strings like "10s", "5d", "1h" to durations.
 
 strong_typedef.hpp
 
 struct_subsets.hpp
 Utilities for creating a struct with a subset of fields of the original struct, with conversions between them.
 
 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
 Function that extracts integral value from enum or StrongTypedef.
 
 uuid4.hpp
 Generate a UUIDv4 string.
 
 uuid7.hpp
 Generate a UUIDv7 string.
 
 void_t.hpp
 std::void_t implementation with workarounds for compiler bugs