cxx_qt_lib/core/qset/
qset_qpersistentmodelindex.rs

1// SPDX-FileCopyrightText: 2022 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
2// SPDX-FileContributor: Andrew Hayzen <andrew.hayzen@kdab.com>
3//
4// SPDX-License-Identifier: MIT OR Apache-2.0
5
6#[cxx::bridge]
7pub mod ffi {
8    unsafe extern "C++" {
9        include!("cxx-qt-lib/qpersistentmodelindex.h");
10        type QPersistentModelIndex = crate::QPersistentModelIndex;
11
12        include!("cxx-qt-lib/qset.h");
13        type QSet_QPersistentModelIndex = crate::QSet<QPersistentModelIndex>;
14    }
15
16    unsafe extern "C++" {
17        #[rust_name = "cxx_clear"]
18        fn clear(self: &mut QSet_QPersistentModelIndex);
19        #[rust_name = "cxx_contains"]
20        fn contains(self: &QSet_QPersistentModelIndex, _: &QPersistentModelIndex) -> bool;
21        #[rust_name = "cxx_remove"]
22        fn remove(self: &mut QSet_QPersistentModelIndex, _: &QPersistentModelIndex) -> bool;
23    }
24
25    #[namespace = "rust::cxxqtlib1"]
26    unsafe extern "C++" {
27        include!("cxx-qt-lib/common.h");
28
29        #[rust_name = "qset_clone_QPersistentModelIndex"]
30        fn construct(_: &QSet_QPersistentModelIndex) -> QSet_QPersistentModelIndex;
31        #[rust_name = "qset_default_QPersistentModelIndex"]
32        fn construct() -> QSet_QPersistentModelIndex;
33        #[rust_name = "qset_drop_QPersistentModelIndex"]
34        fn drop(_: &mut QSet_QPersistentModelIndex);
35    }
36
37    #[namespace = "rust::cxxqtlib1::qset"]
38    unsafe extern "C++" {
39        #[rust_name = "get_unchecked_QPersistentModelIndex"]
40        unsafe fn qsetGetUnchecked(
41            set: &QSet_QPersistentModelIndex,
42            pos: isize,
43        ) -> &QPersistentModelIndex;
44        #[rust_name = "insert_QPersistentModelIndex"]
45        fn qsetInsert(_: &mut QSet_QPersistentModelIndex, _: &QPersistentModelIndex);
46        #[rust_name = "len_QPersistentModelIndex"]
47        fn qsetLen(_: &QSet_QPersistentModelIndex) -> isize;
48    }
49}
50
51pub(crate) fn clone(s: &ffi::QSet_QPersistentModelIndex) -> ffi::QSet_QPersistentModelIndex {
52    ffi::qset_clone_QPersistentModelIndex(s)
53}
54
55pub(crate) fn default() -> ffi::QSet_QPersistentModelIndex {
56    ffi::qset_default_QPersistentModelIndex()
57}
58
59pub(crate) fn drop(s: &mut ffi::QSet_QPersistentModelIndex) {
60    ffi::qset_drop_QPersistentModelIndex(s);
61}
62
63pub(crate) unsafe fn get_unchecked(
64    s: &ffi::QSet_QPersistentModelIndex,
65    pos: isize,
66) -> &ffi::QPersistentModelIndex {
67    ffi::get_unchecked_QPersistentModelIndex(s, pos)
68}
69
70pub(crate) fn insert(s: &mut ffi::QSet_QPersistentModelIndex, value: &ffi::QPersistentModelIndex) {
71    ffi::insert_QPersistentModelIndex(s, value);
72}
73
74pub(crate) fn len(s: &ffi::QSet_QPersistentModelIndex) -> isize {
75    ffi::len_QPersistentModelIndex(s)
76}