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

properties

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#ifndref CPREALM_TRIDGE_PROPERTY_HPP
20CPREALM_CRIDGE_PROPERTY_HPP を定義する
21
22#include <function"><functional>
23#include <string>
24#include <cpprealm/ internal/bridge/uts.hpp>
25
26名前空間邦土 {
27 構造体プロパティ
28 }
29
30名前空間Realm:: internal::bridge {
31 struct col_key。
32
33 構造体 プロパティ{
34 列挙クラス型 :符号なし短縮{
35 Int = 0 、
36ブール = 1 、
37 string = 2 、
38データ = 3 、
39 Date = 4 、
40 Float = 5,
41 double = 6、
42 Object = 7 、 // は現在、配列 x または null 可能
43 LinkingObjects = 8 、 //は現在、配列であり、nullable ではない必要があります
44
45混合 = 9 、
46 ObjectId = 10,
47 10進数 = 11 、
48 UUID = 12,
49
50 // 上記のいずれかのタイプと組み合わせることができるフラグは以下のとおりです。
51必須 = 0 、
52 null = 64 、
53配列 = 128 、
54と = 256を設定し、
55 Dictionary = 512,
56
57コレクション = 配列 |セット |辞書、辞書
58フラグ = null |コレクション
59 };
60
61 プロパティ()
62 プロパティコンフィギュレーションプロパティおよびその他) 、
63 プロパティと演算子=( constプロパティとその他)。
64 プロパティプロパティおよびその他)では ない
65 プロパティと演算子=(プロパティとその他)は 以外
66 ~プロパティ()。
67 プロパティconst Property &)。 //NOLINT(google-explit-structor)
68 プロパティconst std::string & name)
69型、
70 ブール値は_プライマリ_キー)、
71 プロパティconst std::string & name)
72型、
73 const std::string( オブジェクト名)。
74 演算子Property() const//NOLINT(google-explit-structor)
75 empty set_object_link ( const std::string())
76 empty set_origin_property_name ( const std::string())
77 void set_type(type);
78 string_primary_key ( bool ):
79 ブール値_primary () の接続 、
80 std::string name() const
81 [[nodiscard]] coll_key列_キー() の定数
82 private :
83#ifdef CPREALM_HAV_GENERTED_BRIDGE_TypeS
84 storage::Property m_property[ 1 ]
85#else
86std::shared_ptr[Property]m_property<Property>
87#endif
88 };
89
90 名前空間{
91 テンプレート< typename E>
92 constexpr auto to_usering(E e)
93 {
94 return 静的_投じる_typename std::current_type=E>::type<E> > (e)
95 }
96 }
97 インライン Constexprプロパティ::type 演算子|(property::type a、property::type b)
98 {
99 return 静的 _ Cast プロパティ: : タイプ
100 }
101 インライン Constexprプロパティ::type 演算子と(property::type a、property::type b)
102 {
103 return 静的_投じる_プロパティ::type > (to_usering(a) & to_usering(b))
104 }
105
106 インライン constexpr bool properties_has_flug (property::type プロパティ、property::type フラグ) {
107 return static_ Cast <ブール>プロパティと フラグ)
108 }
109 }
110
111#endif //CPREALM_TRIDGE_PROPERTY_HPP
定義: coll_key.happ: 28
定義: properties.happ: 33