cxx_qt_lib/core/qhash/
qhash_qstring_qvariant.rs1use cxx::{type_id, ExternType};
7
8#[cxx::bridge]
9pub mod ffi {
10 unsafe extern "C++" {
11 include!("cxx-qt-lib/qstring.h");
12 type QString = crate::QString;
13 include!("cxx-qt-lib/qvariant.h");
14 type QVariant = crate::QVariant;
15
16 include!("cxx-qt-lib/qhash.h");
17 type QHash_QString_QVariant = crate::QHash<super::QHashPair_QString_QVariant>;
18 }
19
20 unsafe extern "C++" {
21 #[rust_name = "cxx_clear"]
22 fn clear(self: &mut QHash_QString_QVariant);
23 #[rust_name = "cxx_contains"]
24 fn contains(self: &QHash_QString_QVariant, key: &QString) -> bool;
25 }
26
27 #[namespace = "rust::cxxqtlib1"]
28 unsafe extern "C++" {
29 include!("cxx-qt-lib/common.h");
30
31 #[rust_name = "qhash_clone_QString_QVariant"]
32 fn construct(_: &QHash_QString_QVariant) -> QHash_QString_QVariant;
33 #[rust_name = "qhash_default_QString_QVariant"]
34 fn construct() -> QHash_QString_QVariant;
35 #[rust_name = "qhash_drop_QString_QVariant"]
36 fn drop(_: &mut QHash_QString_QVariant);
37 }
38
39 #[namespace = "rust::cxxqtlib1::qhash"]
40 unsafe extern "C++" {
41 #[rust_name = "get_or_default_QString_QVariant"]
42 fn qhashGetOrDefault(_: &QHash_QString_QVariant, key: &QString) -> QVariant;
43 #[rust_name = "get_unchecked_key_QString_QVariant"]
44 unsafe fn qhashGetUncheckedKey(_: &QHash_QString_QVariant, pos: isize) -> &QString;
45 #[rust_name = "get_unchecked_value_QString_QVariant"]
46 unsafe fn qhashGetUncheckedValue(_: &QHash_QString_QVariant, pos: isize) -> &QVariant;
47 #[rust_name = "insert_QString_QVariant"]
48 fn qhashInsert(_: &mut QHash_QString_QVariant, key: &QString, value: &QVariant);
49 #[rust_name = "len_QString_QVariant"]
50 fn qhashLen(_: &QHash_QString_QVariant) -> isize;
51 #[rust_name = "remove_QString_QVariant"]
52 fn qhashRemove(_: &mut QHash_QString_QVariant, key: &QString) -> bool;
53 }
54}
55
56pub(crate) fn clone(hash: &ffi::QHash_QString_QVariant) -> ffi::QHash_QString_QVariant {
57 ffi::qhash_clone_QString_QVariant(hash)
58}
59
60pub(crate) fn default() -> ffi::QHash_QString_QVariant {
61 ffi::qhash_default_QString_QVariant()
62}
63
64pub(crate) fn drop(hash: &mut ffi::QHash_QString_QVariant) {
65 ffi::qhash_drop_QString_QVariant(hash);
66}
67
68pub(crate) fn get_or_default(
69 hash: &ffi::QHash_QString_QVariant,
70 key: &ffi::QString,
71) -> ffi::QVariant {
72 ffi::get_or_default_QString_QVariant(hash, key)
73}
74
75pub(crate) unsafe fn get_unchecked_key(
76 hash: &ffi::QHash_QString_QVariant,
77 pos: isize,
78) -> &ffi::QString {
79 ffi::get_unchecked_key_QString_QVariant(hash, pos)
80}
81
82pub(crate) unsafe fn get_unchecked_value(
83 hash: &ffi::QHash_QString_QVariant,
84 pos: isize,
85) -> &ffi::QVariant {
86 ffi::get_unchecked_value_QString_QVariant(hash, pos)
87}
88
89pub(crate) fn insert(
90 hash: &mut ffi::QHash_QString_QVariant,
91 key: &ffi::QString,
92 value: &ffi::QVariant,
93) {
94 ffi::insert_QString_QVariant(hash, key, value);
95}
96
97pub(crate) fn len(hash: &ffi::QHash_QString_QVariant) -> isize {
98 ffi::len_QString_QVariant(hash)
99}
100
101pub(crate) fn remove(hash: &mut ffi::QHash_QString_QVariant, key: &ffi::QString) -> bool {
102 ffi::remove_QString_QVariant(hash, key)
103}
104
105#[allow(non_camel_case_types)]
106pub struct QHashPair_QString_QVariant;
107
108unsafe impl ExternType for QHashPair_QString_QVariant {
109 type Id = type_id!("QHashPair_QString_QVariant");
110 type Kind = cxx::kind::Trivial;
111}