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

Managed_timestamp.hpp

1
2//
3// © 2022 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_TIMESTAMP_HPP
20CPREALM_MANAGED_TIMESTAMP_HPP を定義する
21
22#include <cpprealm/ internal/bridge/timestamp.hpp>
23#include <cpprealm/macros.hpp>
24
25名前空間邦土 {
26 クラスrbool 。
27 }
28名前空間邦土 {
29
30 template<>
31 構造体 Managed <std::chrono:: time_point =std::chrono:: system_ クロック=========================================================<std::chrono::system_clock>
32 value_type = std::chrono::time_point<std::chrono::system_clock> を使用します。
33 使用 Managed <std::chrono::time_point=std::chrono:system_末尾::maned_base::operator=======================================================<std::chrono::system_clock>
34
35[[nodiscard]] std::chrono::time_point=std::chrono:: system_lock<std::chrono::system_clock> > Delete() Const {{
36 return m_obj->template get=realm::<realm::internal::bridge::timestamp> internal::bridge::timestamp>(m_key)
37 }
38
39[[nodiscard]] 演算子 std::chrono::time_point=std::chrono::system_lock>()<std::chrono::system_clock> const {{
40 return detach();
41 }
42
43 auto time_ since_epod() const {
44 auto Typescript = m_obj->template get<internal::bridge::timestamp>(m_key)
45 return ts.get_time_point().time_sink_epod() を返します。
46 }
47
48 テンプレート< typename S>
49 無効 演算子+=( const std::chrono::duration=S=====<S> =========================
50 auto Typescript = m_obj->template get<internal::bridge::timestamp>(m_key)
51 m_obj->set(m_key, internal::bridge::timestamp (ts.get_time_point() + rhs)):
52 }
53
54 //Mask: - 比較演算子
55 rbool 演算子==( const std::chrono::time_point=std::chrono:: system_<std::chrono::system_clock> クロック> ==========================================================================
56 rbool演算子!=( const <std::chrono::system_clock>ください
57 rbool 演算子>( const std::chrono::time_point=std::chrono:: system_<std::chrono::system_clock> クロック>+rhs) は 以外 の ではありません。
58 rbool 演算子>=( const std::chrono::time_point=std::chrono:: system_ クロック><std::chrono::system_clock> ============================================================================
59 rbool 演算子 <( const std::chrono::time_point=std::chrono:: system_lock<std::chrono::system_clock> >=rhs) は 以外 の ではありません。
60 rbool 演算子==( const std::chrono::time_point=std::chrono:: system_<std::chrono::system_clock> クロック> ==========================================================================
61
62 private :
63 マネージド()=デフォルト
64 マネージドconst administrators =削除
65 マネージドマネージド& )= delete
66 Managed & 演算子=( constマネージド&) = delete
67 Managed & 演算子=(マネージド&と) = delete
68 テンプレート< typename , typename >
69 友人 構造体 マネージド
70 };
71
72 template<>
73 構造体 Managed <std::optional=std::chrono::time_point=std::chrono:: system_ クロック==========================================================<std::chrono::system_clock>
74 value_type = std::optional[std::chrono::time_point[std::chrono:system_クロック] を使用し<std::chrono::system_clock> ます。
75 使用 マネージド _std::optional_std::chrono:time_point_std::chrono:system_cloud::maned_base::operator============================================================<std::chrono::system_clock>
76
77[[nodiscard]] std::optional<std::currono:: time_point [std::chrono::system_cloud]<std::chrono::system_clock> プロジェクトとの接続数 {
78 return m_obj->get_optional[Realm :: internal::bridge::timestamp >(m_key)]
79 }
80
81[[nodiscard]] 演算子 <std::chrono::system_clock>std::optional{std::chrono::time_point[std::chrono::system_cloud]>() const {{
82 return detach();
83 }
84
85 構造体 box {
86 テンプレート< typename S>
87 無効 演算子+=( const std::chrono::duration=S=====<S> =========================
88 auto Typescript = m_parent.get().m_obj->get_optional[ internal::bridge::timestamp >(m_parent.get().m_key) ]
89 m_parent.get().m_obj->set(m_parent.get().m_key, internal::bridge::timestamp (ts->get_time_point()+rhs)):
90 }
91 auto time_ since_epod() const {
92 auto Typescript = m_parent.get().m_obj->get_optional[ internal::bridge::timestamp >(m_parent.get().m_key) ]
93 return ts->get_time_point().time_since_epoch();
94 }
95 private :
96 ボックス管理対象および親) : m_parent(親) { }
97std::reference_ wrapper[maned]<std::optional[std::chrono::time_point[std::chrono::system_cloud]<std::chrono::system_clock> : m_parent
98 友人 構造体 Managed <std::optional=std::chrono::time_point=std::chrono::system_クロック================================================================<std::chrono::system_clock>
99 };
100
101std::unique_ptr[box]<box> 演算子->()
102 {
104 }
105 [[nodiscard]]ボックス演算子*() {
106 return ボックス(*この):
107 }
108
109 //Mask: - 比較演算子
110 rbool 演算子==( const std::optional=std::chrono::time_point=std::chrono:: system_<std::chrono::system_clock> クロック ===============================================================================
111 rbool演算子!=( const <std::chrono::system_clock>ください
112
113 private :
114 マネージド()=デフォルト
115 マネージドconst administrators =削除
116 マネージドマネージド& )= delete
117 Managed & 演算子=( constマネージド&) = delete
118 Managed & 演算子=(マネージド&と) = delete
119 テンプレート< typename , typename >
120 友人 構造体 マネージド
121 };
122
123} // namespace realm
124
125
126#endif//CPREALM_MANAGED_TIMEスタンプ_HPP
定義: rbool.hpp:36
定義: Managed_Dictionary.happ: 129
定義: timestamp.happ: 30
定義: caches.hpp:286
Definition: obj.hpp:62