19#ifndef CPPREALM_MANAGED_PRIMARY_KEY_HPP
20#define CPPREALM_MANAGED_PRIMARY_KEY_HPP
22#include <cprealm/macros.hpp>
23#include <cprealm/rbool.hpp>
26 modelo <
typename,
typename>
36 usando Internal_type = T;
44 usando Internal_type = int64_t;
53 operador int64_t()
const {
66 operador, operador objeto()
const {
73 usando initial_type = std::string;
82 operador std::string()
const {
95 operador, operador uuid()
const {
102 usando Internal_type = std::optional<int64_t>;
119 std::valor opcional<int64_t>;
120 operador std::opcional<int64_t>()
const {
127 usando Internal_type = std::opcional<internal::bridge::object_id>;
138 std::valor opcional<object_id>;
139 operador std::opcional<object_id>()
const {
146 usando initial_type = std::opcional<std::string>;
160 std::valor opcional<std::string>;
161 operador std::opcional<std::string>()
const {
168 usando Internal_type = std::opcional<internal::bridge::uuid>;
179 std::valor<uuid> opcional;
180 operador std::opcional<uuid>()
const {
188 Método operador int64_t();
191 operador int64_t()
const {
192 retornar m_obj->template get<int64_t>(m_key);
195 rbool operator==(
const int64_t& rhs)
const noexceto;
196 operador
rbool !=(
const int64_t& rhs)
const noexceto;
197 rbool operator>(
const int64_t& RHs)
const noexceto;
198 rbool operator>=(
const int64_t& RHs)
const noexceto;
199 operador
rbool <(
const int64_t& RHs)
const noexceto;
200 operador
rbool <=(
const int64_t& RHs)
const noexceto;
201 rbool operator==(
const int& rhs)
const noexceto;
202 operador
rbool !=(
const int& rhs)
const noexceto;
203 rbool operator>(
const int& RHs)
const noexceto;
204 rbool operator>=(
const int& rhs)
const noexceto;
205 operador
rbool <(
const int& rhs)
const noexceto;
206 operador
rbool <=(
const int& rhs)
const noexceto;
214 modelo<
typename,
typename>
215 amigo estrutura, estrutura managed;
221 Método operador std::string();
224 operador std::string()
const {
225 retornar m_obj->template get<std::string>(m_key);
228 rbool operator==(
const std::string& rhs)
const noexceto;
229 operador
rbool !=(
const std::string& rhs)
const noexceto;
230 rbool operator==(
const caractere* rhs)
const noexceto;
231 operador
rbool !=(
const caractere* rhs)
const noexceto;
239 modelo<
typename,
typename>
240 amigo estrutura, estrutura managed;
250 return m_obj->template get<internal::bridge::uuid>(m_key).operator Realm::uuid();
262 modelo<
typename,
typename>
263 amigo estrutura, estrutura managed;
273 return m_obj->template get<internal::bridge::object_id>(m_key).operator Objeto de Realm();
285 modelo<
typename,
typename>
286 amigo estrutura, estrutura managed;
296 Método estático_cast<T
>(m_obj->template get<int64_t>(m_key));
299 rbool operator==(
const T& rhs)
const noexceto {
301 retornar isto->query>equal(m_key, serializar(rhs));
303 return serialize(detach().value) == serialize(rhs);
305 operador
rbool !=(
const T& rhs)
const noexceto {
307 retornar isto->m_rbool_query->not_equal(m_key, serialize(rhs));
309 return serialize(detach().value) != serialize(rhs);
318 modelo<
typename,
typename>
319 amigo estrutura, estrutura managed;
325 Método operador std::opcional<int64_t>();
328 operador std::opcional<int64_t>()
const {
329 return m_obj->get_optional<int64_t>(m_key);
332 rbool operator==(
const std::opcional<int64_t>& rhs)
const noexceto;
333 operador
rbool !=(
const std::optional<int64_t>& rhs)
const noexceto;
334 rbool operator>(
const int64_t& RHs)
const noexceto;
335 rbool operator>=(
const int64_t& RHs)
const noexceto;
336 operador
rbool <(
const int64_t& RHs)
const noexceto;
337 operador
rbool <=(
const int64_t& RHs)
const noexceto;
338 rbool operator>(
const int& RHs)
const noexceto;
339 rbool operator>=(
const int& rhs)
const noexceto;
340 operador
rbool <(
const int& rhs)
const noexceto;
341 operador
rbool <=(
const int& rhs)
const noexceto;
348 modelo<
typename,
typename>
349 amigo estrutura, estrutura managed;
353 estrutura, estrutura managed<
primary_key<T>, std::enable_if_t<std::conjunction_v<typename initial::type_info::is_optional<T>,
354 std::is_enum<typename T::value_type> >> final :
managed {
360 auto v = m_obj->get_optional<int64_t>(m_key);
362 Método estático_cast<typename T::value_type
>(*v);
368 rbool operator==(
const T& rhs)
const noexceto {
370 retornar isto->query>equal(m_key, serializar(rhs));
372 return serialize(detach().value) == serialize(rhs);
374 operador
rbool !=(
const T& rhs)
const noexceto {
376 retornar isto->m_rbool_query->not_equal(m_key, serialize(rhs));
378 return serialize(detach().value) != serialize(rhs);
387 modelo<
typename,
typename>
388 amigo estrutura, estrutura managed;
394 Método operador std::opcional<std::string>();
397 operador std::opcional<std::string>()
const {
398 return m_obj->get_optional<std::string>(m_key);
401 rbool operator==(
const std::opcional<std::string>& rhs)
const noexceto;
402 operador
rbool !=(
const std::optional<std::string>& rhs)
const noexceto;
403 rbool operator==(
const caractere* rhs)
const noexceto;
404 operador
rbool !=(
const caractere* rhs)
const noexceto;
412 modelo<
typename,
typename>
413 amigo estrutura, estrutura managed;
419 Método operador std::opcional<realm::uuid>();
422 operador std::opcional<realm::uuid>()
const {
425 return v->operator ::Realm::uuid();
430 rbool operator==(
const std::opcional<realm::uuid>& rhs)
const noexceto;
431 operador
rbool !=(
const std::optional<realm::uuid>& rhs)
const noexceto;
439 modelo<
typename,
typename>
440 amigo estrutura, estrutura managed;
445 std::optional<realm::object_id> detach()
const {
446 Método operador std::opcional<realm::object_id>();
449 operador std::opcional<realm::object_id>()
const {
452 return v->operator ::realm::object_id();
457 rbool operator==(
const std::opcional<realm::object_id>& rhs)
const noexceto;
458 operador
rbool !=(
const std::optional<realm::object_id>& rhs)
const noexceto;
466 modelo<
typename,
typename>
467 amigo estrutura, estrutura managed;
Definição: object_id.hpp:31
Definição: macros.hpp:286
Definição: managed_primary_key.hpp:43
Definição: managed_primary_key.hpp:72
Definição: managed_primary_key.hpp:30