NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
uuid类 参考

通用唯一标识符类 更多...

#include <uuid.hpp>

类 uuid 继承关系图:
[图例]

Public 成员函数

 uuid () noexcept
 默认构造函数
 uuid (memory_view< const byte_t, 16 > bytes) noexcept
 从16字节数组构造UUID
 uuid (string_view bytes)
 从字符串构造UUID
void generate_v4 () noexcept
 生成UUID版本4(随机)
void generate_v7 () noexcept
 生成UUID版本7(时间戳排序)
NEFORCE_NODISCARD int version () const noexcept
 获取UUID版本号
NEFORCE_NODISCARD bool is_v4 () const noexcept
 检查是否为版本4
NEFORCE_NODISCARD bool is_v7 () const noexcept
 检查是否为版本7
NEFORCE_NODISCARD optional< uint64_ttimestamp_v7 () const noexcept
 获取UUID版本7的时间戳
NEFORCE_NODISCARD string to_string () const
 转换为标准UUID字符串
NEFORCE_NODISCARD memory_view< const byte_t, 16 > bytes () const noexcept
 获取UUID的字节视图
NEFORCE_NODISCARD auto begin () const noexcept
 获取起始迭代器
NEFORCE_NODISCARD auto end () const noexcept
 获取结束迭代器
Public 成员函数 继承自 istringify< uuid >
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string () const
 转换为字符串
Public 成员函数 继承自 ihashable< uuid >
NEFORCE_NODISCARD constexpr size_t to_hash () const noexcept(noexcept(derived().to_hash()))
 获取对象的哈希值

静态 Public 成员函数

static uuid v4 () noexcept
 静态方法:生成版本4 UUID
static uuid v7 () noexcept
 静态方法:生成版本7 UUID

详细描述

通用唯一标识符类

UUID格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (36字符,包括4个连字符) 表示一个128位的UUID,支持版本4和版本7的生成,以及从字符串/字节数组的解析。

在文件 uuid.hpp49 行定义.

构造及析构函数说明

◆ uuid() [1/3]

uuid::uuid ( )
inlinenoexcept

默认构造函数

创建全零UUID(nil UUID)。

在文件 uuid.hpp61 行定义.

引用了 memory_zero().

被这些函数引用 v4() , 以及 v7().

◆ uuid() [2/3]

uuid::uuid ( memory_view< const byte_t, 16 > bytes)
explicitnoexcept

从16字节数组构造UUID

参数
bytes16字节的只读内存视图

直接复制字节数据构造UUID,不验证版本和格式。

引用了 bytes().

◆ uuid() [3/3]

uuid::uuid ( string_view bytes)
explicit

从字符串构造UUID

参数
bytesUUID字符串
异常
value_exception字符串格式无效时抛出

支持36字符带连字符或32字符无连字符格式

引用了 bytes().

成员函数说明

◆ begin()

NEFORCE_NODISCARD auto uuid::begin ( ) const
inlinenoexcept

获取起始迭代器

返回
指向第一个字节的迭代器

在文件 uuid.hpp140 行定义.

◆ bytes()

NEFORCE_NODISCARD memory_view< const byte_t, 16 > uuid::bytes ( ) const
inlinenoexcept

获取UUID的字节视图

返回
16字节的只读内存视图

在文件 uuid.hpp132 行定义.

引用了 bytes().

被这些函数引用 bytes(), uuid() , 以及 uuid().

◆ end()

NEFORCE_NODISCARD auto uuid::end ( ) const
inlinenoexcept

获取结束迭代器

返回
指向最后一个字节之后的迭代器

在文件 uuid.hpp146 行定义.

◆ generate_v4()

void uuid::generate_v4 ( )
noexcept

生成UUID版本4(随机)

基于随机数生成UUID,设置版本位为4,变体位为10。

◆ generate_v7()

void uuid::generate_v7 ( )
noexcept

生成UUID版本7(时间戳排序)

基于Unix毫秒时间戳和随机数生成UUID,具有时间单调性。

引用了 generate_v7().

被这些函数引用 generate_v7().

◆ is_v4()

NEFORCE_NODISCARD bool uuid::is_v4 ( ) const
inlinenoexcept

检查是否为版本4

返回
是版本4返回true

在文件 uuid.hpp104 行定义.

引用了 version().

◆ is_v7()

NEFORCE_NODISCARD bool uuid::is_v7 ( ) const
inlinenoexcept

检查是否为版本7

返回
是版本7返回true

在文件 uuid.hpp110 行定义.

引用了 version().

◆ timestamp_v7()

NEFORCE_NODISCARD optional< uint64_t > uuid::timestamp_v7 ( ) const
noexcept

获取UUID版本7的时间戳

返回
包含Unix毫秒时间戳的optional,如果不是版本7返回空

从UUID版本7中提取前48位的时间戳信息。

◆ to_string()

NEFORCE_NODISCARD string uuid::to_string ( ) const

转换为标准UUID字符串

返回
格式为"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"的字符串

将UUID转换为36字符的标准格式,包含4个连字符。

引用了 to_string().

被这些函数引用 to_string().

◆ v4()

uuid uuid::v4 ( )
staticnoexcept

静态方法:生成版本4 UUID

返回
新生成的版本4 UUID

引用了 uuid().

◆ v7()

uuid uuid::v7 ( )
staticnoexcept

静态方法:生成版本7 UUID

返回
新生成的版本7 UUID

引用了 uuid() , 以及 v7().

被这些函数引用 v7().

◆ version()

NEFORCE_NODISCARD int uuid::version ( ) const
inlinenoexcept

获取UUID版本号

返回
版本号(4或7)

在文件 uuid.hpp98 行定义.

引用了 version().

被这些函数引用 is_v4(), is_v7() , 以及 version().


该类的文档由以下文件生成: