Realm C++ SDK版本 v 2.2.0

uuid.hpp

1
2//
3// 版权所有 2024 Realm Inc.
4//
5// 根据 Apache 许可证 2.0 版(“许可证”)获得许可;
6// 除非符合合规,否则不得使用此文件。
7// 您可以在以下网址获取许可证副本:
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// 除非适用法律要求或书面同意,否则软件
12// 根据许可证分发是按“原样”分发的,
13// 不提供任何类型的Express或暗示的保证或条件。
14// 请参阅管理权限的特定语言的许可证和
15// 许可证下的限制。
16//
18
19#ifndef CPPREALM_BRIDGE_UUID_HPP
20#define CPPREALM_BRIDGE_UUID_HPP
21
22#include <cpprealm/internal/bridge/utils.hpp>
23#include <string_view>
24#include <array>
25
26命名空间域 {
27 struct uuid;
28 class UUID;
29 }
30
31命名空间realm::internal::bridge {
32 struct uuid {
33 uuid ();
34 uuid ( const uuid & other) = 默认 ;
35 uuid & 操作符=( const uuid & other) = 默认 ;
36 uuid ( uuid && other) = 默认 ;
37 uuid & 操作符=( uuid && other) = 默认 ;
38 ~uuid() = default;
39 uuid(const UUID&); //NOLINT(google-explicit-constructor);
40 显式 uuid ( const std::string&);
41 uuid ( const std:: 大量<uint 8 _t, 16 >&);
42 uuid ( const struct:: 域::uuid&); //NOLINT(google-explicit-constructor);
43 操作符 UUID() const ; //NOLINT(google-explicit-constructor);
44 操作符 :: 域::uuid() const//NOLINT(google-explicit-constructor);
45 [[nodiscard]] std::string to_string() const ;
46 [[nodiscard]] std::string to_base 64 () const ;
47 [[nodiscard]] std::array<uint 8 _t, 16 > to_bytes() const ;
48 private :
49 std:: 大量<uint 8 _t, 16 > m_uuid;
50 朋友 bool 操作符 ==( const uuid &, const uuid &);
51 朋友 bool Operator !=( const uuid &, const uuid &);
52 朋友 bool 操作符 >( const uuid &, const uuid &);
53 朋友 bool 操作符 <( const uuid &, const uuid &);
54 朋友 bool 操作符 >=( const uuid &, const uuid &);
55 朋友 bool 操作符 <=( const uuid &, const uuid &);
56 };
57
58 bool 操作符 ==( const uuid &, const uuid &);
59 bool Operator !=( const uuid &, const uuid &);
60 bool 操作符 >( const uuid &, const uuid &);
61 bool 操作符 <( const uuid &, const uuid &);
62 bool 操作符 >=( const uuid &, const uuid &);
63 bool 操作符 <=( const uuid &, const uuid &);
64 }
65
66#endif //CPREALM_BRIDGE_UUID_HPP
定义: uuid.hpp:32