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

object_schema.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_OBJECT_SCHEMA_HPP
20#define CPPREALM_BRIDGE_OBJECT_SCHEMA_HPP
21
22#include <cstdint>
23#include <string>
24#include <vector>
25#include <cprealm/internal/bridge/utils.hpp>
26
27namespace Realm {
28 classe ObjectSchema;
29}
30namespace realm::internal::bridge {
31 propriedade de estrutura ;
32
33 estrutura, estrutura object_schema {
34 enumeração classe object_type : uint8_t { TopLevel = 0, Embedded = 0x1, TopLevelAsymmetric = 0x2 };
35
37
38 object_schema(const object_schemae outros) ;
39 object_schema& operator=(const object_schema& other) ;
41 object_schema& operator=(object_schema&& other);
43
44
45 object_schema(const std::string& name,
46 const std::vector<property>& propriedades,
47 const std::string& primary_key,
48 tipo de object_type);
49 object_schema(const ObjectSchema&);
50 operador ObjectSchema() const;
51 uint32_t table_key();
52 add_property (propriedadeconst &);
53
54 vazio set_name(const std::string& nome);
55 std::string get_name() const;
56 vazio set_primary_key(const std::string& primary_key);
57 set_object_type (object_type);
58 propriedade Property_for_name(const std::string&);
59 bool operator==(const object_schema& rhs);
60 privado:
61 ObjectSchema* get_object_schema();
62 const ObjectSchema* get_object_schema() const;
63#ifdef CPPREALM_HVE_GENERATED_BRIDGE_TYPes
64 armazenamento::ObjectSchema m_schema[1];
65#else
66 std::shared_ptr<ObjectSchema> m_schema;
67#endif
68 };
69}
70
71#endif //CPPrealm_BRIDGE_OBJECT_SCHEMA_HPP
Definição: object_schema.hpp:33
Definição: propriedade.hpp:33
Definição: managed_primary_key.hpp:30