19#ifndef CPPRALM_MANAGED_PRIMARY_KEY_HPP
20#defin CPPRALM_MANAGED_PRIMARY_KEY_HPP
22#include <cpprealm/macros.hpp>
23#include <cpprealm/rbool.hpp>
26 템플릿 <
typename,
typename>
32 프라이머리 _키 (
const T& v) {
73 using Internal_type = std::string;
82 연산자 std::string()
const {
101 구조체 프라이머리_키 <std::Optional<int64_t>> {
102 using 내부 유형 = std::Optional<int64_t>;
119 std:: optional<int64_t> 값;
120 연산자 std::Optional<int64_t>()
const {
126 구조체 프라이머리_키 <std::Optional<object_id>> {
127 using 내부 유형 = std::Optional<internal::bridge::object_id>;
138 std:: optional<object_id> value;
139 연산자 std::Optional<object_id>()
const {
145 구조체 프라이머리_키 <std::Optional<std::string>> {
146 using 내부 유형 = std::Optional<std::string>;
161 연산자 std::Optional<std::string>()
const {
168 using 내부 유형 = std::Optional<internal::bridge::uuid>;
179 std::Optional<uuid> 값;
180 연산자 std::Optional<uuid>()
const {
191 연산자 int64_t()
const {
192 return m_obj->템플릿 get<int64_t>(m_key);
195 rbool 연산자==(
const int64_t& rhs)
const noException;
196 rbool 연산자!=(
const int64_t& rhs)
const noException;
197 rbool 연산자>(
const int64_t& rhs)
const noException;
198 rbool operator>=(
const int64_t& rhs)
const noException;
199 rbool 연산자<(
const int64_t& rhs)
const noException;
200 rbool 연산자<=(
const int64_t& rhs)
const noException;
201 rbool 연산자==(
const int& rhs)
const noException;
202 rbool 연산자!=(
const int& rhs)
const noException;
203 rbool 연산자>(
const int& rhs)
const noException;
204 rbool 연산자>=(
const int& rhs)
const noException;
205 rbool operator<(
const int& rhs)
const noException;
206 rbool 연산자<=(
const int& rhs)
const noException;
214 템플릿<
typename,
typename>
221 반환 연산자 std::string();
224 연산자 std::string()
const {
225 return m_obj->템플릿 get<std::string>(m_key);
228 rbool 연산자==(
const std::string& rhs)
const noException;
229 rbool 연산자!=(
const std::string& rhs)
const noException;
230 rbool 연산자==(
const char* rhs)
const noException;
231 rbool 연산자!=(
const char* rhs)
const noException;
239 템플릿<
typename,
typename>
250 반환 m_obj->템플릿 get<internal::bridge::uuid>(m_key).연산자 ::realm::uuid();
262 템플릿<
typename,
typename>
273 반환 m_obj->템플릿 get<internal::bridge::object_id>(m_key).연산자 Realm 객체();
285 템플릿<
typename,
typename>
296 반환 정적_캐스트
<T
>(m_obj->템플릿 get<int64_t>(m_key));
299 rbool 연산자==(
const T& rhs)
const noException {
300 if (This->m_rbool_query) {
301 return this->m_rbool_query->equal(m_key, serialize(rhs));
303 반환 직렬화(분리().값) == 직렬화(rhs);
305 rbool 연산자!=(
const T& rhs)
const no exception {
306 if (This->m_rbool_query) {
307 return this->쿼리>not_equal(m_key, serialize(rhs));
309 반환 직렬화(분리().값) != 직렬화(rhs);
318 템플릿<
typename,
typename>
325 반환 연산자 std::Optional<int64_t>();
328 연산자 std::Optional<int64_t>()
const {
329 return m_obj->get_Optional<int64_t>(m_key);
332 rbool 연산자==(
const std::Optional<int64_t>& rhs)
const noException;
333 rbool 연산자!=(
const std::Optional<int64_t>& rhs)
const noException;
334 rbool 연산자>(
const int64_t& rhs)
const noException;
335 rbool operator>=(
const int64_t& rhs)
const noException;
336 rbool 연산자<(
const int64_t& rhs)
const noException;
337 rbool 연산자<=(
const int64_t& rhs)
const noException;
338 rbool 연산자>(
const int& rhs)
const noException;
339 rbool 연산자>=(
const int& rhs)
const noException;
340 rbool operator<(
const int& rhs)
const noException;
341 rbool 연산자<=(
const int& rhs)
const noException;
348 템플릿<
typename,
typename>
353 구조체 managed<
프라이머리 키<T>, std:: enable_if_t <std::conjoin_v<typename 내부::type_info::is_Optional<T>,
354 <typename T::value_type>
managed
360 auto v = m_obj->get_Optional<int64_t>(m_key);
362 반환 static_캐스트<typename T::value_type
>(*v);
368 rbool 연산자==(
const T& rhs)
const noException {
369 if (This->m_rbool_query) {
370 return this->m_rbool_query->equal(m_key, serialize(rhs));
372 반환 직렬화(분리().값) == 직렬화(rhs);
374 rbool 연산자!=(
const T& rhs)
const no exception {
375 if (This->m_rbool_query) {
376 return this->쿼리>not_equal(m_key, serialize(rhs));
378 반환 직렬화(분리().값) != 직렬화(rhs);
387 템플릿<
typename,
typename>
394 반환 연산자 std::Optional<std::string>();
397 연산자 std::Optional<std::string>()
const {
398 return m_obj->get_Optional<std::string>(m_key);
401 rbool 연산자==(
const std::Optional<std::string>& rhs)
const noException;
402 rbool 연산자!=(
const std::Optional<std::string>& rhs)
const noException;
403 rbool 연산자==(
const char* rhs)
const noException;
404 rbool 연산자!=(
const char* rhs)
const noException;
412 템플릿<
typename,
typename>
419 반환 연산자 std::Optional<realm::uuid>();
422 operator std::Optional<realm::uuid>()
const {
425 v->연산자
반환 ::realm::uuid();
430 rbool 연산자==(
const std::Optional<realm::uuid>& rhs)
const noException;
431 rbool 연산자!=(
const std::Optional<realm::uuid>& rhs)
const noException;
439 템플릿<
typename,
typename>
446 반환 연산자 std::Optional<realm::object_id>();
449 연산자 std::Optional<realm::object_id>()
const {
452 return v->연산자::Realm 객체;
457 rbool 연산자==(
const std::Optional<realm::object_id>& rhs)
const noException;
458 rbool 연산자!=(
const std::Optional<realm::object_id>& rhs)
const noException;
466 템플릿<
typename,
typename>
정의: managed_primary_key.hpp:43
정의: managed_primary_key.hpp:72
정의: managed_primary_key.hpp:30