cxx_qt_lib/core/qvector/
qvector_i16.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/qvector.h");
10        type QVector_i16 = crate::QVector<i16>;
11    }
12
13    unsafe extern "C++" {
14        #[rust_name = "cxx_clear"]
15        fn clear(self: &mut QVector_i16);
16        #[rust_name = "cxx_contains"]
17        fn contains(self: &QVector_i16, _: &i16) -> bool;
18    }
19
20    #[namespace = "rust::cxxqtlib1"]
21    unsafe extern "C++" {
22        include!("cxx-qt-lib/common.h");
23
24        #[rust_name = "qvector_clone_i16"]
25        fn construct(_: &QVector_i16) -> QVector_i16;
26        #[rust_name = "qvector_default_i16"]
27        fn construct() -> QVector_i16;
28        #[rust_name = "qvector_drop_i16"]
29        fn drop(_: &mut QVector_i16);
30    }
31
32    #[namespace = "rust::cxxqtlib1::qvector"]
33    unsafe extern "C++" {
34        #[rust_name = "reserve_i16"]
35        fn qvectorReserve(_: &mut QVector_i16, size: isize);
36        #[rust_name = "append_i16"]
37        fn qvectorAppend(_: &mut QVector_i16, _: &i16);
38        #[rust_name = "get_unchecked_i16"]
39        #[allow(clippy::needless_lifetimes)]
40        unsafe fn qvectorGetUnchecked<'a>(set: &'a QVector_i16, pos: isize) -> &'a i16;
41        #[rust_name = "index_of_i16"]
42        fn qvectorIndexOf(_: &QVector_i16, _: &i16) -> isize;
43        #[rust_name = "insert_i16"]
44        fn qvectorInsert(_: &mut QVector_i16, _: isize, _: &i16);
45        #[rust_name = "len_i16"]
46        fn qvectorLen(_: &QVector_i16) -> isize;
47        #[rust_name = "remove_i16"]
48        fn qvectorRemove(_: &mut QVector_i16, _: isize);
49    }
50}
51
52pub(crate) fn append(v: &mut ffi::QVector_i16, value: &i16) {
53    ffi::append_i16(v, value);
54}
55
56pub(crate) fn clone(v: &ffi::QVector_i16) -> ffi::QVector_i16 {
57    ffi::qvector_clone_i16(v)
58}
59
60pub(crate) fn reserve(v: &mut ffi::QVector_i16, size: isize) {
61    ffi::reserve_i16(v, size);
62}
63
64pub(crate) fn default() -> ffi::QVector_i16 {
65    ffi::qvector_default_i16()
66}
67
68pub(crate) fn drop(v: &mut ffi::QVector_i16) {
69    ffi::qvector_drop_i16(v);
70}
71
72pub(crate) unsafe fn get_unchecked(v: &ffi::QVector_i16, pos: isize) -> &i16 {
73    ffi::get_unchecked_i16(v, pos)
74}
75
76pub(crate) fn index_of(v: &ffi::QVector_i16, value: &i16) -> isize {
77    ffi::index_of_i16(v, value)
78}
79
80pub(crate) fn insert(v: &mut ffi::QVector_i16, pos: isize, value: &i16) {
81    ffi::insert_i16(v, pos, value);
82}
83
84pub(crate) fn len(v: &ffi::QVector_i16) -> isize {
85    ffi::len_i16(v)
86}
87
88pub(crate) fn remove(s: &mut ffi::QVector_i16, pos: isize) {
89    ffi::remove_i16(s, pos);
90}