Realm C++ SDK 버전 v2.2.0

uuid.hpp

1
2//
3//저작권 2024 Realm Inc.
4//
5// Apache 라이선스, 버전 2.0("라이선스")에 따라 라이선스가 부여됩니다.
6// 라이선스를 준수하는 경우를 제외하고는 이 파일을 사용할 수 없습니다.
7// 다음에서 라이선스 사본을 얻을 수 있습니다.
8//
9// http://www.apache.org/licences/LICENSE-2.0
10//
11// 관련 법률에서 요구하거나 문서로 동의하지 않는 한, 소프트웨어
12// 라이선스에 따라 배포되는 것은 '있는 그대로' 배포됩니다,
13// Express 묵시적이든 어떤 종류의 보증이나 조건도 제공하지 않습니다.
14// 권한을 관리하는 특정 언어에 대한 내용은 라이선스를 참조하세요.
15// 라이선스에 따른 제한 사항.
16//
18
19#ifndef CPPREALM_BRIDGE_UUID_HPP
20#define CPPRALM_BRIDGE_UUID_HPP
21
22#include <cpprealm/internal/bridge/utils.hpp>
23#include <string_view>
24#include <array>
25
26네임스페이스 영역 {
27 구조체 uuid;
28 클래스 UUID;
29}
30
31namespace realm::internal::bridge {
32 구조체 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:: 배열<uint8_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_base64() const;
47 [[nodiscard]] std::array<uint8_t, 16> to_bytes() const;
48 private:
49 std:: 배열<uint8_t, 16> m_uuid;
50 친구 bool 연산자 ==(const uuid&, const uuid&);
51 친구 bool 연산자 !=(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 연산자 !=(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 //CPPREALM_BRIDGE_UUID_HPP