19#ifndef CPPREALM_MANAGED_PRIMARY_KEY_HPP
20#define CPPREALM_MANAGED_PRIMARY_KEY_HPP
22#include <cpprealm/macros.hpp>
23#include <cpprealm/rbool.hpp>
26 template <
typename ,
typename >
29 template <
typename T>
36 usingInternal_type = T;
44 usingInternal_type = int64_t;
73 usingInternal_type = std::string;
82 操作符 std::string()
const {
102 usingInternal_type = std::Optional<int64_t>;
[
119 ]<int64_t> 第 119 部分
120 操作符 std::Optional<int64_t>()
const {
127 usingInternal_type = std::Optional<internal::bridge::object_id>;
[ 138 ] 第<object_id> 138 部分
139 操作符 std::Optional<object_id>()
const {
146 usingInternal_type = std::Optional<std::string>;
151 Primary_key (
const std::Optional<std::string>& v) {
[ 160 ] 第<std::string> 160 章
161 操作符 std::Optional<std::string>()
const {
168 usingInternal_type = std::Optional<internal::bridge::uuid>;
180 操作符 std::Optional<uuid>()
const {
191 操作符 int64_t()
const {
192 return m_obj->template get<int64_t>(m_key);
195 rbool 操作符==(
const int64_t& rhs)
const noException ;
196 rbool操作符!=(
const int64_t& rhs)
const noException ;
197 rbool Operator>(
const int64_t& rhs)
const noException ;
198 rbool 操作符>=(
const int64_t& rhs)
const noException ;
199 rbool 操作符<(
const int64_t& rhs)
const noException ;
200 rbool Operator<=(
const int64_t& rhs)
const noException ;
201 rbool 操作符==(
const int & rhs)
const noException ;
202 rbool操作符!=(
const int & rhs)
const noException ;
203 rbool 操作符>(
const int & rhs)
const noException ;
204 rbool 操作符>=(
const int & rhs)
const noException ;
205 rbool 操作符<(
const int & rhs)
const noException ;
206 rbool 操作符<=(
const int & rhs)
const noException ;
210 托管 (
const 托管 &) =
delete ;
211 托管 (
托管 &&) =
delete ;
212 托管 & 操作符=(
const 托管 &) =
delete ;
213 托管 & 操作符=(
托管 &&) =
delete ;
214 template <
typename ,
typename >
221 return 操作符std::string();
224 操作符 std::string()
const {
225 return m_obj->template get<std::string>(m_key);
228 rbool 操作符==(
const std::string& rhs)
const noException ;
229 rbool操作符!=(
const std::string& rhs)
const noException ;
230 rbool 操作符==(
const char * rhs)
const noException ;
231 rbool操作符!=(
const char * rhs)
const noException ;
235 托管 (
const 托管 &) =
默认 ;
236 托管 (
托管 &&) =
delete ;
237 托管 & 操作符=(
const 托管 &) =
delete ;
238 托管 & 操作符=(
托管 &&) =
delete ;
239 template <
typename ,
typename >
250 return m_obj->template get<internal::bridge::uuid>(m_key).操作符 ::realm::uuid();
258 托管 (
const 托管 &) =
delete ;
259 托管 (
托管 &&) =
delete ;
260 托管 & 操作符=(
const 托管 &) =
delete ;
261 托管 & 操作符=(
托管 &&) =
delete ;
262 template <
typename ,
typename >
273 return m_obj->template get<internal::bridge::object_id>(m_key).操作符 Realm 对象();
276 rbool 操作符==(
const 域::对象& rhs)
const noException ;
281 托管 (
const 托管 &) =
delete ;
282 托管 (
托管 &&) =
delete ;
283 托管 & 操作符=(
const 托管 &) =
delete ;
284 托管 & 操作符=(
托管 &&) =
delete ;
285 template <
typename ,
typename >
289 template <
typename T>
296 return static_cast< T
> (m_obj->template get<int64_t>(m_key));
299 rbool 操作符==(
const T& rhs)
const noException {
300 if (this->m_rbool_query) {
301 return this->查询>equal(m_key,serialize(rhs));
303 返回序列化(分离()。值) == Serialize(rhs);
305 rbool操作符!=(
const T& rhs)
const noException {
306 if (this->m_rbool_query) {
307 return this->m_rbool_query->not_equal(m_key,serialize(rhs));
309 返回序列化(分离()。值) !=serialize(rhs);
314 托管 (
const 托管 &) =
delete ;
315 托管 (
托管 &&) =
delete ;
316 托管 & 操作符=(
const 托管 &) =
delete ;
317 托管 & 操作符=(
托管 &&) =
delete ;
318 template <
typename ,
typename >
325 return 操作符 std::Optional<int64_t>();
328 操作符 std::Optional<int64_t>()
const {
329 return m_obj->get_Optional<int64_t>(m_key);
332 rbool 操作符==(
const std::Optional<int64_t>& rhs)
const noException ;
333 rbool操作符!=(
const std::Optional<int64_t>& rhs)
const noException ;
334 rbool Operator>(
const int64_t& rhs)
const noException ;
335 rbool 操作符>=(
const int64_t& rhs)
const noException ;
336 rbool 操作符<(
const int64_t& rhs)
const noException ;
337 rbool Operator<=(
const int64_t& rhs)
const noException ;
338 rbool 操作符>(
const int & rhs)
const noException ;
339 rbool 操作符>=(
const int & rhs)
const noException ;
340 rbool 操作符<(
const int & rhs)
const noException ;
341 rbool 操作符<=(
const int & rhs)
const noException ;
345 托管 (
托管 &&) =
delete ;
346 托管 & 操作符=(
const 托管 &) =
delete ;
347 托管 & 操作符=(
托管 &&) =
delete ;
348 template <
typename ,
typename >
352 template <
typename T>
353 struct 托管 <
Primary_key <T>, std::enable_if_t<std::conjunction_v<typenameInternal::type_info::is_Optional<T>,
354 std::is_enum<typename T::value_type> >>> final :
Managed_base {
360 auto v = m_obj->get_Optional<int64_t>(m_key);
362 return static_cast< typename T::value_type
> (*v);
368 rbool 操作符==(
const T& rhs)
const noException {
369 if (this->m_rbool_query) {
370 return this->查询>equal(m_key,serialize(rhs));
372 返回序列化(分离()。值) == Serialize(rhs);
374 rbool操作符!=(
const T& rhs)
const noException {
375 if (this->m_rbool_query) {
376 return this->m_rbool_query->not_equal(m_key,serialize(rhs));
378 返回序列化(分离()。值) !=serialize(rhs);
383 托管 (
const 托管 &) =
delete ;
384 托管 (
托管 &&) =
delete ;
385 托管 & 操作符=(
const 托管 &) =
delete ;
386 托管 & 操作符=(
托管 &&) =
delete ;
387 template <
typename ,
typename >
394 return 操作符 std::Optional<std::string>();
397 操作符 std::Optional<std::string>()
const {
398 return m_obj->get_Optional<std::string>(m_key);
401 rbool 操作符==(
const std::Optional<std::string>& rhs)
const noException ;
402 rbool操作符!=(
const std::Optional<std::string>& rhs)
const noException ;
403 rbool 操作符==(
const char * rhs)
const noException ;
404 rbool操作符!=(
const char * rhs)
const noException ;
408 托管 (
const 托管 &) =
delete ;
409 托管 (
托管 &&) =
delete ;
410 托管 & 操作符=(
const 托管 &) =
delete ;
411 托管 & 操作符=(
托管 &&) =
delete ;
412 template <
typename ,
typename >
419 return 操作符std::可选<realm::uuid>();
第 422 章 操作符 std::Optional<realm::uuid>()
const {
第 425 章 return v->操作符::域::uuid();
第 427 章 return std::nullopt;
430 rbool 操作符==(
const std::Optional<realm::uuid>& rhs)
const noException ;
第 431 章 rbool操作符!=(
const std::Optional<realm::uuid>& rhs)
const noException ;
第 435 章 托管 (
const 托管 &) =
delete ;
第 436 章 托管 (
托管 &&) =
delete ;
第 437 章 托管 & 操作符=(
const 托管 &) =
delete ;
第 438 章 托管 & 操作符=(
托管 &&) =
delete ;
第 439 章 template <
typename ,
typename >
第 445 章<realm::object_id>
第 446 章 return 操作符 std::Optional<realm::object_id>();
第 449 章 操作符 std::Optional<realm::object_id>()
const {
第 452 章 return v->操作符::域::Realm 对象();
第 454 章 return std::nullopt;
第 457 章 rbool Operator==(
const std::Optional<realm::object_id>& rhs)
const noException ;
第 458 章 rbool操作符!=(
const std::Optional<realm::object_id>& rhs)
const noException ;
第 462 章 托管 (
const 托管 &) =
delete ;
第 463 章 托管 (
托管 &&) =
delete ;
第 464 章 托管 & 操作符=(
const 托管 &) =
delete ;
第 465 章 托管 & 操作符=(
托管 &&) =
delete ;
第 466 章 template <
typename ,
typename >
定义: managed_primary_key.hpp:43
定义: managed_primary_key.hpp:72
定义: managed_primary_key.hpp:30