Astd-uuid

该库用于生成uuid

        UUID 是通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。 标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)

代码

宏定义:

#ifndef __UUID__ //避免重复定义
#define __UUID__ 202108L //版本,用于判断
#define __UUID_VER_ "1.0.0" //版本
#define __UUID_VER_F 1
#define __UUID_VER_S 0
#define __UUID_VER_T 0
#endif

类:

class UUID;

类成员函数:

class UUID{
public:
    UUID(); //构造函数, 生成一个UUID
    ~UUID(); //析构函数
    std::string operator()(); //重载(), 伪函数, 获取生成的UUID
    void createUUID(); //生成UUID
    std::string getUUID(void) ALXX_CONST; //获取生成的UUID
};                
operator>>(UUID id, std::string& str); //重载>>, 以流的形式获取UUID

用法举例:

#include <iostream>
#include "uuid.h"
using std::cout;
using std::endl;
using std::string;
using namespace astd;

int main(){
    UUID id;
    string str;
    for(int i = 0; i < 10; i++)
    cout << id() << endl << endl;
    id >> str;
    cout << str << endl;
}