Realm C++ SDK版本 v 2.2.0

Table.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_TABLE_HPP
20#define CPPREALM_BRIDGE_TABLE_HPP
21
22#include <string>
23#include<vector>
24#include <cpprealm/internal/bridge/obj_key.hpp>
25
26命名空间域 {
27 class TableRef;
28 class ConstTableRef;
29 class Mixed;
30 class TableView;
31
32
33 命名空间内部::bridge {
34 struct col_key;
35 struct Link_Chain;
36 结构体混合;
37 struct obj;
38 struct 查询;
39
40 struct {
41 ();
42 Table ( const tab & other) ;
43 Table & 操作符=( const Table & other) ;
44 Table ( table && other);
45 Table & Operator=( Table && other);
46 ~table ();
47 Table ( const TableRef &);
48 Table ( const ConstTableRef &);
49 Operator TableRef() const ;
50 Operator ConstTableRef() const ;
51
52 col_key get_column_key( const std::string_view &name) const ;
53 uint 32 _t get_key() const ;
54 std::string get_name() const
55
56 obj create_object_with_primary_key( const Mixed &key) const ;
57
58 obj create_object( const obj_key & obj_key = {}) const ;
59
60 Table get_link_target( const col_key col_key ) const ;
61 link_chain get_link( const col_key col_key ) const ;
62
63 [[nodiscard]] bool is_embedded() const ;
64
65 struct 查询 query (const std::string &, const std::vector <mixed>&) const;
66 struct 查询 where() const;
67
68 void remove_object(const obj_key &) const;
69 obj get_object(const obj_key&) const;
70 bool is_valid(const obj_key&) const;
71 using底层= TableRef;
72#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
73 storage::TableRef m_table[ 1 ];
74#else
75 std::shared_ptr<TableRef> m_table;
76#endif
77 };
78
79 struct class_view {
80 Table_view ();
81 tab_view ( const tab_view & other) ;
82 Table_view & Operator=( const Table_view & other) ;
83 Table_view ( table_view && other);
84 Table_view & Operator=( Table_view && other);
85 ~table_view ();
86 Table_view ( const TableView &);
87 Operator TableView() const ;
88 using底层= TableView;
89#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
90 storage::TableView m_table_view[ 1 ];
91#else
92 std::shared_ptr<TableView> m_table_view;
93#endif
94 };
95
96 bool Operator==( const tab & , const tab & );
97
98 bool操作符!=( const Table &, const Table &);
99 }
100 }
101
102#endif //CPREALM_BRIDGE_TABLE_HPP
定义: col_key.hpp: 28
定义: mixed.hpp:69
定义: obj_key.hpp: 33
定义: obj.hpp:123
定义: query.hpp: 131
定义: table.hpp:40