Realm C++ SDK Versão C++ v2.2.0

managed_decimal.hpp

1
2//
3// Autores 2024 Realm Inc.
4//
5// Licenciado sob a Licença Apache, Versão 2.0 (a "Licença");
6// você não pode usar este arquivo, exceto em conformidade com a Licença.
7// Você pode obter uma cópia da Licença em
8//
9// http://www.apache.org/license/LICENSE-2.0
10//
11// A menos que exigido pela lei aplicável ou acordado por escrito, o software
12// distribuído sob a Licença é distribuído "Como está",
13// sem garantias ou condições de qualquer tipo, Express ou implícitas.
14// Consulte a Licença para obter as permissões específicas de domínio do idioma e
15// limitações da Licença.
16//
18
19#ifndef CPPREALM_MANAGED_DECIMAL_HPP
20#define CPPREALM_MANAGED_DECIMAL_HPP
21
22#include <cprealm/macros.hpp>
23#include <cprealm/types.hpp>
24
25#include <cpprealm/internal/bridge/decimal128.hpp>
26
27namespace Realm {
28 classe rbool;
29}
30
31namespace Realm {
32 modelo<>
33 estrutura, estrutura managed<realm::decimal128> : managed_base {
34 Usando managed<Realm::decimal128>::managed_base::operator=;
35 [[nodiscard]] Realm::decimal128 detach() const {
36 return m_obj->template get<realm::internal::bridge::decimal128>(m_key).operator ::realm::decimal128();
37 }
38
39 [[nodiscard]] Realm::decimal128 operator *() const {
40 return desvincular();
41 }
42
43 [[nodiscard]] operator Realm::decimal128 () const {
44 return desvincular();
45 }
46
47 rbool operator==(const decimal128& rhs) const noexceto;
48 operador de rbool !=(const decimal128& rhs) const noexceto;
49 operador rbool >( decimal const 128& rhs) const noexceto;
50 operador rbool <(const decimal128& rhs) const noexceto;
51 operador derbool >=( const 128& rhs) const noexceto;
52 operador rbool <=(const decimal128& rhs) const noexceto;
53 operador decimal128 +( decimal const 128& o);
54 operador decimal128 -( decimal const 128& o);
55 operador decimal128 *( decimal const 128& o);
56 operador decimal128 /( decimal const 128& o);
57
58 managed< Realm::decimal128>& operator+=(const decimal128& o);
59 managed<realm::decimal128>& operator-=(const decimal128& o);
60 managed< Realm::decimal128>& operator*=(const decimal128& o);
61 managed< Realm::decimal128>& operator/=(const decimal128& o);
62
63 privado:
64 managed() = default;
65 managed(const managed&) = delete;
66 managed(managed &&) = delete;
67 managed& operator=(const managed&) = delete;
68 managed& operator=(managed&&) = delete;
69 modelo<typename, typename>
70 amigo estrutura, estrutura managed;
71 };
72
73 modelo<>
74 estrutura, estrutura managed<std::optional< Realm::decimal128>> : managed_base {
75 Usando managed<std::optional< Realm::decimal128>>::managed_base::operator=;
76
77 [[nodiscard]] std::opcional <realm::decimal128> detach() const {
78 auto v = m_obj->template get_optional<realm::internal::bridge::decimal128>(m_key);
79 se (v) {
80 return v.value().operator :: Realm::decimal128();
81 } mais {
82 return std::nullopt;
83 }
84 }
85
86 [[nodiscard]] std::opcional < Realm::decimal128> operador *() const {
87 return desvincular();
88 }
89
90 [[nodiscard]] operador std::opcional < Realm::decimal128>() const {
91 return desvincular();
92 }
93
94 rbool operator==(const std::opcional < Realm::decimal128>& rhs) const noexceto;
95 operador de rbool !=(const std::opcional < Realm::decimal128>& rhs) const noexceto;
96 operador de rbool >(const std::opcional < Realm::decimal128>& rhs) const noexceto;
97 operador de rbool <(const std::opcional < Realm::decimal128>& rhs) const noexceto;
98 operador de rbool >=(const std::opcional < Realm::decimal128>& rhs) const noexceto;
99 operador de rbool <=(const std::opcional < Realm::decimal128>& rhs) const noexceto;
100 operador decimal128 +( decimal const 128& o);
101 operador decimal128 -( decimal const 128& o);
102 operador decimal128 *( decimal const 128& o);
103 operador decimal128 /( decimal const 128& o);
104
109
110 privado:
111 managed() = default;
112 managed(const managed&) = delete;
113 managed(managed &&) = delete;
114 managed& operator=(const managed&) = delete;
115 managed& operator=(managed&&) = delete;
116 modelo<typename, typename>
117 amigo estrutura, estrutura managed;
118 };
119
120} // namespace realm
121
122#endif //CPPrealm_MANAGED_DECIMAL_HPP
Definição: rbool.hpp:36
Definição: tipos.hpp:75
Definição: managed_decimal.hpp:33
Definição: macros.hpp:286
Definição: obj.hpp:62