Realm C++ SDK版本 v 2.2.0

managed_decimal.hpp

1
2//
3// 版权所有 2024 Realm Inc.
4//
5// 根据 Apache 许可证 2.0 版(“许可证”)获得许可;
6// 除非符合合规,否则不得使用此文件。
7// 您可以在以下网址获取许可证副本:
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// 除非适用法律要求或书面同意,否则软件
12// 根据许可证分发是按“原样”分发的,
13// 不提供任何类型的Express或暗示的保证或条件。
14// 请参阅管理权限的特定语言的许可证和
15// 许可证下的限制。
16//
18
19#ifndef CPPREALM_MANAGED_DECIMAL_HPP
20#define CPPREALM_MANAGED_DECIMAL_HPP
21
22#include <cpprealm/macros.hpp>
23#include <cpprealm/types.hpp>
24
25#include <cpprealm/internal/bridge/decimal 128 .hpp>
26
27命名空间域 {
28 class rbool;
29 }
30
31命名空间域 {
32 template <>
33 struct Managed <realm:: Decimal 128 > : managed_base {
34 运用 托管 < 域::decimal 128 >::managed_base:: 操作符=;
35 [[nodiscard]] 域::decimal 128 detach() const {
36 return m_obj->template get<realm::internal::bridge::decimal 128 >(m_key).operator ::realm::decimal 128 ();
37 }
38
39 [[nodiscard]] 域::decimal 128 操作符 *() const {
40 return detach();
41 }
42
43 [[nodiscard]]操作符域::decimal 128 () const {
44 return detach();
45 }
46
47 rbool Operator==( const Decimal 128 & rhs) const noException ;
48 rbool操作符!=( const Decimal 128 & rhs) const noException ;
49 rbool 操作符>( const Decimal 128 & rhs) const noException ;
50 rbool 操作符<( const Decimal 128 & rhs) const noException ;
51 rbool 操作符>=( const Decimal 128 & rhs) const noException ;
52 rbool 操作符<=( const Decimal 128 & rhs) const noException ;
53 Decimal 128 Operator+( const Decimal 128 & o);
54 十进制128操作符-( const十进制128 &o);
55 Decimal 128 Operator*( const Decimal 128 & o);
56 十进制128操作符/(常量十进制128 &o);
57
58 托管< 域::Decimal 128 > & Operator+=( const Decimal 128 & o);
59 Managed<Realm::decimal 128 > & Operator-=( const Decimal 128 & o);
60 托管< 域:Decimal 128 > & 操作符*=( const Decimal 128 & o);
61 托管< 域::Decimal 128 > & 操作符/=( const Decimal 128 & o);
62
63 private :
64 托管() = 默认;
65 托管 ( const 托管 &) = delete ;
66 托管 ( 托管 &&) = delete ;
67 托管 & 操作符=( const 托管 &) = delete ;
68 托管 & 操作符=( 托管 &&) = delete ;
69 template < typename , typename >
70 朋友 struct 托管
71 };
72
73 template <>
74 struct 托管 <std::Optional< 域:decimal 128 >> : Managed_base {
75 运用 托管 <std::Optional< 域::Decimal 128 >>::managed_base:: 操作符=;
76
77 [[nodiscard]] std::Optional<realm::decimal 128 > detach() const {
78 auto v = m_obj->template get_Optional<realm::internal::bridge::decimal 128 >(m_key);
79 if (v) {
80 return v.value()。操作符 :: 域::decimal 128 ();
81 } else {
82 return std::nullopt;
83 }
84 }
85
86 [[nodiscard]] std::Optional< 域::decimal 128 > 操作符 *() const {
87 return detach();
88 }
89
90 [[nodiscard]]操作符std::Optional< 域::decimal 128 >() const {
91 return detach();
92 }
93
94 rbool 操作符==( const std::Optional< 域::decimal 128 >& rhs) const noException ;
95 rbool操作符!=( const std::Optional< 域::decimal 128 >& rhs) const noException ;
96 rbool 操作符>( const std::Optional< 域::decimal 128 >& rhs) const noException ;
97 rbool 操作符<( const std::Optional< 域::decimal 128 >& rhs) const noException ;
98 rbool 操作符>=( const std::Optional< 域:decimal 128 >& rhs) const noException ;
99 rbool 操作符<=( const std::Optional< 域::decimal 128 >& rhs) const noException ;
100 Decimal 128 Operator+( const Decimal 128 & o);
101 十进制128操作符-( const十进制128 &o);
102 Decimal 128 Operator*( const Decimal 128 & o);
103 十进制128操作符/(常量十进制128 &o);
104
105 托管<std::Optional< 域:Decimal 128 >>& Operator+=( const Decimal 128 & o);
107 托管<std::Optional< 域::Decimal 128 >>& 操作符*=( const Decimal 128 & o);
108 托管<std::Optional< 域:Decimal 128 >>& 操作符/=( const Decimal 128 & o);
109
110 private :
111 托管() = 默认;
112 托管 ( const 托管 &) = delete ;
113 托管 ( 托管 &&) = delete ;
114 托管 & 操作符=( const 托管 &) = delete ;
115 托管 & 操作符=( 托管 &&) = delete ;
116 template < typename , typename >
117 朋友 struct 托管
118 };
119
120 } // 命名空间 Realm
121
122#endif //CPREALM_MANAGED_DECIMAL_HPP
定义: rbool.hpp:36
定义: types.hpp: 75
定义: managed_decimal.hpp: 33
定义: macros.hpp:286
定义: obj.hpp:62