19#ifndef CPPRALM_BRIDGE_QUERY_HPP
20#define CPPRALM_BRIDGE_QUERY_HPP
22#include <cpprealm/internal/bridge/col_key.hpp>
23#include <cpprealm/internal/bridge/obj.hpp>
24#include <cpprealm/internal/bridge/utils.hpp>
37namespace realm::internal::bridge {
51 subexpr(std::unique_ptr<Subexpr> other);
53 query equal(
const std::optional<int64_t>& rhs)
const;
54 query not_equal(
const std::optional<int64_t>& rhs)
const;
55 쿼리 large(
const std::optional<int64_t>& rhs)
const;
56 queryless (
const std::optional<int64_t>& rhs)
const;
57 query large_equal(
const std::optional<int64_t>& rhs)
const;
60 쿼리 equal(
const std::optional<bool>& rhs)
const;
61 query not_equal(
const std::optional<bool>& rhs)
const;
63 query equal(
const std::optional<double>& rhs)
const;
64 쿼리 not_equal(
const std::optional<double>& rhs)
const;
65 쿼리 large(
const std::optional<double>& rhs)
const;
66 쿼리 (
const std::optional<double>& rhs)
const;
67 query large_equal(
const std::optional<double>& rhs)
const;
70 query equal(
const std::optional<binary>& rhs)
const;
71 query not_equal(
const std::optional<binary>& rhs)
const;
73 query equal(
const std::optional<timestamp>& rhs)
const;
74 쿼리 not_equal(
const std::optional<timestamp>& rhs)
const;
75 query large(
const std::optional<timestamp>& rhs)
const;
76 쿼리 (
const std::optional<timestamp>& rhs)
const;
77 query large_equal(
const std::optional<timestamp>& rhs)
const;
80 query equal(
const std::optional<std::string>& rhs)
const;
81 query not_equal(
const std::optional<std::string>& rhs)
const;
82 쿼리 contains(
const std::optional<std::string>& rhs,
bool case_critical =
true)
const;
84 query equal(
const std::optional<internal::bridge::uuid>& rhs)
const;
85 query not_equal(
const std::optional<internal::bridge::uuid>& rhs)
const;
87 query equal(
const std::optional<internal::bridge::object_id>& rhs)
const;
88 query not_equal(
const std::optional<internal::bridge::object_id>& rhs)
const;
90 query equal(
const std::optional<internal::bridge::decimal128>& rhs)
const;
91 쿼리 not_equal(
const std::optional<internal::bridge::decimal128>& rhs)
const;
92 쿼리 large(
const std::optional<internal::bridge::decimal128>& rhs)
const;
93 queryless (
const std::optional<internal::bridge::decimal128>& rhs)
const;
94 쿼리 large_equal(
const std::optional<internal::bridge::decimal128>& rhs)
const;
95 queryless_equal (
const std::optional<internal::bridge::decimal128>& rhs)
const;
100 쿼리 equal(
const std::optional<obj>&)
const;
101 query not_equal(
const std::optional<obj>&)
const;
104 std::shared_ptr<Subexpr> m_subexpr;
128 std::shared_ptr<LinkChain> m_link_chain;
140 쿼리 and_query(
const 쿼리&);
151 쿼리& not_equal(
col_key column_key, int64_t value);
156 query& between(
col_key column_key, int64_t from, int64_t to);
162 쿼리& large_equal(
col_key column_key,
double value);
165 query& between(
col_key column_key,
double from,
double to);
200 query& equal(
col_key column_key, std::string_view value,
bool case_critical =
true);
201 쿼리& not_equal(
col_key column_key, std::string_view value,
bool case_critical =
true);
202 query& started_with(
col_key column_key,
const std::string& value,
bool case_critical =
true);
203 query& endpoints_with(
col_key column_key,
const std::string& value,
bool case_critical =
true);
204 query& contains(
col_key column_key, std::string_view value,
bool case_critical =
true);
205 query& like(
col_key column_key,
const std::string& value,
bool case_critical =
true);
211 query& endpoints_with(
col_key column_key,
바이너리 값,
bool case_critical =
true);
216 쿼리& equal(
col_key column_key,
혼합 값,
bool case_critical =
true);
217 query& not_equal(
col_key column_key,
혼합 값,
bool case_critical =
true);
222 query& started_with(
col_key column_key,
혼합 값,
bool case_critical =
true);
223 query& endpoints_with(
col_key column_key,
혼합 값,
bool case_critical =
true);
224 query& contains(
col_key column_key,
혼합 값,
bool case_critical =
true);
225 쿼리& like(
col_key column_key,
혼합 값,
bool case_critical =
true);
229 쿼리& not_equal(
col_key column_key,
bool value);
235 쿼리& dictionary_has_value_for_key_equals(
col_key column_key,
const std::string& key,
const 혼합& 값);
236 쿼리& dictionary_has_value_for_key_not_equals(
col_key column_key,
const std::string& key,
const 혼합& 값);
237 쿼리& dictionary_has_value_for_key_greater_than(
col_key column_key,
const std::string& key,
const 혼합& 값);
238 쿼리& dictionary_has_value_for_key_less_than(
col_key column_key,
const std::string& 키,
const 혼합& 값);
239 쿼리& dictionary_has_value_for_key_greater_than_equals(
col_key column_key,
const std::string& 키,
const 혼합& 값);
240 쿼리& dictionary_has_value_for_key_less_than_equals(
col_key column_key,
const std::string& 키,
const 혼합& 값);
241 쿼리& dictionary_contains_string_for_key(
col_key column_key,
const std::string& key,
const std::string& value);
242 쿼리& dictionary_contains_key(
col_key column_key,
const std::string& key);
243 subexpr dictionary_link_subexpr(
col_key column_key,
col_key link_column_key,
const std::string& key);
246 static 쿼리 falsepredicate();
248 std::string description()
const;
251#ifdef CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
252 storage::Query m_query[1];
254 std::shared_ptr<Query> m_query;