Realm C++ SDK 버전 v2.2.0

알림.hpp

1
2//
3//저작권 2022 Realm Inc.
4//
5// Apache 라이선스, 버전 2.0("라이선스")에 따라 라이선스가 부여됩니다.
6// 라이선스를 준수하는 경우를 제외하고는 이 파일을 사용할 수 없습니다.
7// 다음에서 라이선스 사본을 얻을 수 있습니다.
8//
9// http://www.apache.org/licences/LICENSE-2.0
10//
11// 관련 법률에서 요구하거나 문서로 동의하지 않는 한, 소프트웨어
12// 라이선스에 따라 배포되는 것은 '있는 그대로' 배포됩니다,
13// Express 묵시적이든 어떤 종류의 보증이나 조건도 제공하지 않습니다.
14// 권한을 관리하는 특정 언어에 대한 내용은 라이선스를 참조하세요.
15// 라이선스에 따른 제한 사항.
16//
18
19#ifndef 알림_hpp
20#deify 알림_hpp
21
22#include <cpprealm/thread_safe_reference.hpp>
23#include <cpprealm/internal/bridge/Dictionary.hpp>
24#include <cpprealm/internal/bridge/list.hpp>
25#include <cpprealm/internal/bridge/set.hpp>
26
27#include <any>
28#include <future>
29#include <utility>
30
31네임스페이스 영역 {
32템플릿 <typename T>
33구조체 ObjectChange;
34
38구조체 alert_token {
39 알림 _토큰 (const 알림 _토큰 & nt) noException = 삭제;
40 알림 _토큰 &operator=(const 알림 _토큰 &) = 삭제;
41 alert_token(notification_token&& other) nowhen {
42 m_token = std::move(OTHER.m_token);
43 m_Dictionary = std::move(OTHER.m_딕셔너리);
44 m_list = std::move(OTHER.m_list);
45 m_set = std::move(other.m_set);
46 m_results = std::move(other.m_results);
47 m_realm = std::move(other.m_realm);
48 };
49 alert_token &operator=(notification_token &&Other) {
50 m_token = std::move(other.m_token);
51 m_dictionary = std::move(other.m_dictionary);
52 m_list = std::move(other.m_list);
53 m_set = std::move(other.m_set);
54 m_results = std::move(other.m_results);
55 m_realm = std::move(other.m_realm);
56 return *this;
57 };
58 알림 _토큰() = 기본값;
59 ~notification_token() = 기본값;
60
62 : m_token(std::move(token)) {}
63 void unregister() {
64 m_token.unregister();
65 }
66
68 std::shared_ptr<internal::bridge::dictionary> m_dictionary;
69 std::shared_ptr<internal::bridge::list> m_list;
70 std::shared_ptr<internal::bridge::set> m_set;
71 std::shared_ptr<internal::bridge::results> m_results;
73};
74
75// 표시: 속성 변경
79템플릿 <typename T>
80구조체 PropertyChange {
84 std::string name;
85
97 std::optional<typename decltype(T:: 스키마)::variant_t> old_value;
98
103 std::optional<typename decltype(T::schema)::variant_t> new_value;
104};
105
106} // 네임스페이스 영역
107
108#endif /* 알림_hpp */
정의: 알림.hpp:33
정의: 알림.hpp:80
std::Optional< typename Decltype(T::schema)::variant_t > old_value
정의: 알림.hpp:97
std::Optional< typename Decltype(T::schema)::variant_t > new_value
정의: 알림.hpp:103
std::문자열 이름
정의: 알림.hpp:84
정의: realm.hpp:67
정의: 알림.hpp:38