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

Managed_objectid.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 CPPREALM_MANAGED_OBJECTID_HPP
20#define CPREALM_MANAGED_OBJECTID_HPP
21
22#include <cpprealm/macros.hpp>
23#include <cpprealm/types.hpp>
24
25#include <cpprealm/ internal/bridge/object_id.hpp>
26
27名前空間邦土 {
28 クラスrbool 。
29 }
30
31名前空間邦土 {
32 template<>
33 構造体 Managed <realm:: object_id > : Managed_base {
34 使用 Managed < Realm::object_id >::managed_base::operator=================================================================
35 [[nodiscard]] Realm ::object_id Delete() const {
36 return m_obj->template get=realm::<realm::internal::bridge::object_id> internal::bridge::object_id>(m_key).operator::realm::object_id()
37 }
38
39 [[nodiscard]] Realm ::object_id演算子 *() const {
40 return detach();
41 }
42
43 [[nodiscard]]演算子Realm ::object_id () const {
44 return detach();
45 }
46
47 //Mask: - 比較演算子
48 rbool演算子==( const Realm ::object_id &rhs) constは 以外の を構成しません。
49 rbool演算子!=( const Realm ::object_id & rhs )は 以外と一致しません
50
51 private :
52 マネージド()=デフォルト
53 マネージドconst administrators =削除
54 マネージドマネージド& )= delete
55 Managed & 演算子=( constマネージド&) = delete
56 Managed & 演算子=(マネージド&と) = delete
57 テンプレート< typename , typename >
58 友人 構造体 マネージド
59 };
60
61 template<>
62 構造体 Managed <std::optional[realm::object_id]<realm::object_id> : Managed_base {
63 使用 Managed <realm::object_id><std::optional=realm::object_id>::managed_base::operator=================================================
64
65[[nodiscard]] std::optional{realm::object_id><realm::object_id> Delete() const {{
66 auto v = m_obj->template get_optional{realm::<realm::internal::bridge::object_id> internal::bridge::object_id>(m_key)
67v ){
68 return v.value().operator ::realm::object_id()
69 } else {
70 std::nullopt を返す
71 }
72 }
73
74[[nodiscard]] std::optional{realm::object_id><realm::object_id> 演算子 *() const {{
75 return detach();
76 }
77
78[[nodiscard]] 演算子 std::optional[realm::object_id>()<realm::object_id> const {{
79 return detach();
80 }
81
82 //Mask: - 比較演算子
83 rbool Operator==( const std::optional<realm::object_id> = realm::object_id> ===================================================================
84 rbool演算子!=( const <realm::object_id>ください
85
86 private :
87 マネージド()=デフォルト
88 マネージドconst administrators =削除
89 マネージドマネージド& )= delete
90 Managed & 演算子=( constマネージド&) = delete
91 Managed & 演算子=(マネージド&と) = delete
92 テンプレート< typename , typename >
93 友人 構造体 マネージド
94 };
95
96} // namespace realm
97
98#endif//CPREALM_MANAGED_OBJECTID_HPP
定義: rbool.hpp:36
定義: caches.hpp:286
Definition: obj.hpp:62
定義: types.hpp:56