19#ifndef CPPREALM_BRIDGE_OBJECT_HPP
20#define CPPREALM_BRIDGE_OBJECT_HPP
25#include <unordered_map>
27#include <cpprealm/internal/bridge/utils.hpp>
32 class CollectionChangeCallback;
33 struct CollectionChangeSet;
34 struct NotificationToken;
36namespace realm::internal::bridge {
53 operator NotificationToken()
const;
56#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
57 storage::NotificationToken m_token[1];
59 std::shared_ptr<NotificationToken> m_token;
71 [[nodiscard]]
bool empty()
const;
82 size_t operator*()
const noexcept;
92#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
93 storage::IndexSet_IndexIterator m_iterator[1];
95 std::shared_ptr<std::any> m_iterator;
112#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
113 storage::IndexSet_IndexIteratableAdaptor m_index_iterable_adaptor[1];
115 std::shared_ptr<std::any> m_index_iterable_adaptor;
120#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
121 storage::IndexSet m_idx_set[1];
123 std::shared_ptr<IndexSet> m_idx_set;
134 operator CollectionChangeSet()
const;
135 [[nodiscard]]
index_set deletions()
const;
136 [[nodiscard]]
index_set modifications()
const;
137 [[nodiscard]]
index_set insertions()
const;
138 [[nodiscard]] std::unordered_map<int64_t, index_set> columns()
const;
139 [[nodiscard]]
bool empty()
const;
140 [[nodiscard]]
bool collection_root_was_deleted()
const;
142#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
143 storage::CollectionChangeSet m_change_set[1];
145 std::shared_ptr<CollectionChangeSet> m_change_set;
156 object(
const object& other) ;
157 object& operator=(
const object& other);
159 object& operator=(
object&& other);
165 operator Object()
const;
167 [[nodiscard]]
obj get_obj()
const;
169 [[nodiscard]]
realm get_realm()
const;
171 [[nodiscard]]
bool is_valid()
const;
173 notification_token add_notification_callback(std::shared_ptr<collection_change_callback>&& cb);
180#ifdef CPPREALM_HAVE_GENERATED_BRIDGE_TYPES
181 storage::Object m_object[1];
183 std::shared_ptr<Object> m_object;
Definition: object.hpp:74
Definition: col_key.hpp:28
Definition: object.hpp:148
Definition: object.hpp:126
Definition: dictionary.hpp:138
Definition: object.hpp:99
Definition: object.hpp:63
Definition: object.hpp:45
Definition: obj_key.hpp:53
Definition: object_schema.hpp:33
Definition: object.hpp:154