userver: utils::generators Namespace Reference
Loading...
Searching...
No Matches
utils::generators Namespace Reference

Detailed Description

Generators.

Namespaces

namespace  ns
 RFC 9562 name-based UUID namespace IDs (same as boost::uuids::ns::*, see boost_uuid5.cpp).
 

Functions

boost::uuids::uuid GenerateBoostUuid ()
 Generates UUIDv4.
 
boost::uuids::uuid GenerateBoostUuidV5 (const boost::uuids::uuid &namespace_uuid, std::string_view name)
 
boost::uuids::uuid GenerateBoostUuidV7 ()
 Generates UUIDv7.
 
std::string GenerateUuid ()
 Generate a UUIDv4 string.
 
std::string GenerateUuidV7 ()
 Generate a UUIDv7 string.
 

Function Documentation

◆ GenerateBoostUuidV5()

boost::uuids::uuid utils::generators::GenerateBoostUuidV5 ( const boost::uuids::uuid & namespace_uuid,
std::string_view name )

Generates UUIDv5 (name-based, SHA-1) for the given namespace and name

See also
https://datatracker.ietf.org/doc/html/rfc9562#section-5.5

◆ GenerateBoostUuidV7()

boost::uuids::uuid utils::generators::GenerateBoostUuidV7 ( )

Generates UUIDv7.

Uses 22-bit counter to ensure UUID's monotonicity in generated batches or for the same timestamp and timestamp incrementation as counter rollover handler.

See RFC for detailed info: https://datatracker.ietf.org/doc/html/rfc9562#name-uuid-version-7 https://datatracker.ietf.org/doc/html/rfc9562#monotonicity_counters