Realm C++ SDK版本 v 2.2.0

set.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_SET_HPP
20#define CPPREALM_BRIDGE_SET_HPP
21
22#include <cstdlib>
23#include<memory>
24#include <set>
25#include <string>
26#include <cpprealm/internal/bridge/utils.hpp>
27
28命名空间域 {
29 命名空间object_store {
30 class Set;
31 }
32 }
33
34命名空间realm::internal::bridge {
35 struct Realm;
36 struct obj;
37 struct obj_key;
38 结构体混合;
39 struct binary;
40 struct uuid;
41 struct object_id;
42 struct col_key;
43 struct timestamp;
44 结构表;
45 struct notification_token;
46 struct collection_change_callback;
47
48 struct 设置{
49 设立 ();
50 set ( const set & other) ;
51 set & Operator=( const set & other) ;
52 设立 ( 设立 && other);
53 设立 & 操作符=( 设立 && other);
54 ~set();
55 设立 ( const object_store::Set&); //NOLINT(google-explicit-constructor)
56 操作符 object_store::Set() const ; //NOLINT(google-explicit-constructor)
57 set(const realm& realm, const obj& obj, const col_key&);
58
59 混合get_any( const size_t & i) const ;
60 obj get_obj( const size_t & i) const ;
61
62 [[nodiscard]] size_t size() const ;
63 void remove_all();
64
65 get_table() const
66
67 std::pair<size_t, bool> insert( const std::string&);
68 std::pair<size_t, bool> insert( const int 64 _t &);
69 std::pair<size_t, bool> insert( const double &);
70 std::pair<size_t, bool> insert( const bool &);
71 std::pair<size_t, bool> insert( const binary &);
72 std::pair<size_t, bool> insert( const uuid &);
73 std::pair<size_t, bool> insert( const object_id &);
74 std::pair<size_t, bool> insert( const Mixed &);
75 std::pair<size_t, bool> insert( const obj_key &);
76 std::pair<size_t, bool> insert( const timestamp &);
77
78 void remove( const int 64 _t &);
79 void remove( const bool &);
80 void 删除( const double &);
81 void 删除( const std::string &);
82 void remove(const uuid &);
83 void remove( const object_id &);
84 void 删除( const Mixed &);
85 void 删除( const timestamp &);
86 void 删除( const binary &);
87 void 删除( const obj_key &);
88
89 size_t find( const int 64 _t &);
90 size_t find( const bool &);
91 size_t find( const double &);
92 size_t find( const std::string &);
93 size_t find( const uuid &);
94 size_t find( const object_id &);
95 size_t find( const Mixed &);
96 size_t find( const timestamp &);
97 size_t find( const binary &);
98 size_t find( const obj_key &);
99 notification_token add_notification_callback(std::shared_ptr<collection_change_callback>);
100 private :
101 const object_store::Set* get_set() const ;
102 object_store::Set* get_set();
103#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
104 存储::Set m_set[ 1 ];
105#else
106 std::shared_ptr<object_store::Set> m_set;
107#endif
108 };
109 }
110
111#endif //CPREALM_BRIDGE_SET_HPP
定义: binary.hpp: 30
定义: col_key.hpp: 28
定义: mixed.hpp:69
定义: obj_key.hpp: 33
定义: obj.hpp:123
定义: object_id.hpp:31
定义: realm.hpp: 67
定义: set.hpp: 48
定义: table.hpp:40
定义: timestamp.hpp: 30
定义: uuid.hpp:32