Boost(1.84) uuid库详解

UUID简介

UUID 是“Universally Unique Identifier"的缩写,另一个别名是GUID,是一个128位的数字(16字节),不需要有一个中央认证机构就可以创建全球唯一的标识符。

UUID可以用在很多地方,比如标识某个系统的用户,标识网络信息等需要有唯一标识的地方。

boost(1.84)uuid库解析

uuid库是一个小的实用工具,可以表示和生成UUID。

boost(1.84) uuid部分源码如下:

namespace boost {
namespace uuids {

class uuid
{
private:

    std::uint8_t data_[ 16 ] = {}; // exposition only

public:

    // constructors

    uuid() = default;
    uuid( std::uint8_t const (&r)[ 16 ] );

    // iteration

    using value_type = std::uint8_t;

    using reference = std::uint8_t&;
    using const_reference = std::uint8_t const&;

    using iterator = std::uint8_t*;
    using const_iterator = std::uint8_t const*;

    using size_type = std::size_t;
    using difference_type = std::ptrdiff_t;

    iterator begin() noexcept;
    iterator end() noexcept;

    const_iterator begin() const noexcept;
    const_iterator end() const noexcept;

    // data

    std::uint8_t* data() noexcept;
    std::uint8_t const* data() const noexcept;

    // size

    constexpr size_type size() const noexcept;
    static constexpr size_type static_size() noexcept;

    // is_nil

    bool is_nil() const noexcept;
}


uuid位于命名空间boost::uuids中,内部使用一个16字节的数组std::uint8_t data_[ 16 ] = {};存储UUID值。

使用与示例

使用uuid需包含如下头文件:

#include <boost/uuid/uuid.hpp>

#include <boost/uuid/uuid_generators.hpp>

#include <boost/uuid/uuid_io.hpp>

using namespace boost::uuid;

使用随机生成器生成UUID

#include <iostream>
#include "boost/pool/object_pool.hpp"
#include "boost/uuid/uuid.hpp"
#include "boost/uuid/uuid_generators.hpp"
#include "boost/uuid/uuid_io.hpp"

using namespace boost::uuids;
using namespace std;
int main()
{
    random_generator rgen;
    uuid uid=rgen();
    cout<<uid<<endl;
    return 0;
}
uuid(boost1.84)官网链接

uuid(boost1.84)官网文档

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值