19#ifndef CPPRALM_BRIDGE_DICTIONARY_HPP
20#define CPPRALM_BRIDGE_DICTIONARY_HPP
26#include <cpprealm/internal/bridge/utils.hpp>
28namespace realm::object_store {
34 CoreDictionary = 사전
사용
42 std::vector<std::string> 삭제;
45 std::vector<std::string> 삽입;
48 std::vector<std::string> 수정;
50 bool collection_root_was_deleted =
false;
58 std::vector<std::string>&& m,
59 std::vector<std::string>&& d,
61 : inserts(std::move(i)),
64 collection_root_was_deleted(c) {}
66 std::vector<std::string> 삽입;
67 std::vector<std::string> 수정;
68 std::vector<std::string> 삭제;
72 bool collection_root_was_deleted =
false;
74 [[nodiscard]]
bool empty()
const noException {
75 반환 deletes.empty() && inserts.empty() && Modifys.empty() &&
76 !collection_root_was_deleted;
82 bool ignore_changes_in_initial_notification;
85 bool ignore_changes_in_initial_notification)
87 , ignore_changes_in_initial_notification(ignore_changes_in_initial_notification)
92namespace realm::internal::bridge {
93 사전
사용 = object_store::Dictionary;
94 CoreDictionary
사용 = CoreDictionary;
102 structnotification_token ;
103 struct collection_change_callback;
115 연산자 CoreDictionary()
const;
116 무효 insert(
const std::string& key,
const mixed& value);
117 oid insert(
const std::string& key,
const std::string& value);
118 obj create_and_insert_linking_object(
const std::string& key);
120 혼합 get(
const std::string& key)
const;
121 무효 지우기(
const std::string& key);
122 obj get_object(
const std::string& key);
123 std::pair<mixed, mixed> get_pair(
size_t ndx)
const;
124 size_t find_any_key(
const std::string& value)
const noException;
128 const CoreDictionary* get_dictionary()
const;
129 CoreDictionary* get_dictionary();
130#ifdef CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
131 저장::CoreDictionary m_dictionary[1];
133 std::shared_ptr<CoreDictionary> m_dictionary;
141 사전& 연산자=(
const 사전& 기타) ;
147 무효 insert(
const std::string& key,
const mixed& value);
148 무효 insert(
const std::string &key,
const std::string &value);
149 [[nodiscard]]
size_t size()
const;
150 remove_all()을
무효화 합니다.
151 무효 제거(
const std::string&);
152 std::pair<std::string, mixed> get_pair(
size_t);
153 [[nodiscard]]
size_t get_key_index(
const std::string&);
155 [[nodiscard]]
size_t find(
const std::string&);
156 obj insert_embedded(
const std::string&);
157 notification_token add_notification_callback(std::shared_ptr<collection_change_callback>&& cb);
158 알림 _토큰 add_key_based_notification_callback(std::shared_ptr<dictionary_callback_wrapper>&& cb);
160 const 사전* get_dictionary()
const;
161 사전* get_dictionary();
163 친구 인라인 const 사전* get_dictionary(
const 사전& lst);
165 친구 T get(
딕셔너리&,
const std::string&);
166#ifdef CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
167 저장::Dictionary m_dictionary[1];
169 std::shared_ptr<Dictionary> m_dictionary;
174 [[nodiscard]] T get(
dictionary&,
const std::string&);
176 [[nodiscard]] std::string get(
dictionary&,
const std::string&);
190 [[nodiscard]] int64_t get(
dictionary&,
const std::string&);
192 [[nodiscard]]
double get(
dictionary&,
const std::string&);