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;
}