Realm C++ SDKバージョン v 2.2.0

bson.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// 該当するルールによって要求されたり、書込み (write) で同意された場合を除き、ソフトウェア
12ライセンスに基づいて配布される // は "AS IS" CRUD で配布されるため、
13// 任意の種類の 保証 または 条件なし(式またはExpressのいずれか)。
14// 特定の言語を使用する権限については、「ライセンス」を参照してください
15ライセンスに基づく // の制限。
16//
18
19#ifndef REALMCXX_BSON_HPP
20REALMXX_BSON_HPP を定義する
21
22#include <cpprealm/types.hpp>
23#include <cpprealm/ internal/bridge/uts.hpp>
24#include <any>
25
26名前空間邦土 {
27 名前空間BSON {
28 クラスBSON 、
29 クラスBsonDocument
30 struct RegularExpression。
31 }
32
33
60 構造体 bsoncxx {
61
62 配列 = std::vector% を使用し<bsoncxx> 、
63
64 列挙クラス型 {
65 b_null、
66 b_int32,
67 b_int64,
68 b_bool,
69 b_double,
70 b_string,
71 b_binary,
72 b_timestamp,
73 b_datetime,
74 b_objectId,
75 b_decimal 128 、
76 b_regular_ Expression、
77 b_max_key,
78 b_min_key,
79 b_document,
80 b_array,
81 b_uuid
82 };
83
85 CoreDocument = Realm::bson::BsonDocumentを使用
86
87 構造体 {
88 & 演算子=( const bsoncx & v):
89 演算子 bsoncxx() const;
90 convert std::string キー
91 private :
92 友人 構造体 bsoncxx;
93 explicit (CoreDocument* d、 const std::string+k)
94 : key(k), m_document(d) {}
95 CoreDocument* m_document
96 };
97
98 構造体 イテレータ{
99
100 イテレータ& 演算子 ++()。
101 イテレータと演算子-()。
102 イテレータ& 演算子 ++( int )。
103 イテレータと演算子-( int )。
104 ブール演算子!=( const イテレータrhs )は 以外と一致しません 。
105 ブール演算子== (コンリスト:
106 private :
107 友人 構造体 document;
108 イテレータ(std::any & & i) : m_literal(i) { }
109 std::任意の m_item
110 };
111 イテレータstart()。
112 イテレータend()
113
114 ドキュメント()は例外を除き、
115 ドキュメント(const std::initializer_list=std::pear=std:: string , bsoncx >=================================================================
116 document(const document&);
118ドキュメント()
119 ドキュメント& 演算子=(constドキュメントと):
120 ドキュメント& 演算子=(ドキュメントと ):
121 無効挿入(const std:: string & キー、const bsoncx &)。
122 ブール値空 ()。
123 size_t size() 変換
124 演算子[](const std:: string &)
125演算子 CoreDocument() 規則
126 ドキュメント(CoreDocument &) は例外を除き、
127 private:
129#ifdef CPREALM_HAV_GENERTED_BRIDGE_TypeS
130 internal::bridge::storage::BsonIndexedMap m_document[ 1 ]
131#else
132std::shared_ptr[CoreDocument]m_document<CoreDocument>
133#endif
134 };
135
137 構造体 min_key {}
139 構造体 max_key {}
140
143 構造体 正規表現{
144 列挙クラスオプション : uint 8 _t {
145なし、
146 ignore_case = 1,
147複数行 = 2 、
148ドット = 4 、
149拡張 = 8
150 };
151 正規表現const std::string+ パターン、 const std::string+ オプション)。
152 正規表現const std::string+ パターン、オプション オプション)
154オプション get_options() がconst
155 std::string get_pattern() const
156 演算子realm::bson::regularExpression() const
157 private :
158 友人 構造体 bsoncxx;
159 正規表現( constrealm ::bson:: regularExpression ())。
160 option m_options;
161 std::string m_pattern
162 };
163
166 explicit タイムスタンプ(uint 32 _t 秒、uint 32 _t 増分) : m_seconds( 秒)、m_increment(増分) {}
167uint32 _t get_seconds() は、{ return m_seconds を返す を除く例外として、 const ではありません。 }
168uint32 _t get_increment () { return m_increment () を返す場合を除きます。 }
169 private :
170 友人 構造体 bsoncxx;
171 const uint 32 _t m_seconds
172 const uint32_t m_increment;
173 };
174
176 構造体 日付{
177 explicit 日付 <std::chrono::system_clock>( const std::chrono::time_point未満:
178std::chrono::time_point<std::chronno: system_lock<std::chrono::system_clock> > get_date() connect_date () は、n_date を 返し ます}
179 private :
180 友人 構造体 bsoncxx;
181 const std::chrono::time_point=std::Error:system_lock><std::chrono::system_clock> m_date
182 };
183
184 bsoncx () は例外を除き、
185bsoncx () は例外を除きます。
186 bsoncx (const bsoncx &) optime は例外をスローします。
187 bsoncxx(bsoncxx&&) noexcept;
188 bsoncx & 演算子=(const bsoncx &) no例外:
190
194 bsoncx (int 32 _t) は例外を除きます。
195 bsoncx (int 64 _t) は例外を除きます。
196 bsoncx ( bool ) no例外:
197 bsoncxdouble )ではない場合
198 bsoncx ( min_key ) no例外:
199 bsoncx ( max_key ) no例外:
200 bsoncx (constタイムスタンプと) no例外:
201 bsoncx (const date &) no例外:
202 bsoncx (const 10進数128 &)
203 bsoncx (const object_id &) no例外:
204 bsoncxx(const uuid&) noexcept;
205 bsoncx (const Regular_ Expression &) noException
206 bsonc 8
207 bsonc機能(const std:: string &)
208 bsoncx (const char *) no例外:
209 bsoncx (const document &) no例外:
211 type get_type()const
212演算子 Realm::bson::Bson()const
213
214演算子 std::nullopt_t() 条件
215演算子 int 32 _t() Const
216演算子 int 64 _t() Const
217演算子ブール値()const。
218演算子double ()制約
219演算子min_key ()const
220演算子max_key ()const
221演算子タイムスタンプ()const
222演算子date ()const
223演算子10 進数128 ()const
224演算子object_id ()const
225演算子uuid ()const
226演算子regular_ Expression ()const
227演算子 std::vector<uint 8 _t>()const
228演算子 std:: string ()const
229演算子ドキュメント()const
230演算子 array()const
231
232 std:: string to_string()const
233 std:: string to_json()const
234 bsoncx (realm::bson::Bson=
235 private:
236#ifdef CPREALM_HAV_GENERTED_BRIDGE_TypeS
237 internal::bridge::storage::Bson m_bson[ 1 ],
238#else
239std::shared_ptr[realm::bson::Bson><realm::bson::Bson> m_bson]
240#endif
241 };
242
243 ブール演算子==( const bsoncx & Lhs、 const bsonc機能、rhs)。
244 ブール演算子!=( const bsonc 機能
245 ブール演算子==( const bsoncx::document & Lhs、 const bsoncx::document &rhs):
246 ブール演算子!=( const bsoncx::document & Lhs、 const bsoncx::document &rhs)。
247 ブール演算子==( const bsoncx::regular_ Expression & Lhs、 const bsoncx::regular_ Expression &rhs)は 以外となります。
248 ブール演算子!=( const bsoncx::regular_ Expression & Lhs、 const bsoncx::regular_ Expression &rhs)は 以外となります。
249 bsonc機能
250 const bsoncx ::regular_ Expression::option+rhs) は 以外となります 。
251 bsoncx::regular_ Expression::option 演算子=( const bsoncx::regular_ Expression::option===========================================================
252 const bsoncx ::regular_ Expression::option+rhs) は 以外となります 。
253} // namespace realm
254
255#endif//REALMCXX_BSON_HPP
BSON 日時を表す型。
定義: bson.happ: 176
定義: bson.happ: 87
定義: bson.happ: 84
他の BSON types と比較すると、MaxKey は常に最大値になります。
定義: bson.happ: 139
MinKey は、他の BSON types と比較すると、常に最小値になります。
定義: bson.happ: 137
BSON タイムスタンプを表す型。
定義: bson.happ: 165
定義: bson.happ: 60
定義: types.happ: 75
定義: types.hpp:56
定義: types.hpp:35