Realm C++ SDK 버전 v2.2.0

Table.hpp

1
2//
3//저작권 2024 Realm Inc.
4//
5// Apache 라이선스, 버전 2.0("라이선스")에 따라 라이선스가 부여됩니다.
6// 라이선스를 준수하는 경우를 제외하고는 이 파일을 사용할 수 없습니다.
7// 다음에서 라이선스 사본을 얻을 수 있습니다.
8//
9// http://www.apache.org/licences/LICENSE-2.0
10//
11// 관련 법률에서 요구하거나 문서로 동의하지 않는 한, 소프트웨어
12// 라이선스에 따라 배포되는 것은 '있는 그대로' 배포됩니다,
13// Express 묵시적이든 어떤 종류의 보증이나 조건도 제공하지 않습니다.
14// 권한을 관리하는 특정 언어에 대한 내용은 라이선스를 참조하세요.
15// 라이선스에 따른 제한 사항.
16//
18
19#ifndef CPPRALM_BRIDGE_table_HPP
20#define CPPRALM_BRIDGE_TABLE_HPP
21
22#include <string>
23#include <vector>
24#include <cpprealm/internal/bridge/obj_key.hpp>
25
26네임스페이스 영역 {
27 클래스 TableRef;
28 클래스 ConstTableRef;
29 클래스 혼합;
30 클래스 TableView;
31
32
33 네임스페이스 내부::브릿지 {
34 struct col_key;
35 struct link_chain;
36 구조체 혼합;
37 구조체 객체
38 구조체 쿼리;
39
40 구조체 테이블 {
41 테이블();
42 테이블(const 테이블& 기타) ;
43 테이블& 연산자=(const 테이블& 기타) ;
44 테이블(테이블&& 기타);
45 테이블& 연산자=(테이블&& 기타);
46 ~table();
47 테이블(const TableRef &);
48 테이블(const ConstTableRef &);
49 연산자 TableRef() const;
50 연산자 ConstTableRef() const;
51
52 col_key get_column_key(const std::string_view &name) const;
53 uint32_t get_key() const;
54 std::string get_name() const;
55
56 obj create_object_with_primary_key(const mixed &key) const;
57
58 obj create_object(const obj_key &obj_key = {}) const;
59
60 테이블 get_link_target(const col_key col_key) const;
61 link_chain get_link(const col_key col_key) const;
62
63 [[nodiscard]] bool is_embedded() const;
64
65 구조체 쿼리 query(const std::string &, const std::vector <mixed>&) const;
66 구조체 쿼리 where() const;
67
68 무효 remove_object(const obj_key &) const;
69 obj get_object(const obj_key&) const;
70 bool is_valid(const obj_key&) const;
71 사용 기본 = TableRef;
72#ifdef CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
73 storage::TableRef m_table[1];
74#else
75 std::shared_ptr<TableRef> m_table;
76#endif
77 };
78
79 struct Table_view {
80 table_view();
81 테이블 뷰(const 테이블 뷰& 기타) ;
82 테이블 뷰& 연산자=(const 테이블 뷰& 기타) ;
83 table_view(table_view&& other);
84 table_view& operator=(table_view&& other);
86 table_view(const TableView &);
87 연산자 TableView() const;
88 기본 = TableView 사용
89#ifdef CPPRALM_HAVE_GENERATED_BRIDGE_TYPES
90 storage::TableView m_table_view[1];
91#else
92 std::shared_ptr<TableView> m_table_view;
93#endif
94 };
95
96 bool operator==(const 테이블 &, const 테이블 &);
97
98 bool 연산자!=(const 테이블 &, const 테이블 &);
99 }
100}
101
102#endif //CPPREALM_BRIDGE_table_HPP
정의: col_key.hpp:28
정의: obj_key.hpp:33
정의: query.hpp:131