Realm C++ SDK 버전 v2.2.0

바이너리.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 CPPRALM_BRIDGE_BINARY_HPP
20#define CPPRALM_BRIDGE_BINARY_HPP
21
22#include <vector>
23#include <cpprealm/internal/bridge/utils.hpp>
24
25네임스페이스 영역 {
26 클래스 BinaryData;
27 클래스 OwneredBinaryData;
28}
29namespace realm::internal::bridge {
30 구조체 바이너리 {
32 바이너리(const 바이너리& 기타) ;
33 바이너리& 연산자=(const 바이너리& 기타) ;
34 바이너리(바이너리&& 기타);
35 바이너리& 연산자=(바이너리&& 기타);
36 ~binary();
37 바이너리(const BinaryData&); //NOLINT(google-explicit-constructor)
38 바이너리(const std::vector<uint8_t>&); //NOLINT(google-explicit-constructor)
39 [[nodiscard]] const char* data() const;
40 [[nodiscard]] size_t size() const;
41 연산자 std::vector<uint8_t>() const; //NOLINT(google-explicit-constructor)
42 연산자 OwneredBinaryData() const; //NOLINT(google-explicit-constructor)
43 연산자 BinaryData() const; //NOLINT(google-explicit-constructor)
44 char 연산자[](size_t i) const noException;
45 private:
46#ifdef CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
47 storage::OwnedBinaryData m_data[1];
48#else
49 char* m_data;
50 size_t m_size = 0;
51#endif
52 };
53
54 bool 연산자 ==(const 바이너리& lhs, const 바이너리& rhs);
55 bool 연산자 !=(const 바이너리& lhs, const 바이너리& rhs);
56}
57
58#endif //CPPREALM_BRIDGE_BINARY_HPP
정의: 바이너리.hpp:30