Realm C++ SDK Versão C++ v2.2.0

obj_key.hpp

1
2//
3// Autores 2024 Realm Inc.
4//
5// Licenciado sob a Licença Apache, Versão 2.0 (a "Licença");
6// você não pode usar este arquivo, exceto em conformidade com a Licença.
7// Você pode obter uma cópia da Licença em
8//
9// http://www.apache.org/license/LICENSE-2.0
10//
11// A menos que exigido pela lei aplicável ou acordado por escrito, o software
12// distribuído sob a Licença é distribuído "Como está",
13// sem garantias ou condições de qualquer tipo, Express ou implícitas.
14// Consulte a Licença para obter as permissões específicas de domínio do idioma e
15// limitações da Licença.
16//
18
19#ifndef CPPREALM_BRIDGE_OBJ_KEY_HPP
20#define CPPREALM_BRIDGE_OBJ_KEY_HPP
21
22#include <cinttypes>
23#include <memory>
24#include <type_traits>
25#include <cprealm/internal/bridge/utils.hpp>
26
27namespace Realm {
28 struct ObjKey;
29 struct ObjLink;
30}
31
32namespace realm::internal::bridge {
33 estrutura, estrutura obj_key {
34 obj_key(const ObjKey&);
35 obj_key(int64_t);
36 obj_key();
37 obj_key(const obj_keye outros) = padrão;
38 obj_key& operator=(const obj_key& other) = default;
39 obj_key(obj_key&& other) = default;
40 obj_key& operator=(obj_key&& other) = default;
41 ~obj_key() = padrão;
42 operador ObjKey() const;
43 privado:
44 int64_t m_obj_key;
45 };
46
47 bool operator==(const obj_key &, const obj_key &);
48
49 operador de bool !=(const obj_key &, const obj_key &);
50}
51
52namespace realm::internal::bridge {
53 estrutura, estrutura obj_link {
54 obj_link(const ObjLink&);
55 obj_link();
56 obj_link(const obj_linke outros);
57 obj_link(uint32_t table_key, obj_key obj_key);
58 obj_link& operator=(const obj_link& other);
59 obj_link(obj_link&& outro);
60 obj_link& operator=(obj_link&& other);
61 ~obj_link();
62 operador ObjLink() const;
63 obj_key get_obj_key();
64 uint32_t get_table_key();
65 privado:
66#ifdef CPPREALM_HVE_GENERATED_BRIDGE_TYPes
67 storage::ObjLink m_obj_link[1];
68#else
69 std::shared_ptr<ObjLink> m_obj_link;
70#endif
71 };
72
73 bool operator==(const obj_link &, const obj_link &);
74
75 operador de bool !=(const obj_link &, const obj_link &);
76}
77
78
79#endif //CPPrealm_BRIDGE_OBJ_KEY_HPP
Definição: obj_key.hpp:33