Skip to main content

qt_3d_core/
lib.rs

1#![cfg_attr(feature = "ritual_rustdoc_nightly", feature(doc_cfg))]
2//! This crate was generated by `ritual`.
3//!                     See [README](https://github.com/rust-qt/ritual) for more information.
4
5mod __ffi {
6    //! Functions provided by the C++ wrapper library
7
8    include!(concat!(env!("OUT_DIR"), "/ffi.rs"));
9}
10pub mod ops;
11pub use ::cpp_core;
12pub use ::qt_core;
13pub use ::qt_gui;
14/// <p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p>
15///
16/// C++ class: <span style='color: green;'>```Qt3DCore::QNodeId```</span>.
17///
18/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p></div>
19#[repr(C)]
20pub struct QNodeId {
21    _unused: u8,
22}
23impl QNodeId {
24    /// <p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p>
25    ///
26    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId& Qt3DCore::QNodeId::operator=(const Qt3DCore::QNodeId& other)```</span>.
27    ///
28    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p></div>
29    #[inline(always)]
30    pub unsafe fn copy_from(
31        &self,
32        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
33    ) -> ::cpp_core::Ref<crate::QNodeId> {
34        let ffi_result = {
35            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_operator_2(
36                self as *const crate::QNodeId as *mut crate::QNodeId,
37                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(other)
38                    .as_raw_ptr(),
39            )
40        };
41        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
42    }
43
44    /// <p>Returns node id.</p>
45    ///
46    /// Calls C++ function: <span style='color: green;'>```static Qt3DCore::QNodeId Qt3DCore::QNodeId::createId()```</span>.
47    ///
48    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#createId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns node id.</p></div>
49    #[inline(always)]
50    pub unsafe fn create_id() -> ::cpp_core::CppBox<crate::QNodeId> {
51        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_createId() };
52        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
53    }
54
55    /// <p>Returns TODO</p>
56    ///
57    /// Calls C++ function: <span style='color: green;'>```quint64 Qt3DCore::QNodeId::id() const```</span>.
58    ///
59    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#id">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns TODO</p></div>
60    #[inline(always)]
61    pub unsafe fn id(&self) -> u64 {
62        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_id(self as *const crate::QNodeId)
63    }
64
65    /// <p>Returns TODO</p>
66    ///
67    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNodeId::isNull() const```</span>.
68    ///
69    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#isNull">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns TODO</p></div>
70    #[inline(always)]
71    pub unsafe fn is_null(&self) -> bool {
72        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_isNull(self as *const crate::QNodeId)
73    }
74
75    /// <p>Default constructs an instance of QNodeId.</p>
76    ///
77    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeId::QNodeId()```</span>.
78    ///
79    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#QNodeId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Default constructs an instance of QNodeId.</p></div>
80    #[inline(always)]
81    pub unsafe fn new() -> ::cpp_core::CppBox<crate::QNodeId> {
82        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_QNodeId() };
83        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
84    }
85
86    /// <p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p>
87    ///
88    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeId::QNodeId(const Qt3DCore::QNodeId& other)```</span>.
89    ///
90    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p></div>
91    #[inline(always)]
92    pub unsafe fn new_copy(
93        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
94    ) -> ::cpp_core::CppBox<crate::QNodeId> {
95        let ffi_result = {
96            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_QNodeId1(
97                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(other)
98                    .as_raw_ptr(),
99            )
100        };
101        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
102    }
103
104    /// <p>TODO</p>
105    ///
106    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNodeId::operator bool() const```</span>.
107    ///
108    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#operator-bool">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>TODO</p></div>
109    #[inline(always)]
110    pub unsafe fn to_bool(&self) -> bool {
111        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_operator_bool(
112            self as *const crate::QNodeId,
113        )
114    }
115}
116
117/// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> is the base class for aspects that provide a vertical slice of behavior.</p>
118///
119/// C++ class: <span style='color: green;'>```Qt3DCore::QAbstractAspect```</span>.
120///
121/// <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> is the base class for aspects that provide a vertical slice of behavior.</p></div>
122#[repr(C)]
123pub struct QAbstractAspect {
124    _unused: u8,
125}
126impl QAbstractAspect {
127    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QAbstractAspect::metaObject() const```</span>.
128    #[inline(always)]
129    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
130        let ffi_result = {
131            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_metaObject(
132                self as *const crate::QAbstractAspect,
133            )
134        };
135        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
136    }
137
138    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> with <i>parent</i></p>
139    ///
140    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QAbstractAspect::QAbstractAspect(QObject* parent = …)```</span>.
141    ///
142    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html#QAbstractAspect">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> with <i>parent</i></p></div>
143    #[inline(always)]
144    pub unsafe fn new_1a(
145        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
146    ) -> ::qt_core::QBox<crate::QAbstractAspect> {
147        let ffi_result = {
148            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_QAbstractAspect(
149                ::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent)
150                    .as_raw_ptr() as *mut ::qt_core::QObject,
151            )
152        };
153        ::qt_core::QBox::from_raw(ffi_result)
154    }
155
156    /// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> is the base class for aspects that provide a vertical slice of behavior.</p>
157    ///
158    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QAbstractAspect::QAbstractAspect()```</span>.
159    ///
160    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> is the base class for aspects that provide a vertical slice of behavior.</p></div>
161    #[inline(always)]
162    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QAbstractAspect> {
163        let ffi_result =
164            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_QAbstractAspect1() };
165        ::qt_core::QBox::from_raw(ffi_result)
166    }
167
168    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QAbstractAspect::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
169    #[inline(always)]
170    pub unsafe fn qt_metacall(
171        &self,
172        arg1: ::qt_core::q_meta_object::Call,
173        arg2: ::std::os::raw::c_int,
174        arg3: *mut *mut ::std::ffi::c_void,
175    ) -> ::std::os::raw::c_int {
176        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_qt_metacall(
177            self as *const crate::QAbstractAspect as *mut crate::QAbstractAspect,
178            arg1,
179            arg2,
180            arg3,
181        )
182    }
183
184    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QAbstractAspect::qt_metacast(const char* arg1)```</span>.
185    #[inline(always)]
186    pub unsafe fn qt_metacast(
187        &self,
188        arg1: *const ::std::os::raw::c_char,
189    ) -> *mut ::std::ffi::c_void {
190        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_qt_metacast(
191            self as *const crate::QAbstractAspect as *mut crate::QAbstractAspect,
192            arg1,
193        )
194    }
195
196    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
197    #[inline(always)]
198    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
199        let ffi_result =
200            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_staticMetaObject() };
201        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
202            .expect("attempted to construct a null Ref")
203    }
204
205    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QAbstractAspect::tr(const char* s, const char* c, int n)```</span>.
206    #[inline(always)]
207    pub unsafe fn tr(
208        s: *const ::std::os::raw::c_char,
209        c: *const ::std::os::raw::c_char,
210        n: ::std::os::raw::c_int,
211    ) -> ::cpp_core::CppBox<::qt_core::QString> {
212        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_tr(s, c, n) };
213        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
214    }
215
216    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QAbstractAspect::trUtf8(const char* s, const char* c, int n)```</span>.
217    #[inline(always)]
218    pub unsafe fn tr_utf8(
219        s: *const ::std::os::raw::c_char,
220        c: *const ::std::os::raw::c_char,
221        n: ::std::os::raw::c_int,
222    ) -> ::cpp_core::CppBox<::qt_core::QString> {
223        let ffi_result =
224            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_trUtf8(s, c, n) };
225        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
226    }
227}
228
229pub mod q_aspect_engine {
230    //! C++ type: <span style='color: green;'>```Qt3DCore::QAspectEngine```</span>
231
232    /// C++ enum: <span style='color: green;'>```Qt3DCore::QAspectEngine::RunMode```</span>.
233    #[derive(Debug, Clone, Copy, PartialEq, Eq)]
234    #[repr(transparent)]
235    pub struct RunMode(::std::os::raw::c_int);
236
237    impl From<::std::os::raw::c_int> for RunMode {
238        fn from(value: ::std::os::raw::c_int) -> Self {
239            RunMode(value)
240        }
241    }
242
243    impl From<RunMode> for ::std::os::raw::c_int {
244        fn from(value: RunMode) -> Self {
245            value.0
246        }
247    }
248
249    impl RunMode {
250        pub fn to_int(&self) -> ::std::os::raw::c_int {
251            self.0
252        }
253    }
254
255    impl RunMode {
256        /// C++ enum variant: <span style='color: green;'>```Manual = 0```</span>
257        #[allow(non_upper_case_globals)]
258        pub const Manual: crate::q_aspect_engine::RunMode = crate::q_aspect_engine::RunMode(0);
259        /// C++ enum variant: <span style='color: green;'>```Automatic = 1```</span>
260        #[allow(non_upper_case_globals)]
261        pub const Automatic: crate::q_aspect_engine::RunMode = crate::q_aspect_engine::RunMode(1);
262    }
263}
264/// <p>Responsible for handling all the <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> subclasses that have been registered with the scene.</p>
265///
266/// C++ class: <span style='color: green;'>```Qt3DCore::QAspectEngine```</span>.
267///
268/// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Responsible for handling all the <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> subclasses that have been registered with the scene.</p>
269/// <p>The Qt3D run loop is controlled by the Qt3DRender::QAspectEngine.</p>
270/// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">Qt3DCore::QAbstractAspect</a> subclasses can be registered by calling Qt3DCore::QAspectEngine::registerAspect() which will take care of registering the aspect and in turn that will call Qt3DCore::QAbstractAspect::onRegistered();</p>
271/// <p>The simulation loop is launched as soon as a root <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is set on the <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">Qt3DCore::QAspectEngine</a>. This is followed by a call to onEngineStartup() on each aspect so that they can start their simulation work.</p>
272/// <p>The simulation loop is stopped when the root entity is set to Qt3DCore::QEntityPtr(). This calls onEngineShutdown() on each aspect so that they can stop performing their simulation work.</p>
273/// <p>Setting a new valid root entity would restart the simulation loop again.</p></div>
274#[repr(C)]
275pub struct QAspectEngine {
276    _unused: u8,
277}
278impl QAspectEngine {
279    /// <p>Returns the aspects owned by the aspect engine.</p>
280    ///
281    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*> Qt3DCore::QAspectEngine::aspects() const```</span>.
282    ///
283    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#aspects">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the aspects owned by the aspect engine.</p></div>
284    #[inline(always)]
285    pub unsafe fn aspects(&self) -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
286        let ffi_result = {
287            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_aspects(
288                self as *const crate::QAspectEngine,
289            )
290        };
291        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
292    }
293
294    /// <p>Executes the given <i>command</i> on aspect engine. Valid commands are:</p>
295    ///
296    /// Calls C++ function: <span style='color: green;'>```QVariant Qt3DCore::QAspectEngine::executeCommand(const QString& command)```</span>.
297    ///
298    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#executeCommand">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Executes the given <i>command</i> on aspect engine. Valid commands are:</p>
299    /// <ul>
300    /// <li>"list aspects"</li>
301    /// </ul>
302    /// <p>Returns the reply for the command.</p></div>
303    #[inline(always)]
304    pub unsafe fn execute_command(
305        &self,
306        command: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
307    ) -> ::cpp_core::CppBox<::qt_core::QVariant> {
308        let ffi_result = {
309            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_executeCommand(
310                self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
311                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(command)
312                    .as_raw_ptr(),
313            )
314        };
315        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
316    }
317
318    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QAspectEngine::metaObject() const```</span>.
319    #[inline(always)]
320    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
321        let ffi_result = {
322            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_metaObject(
323                self as *const crate::QAspectEngine,
324            )
325        };
326        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
327    }
328
329    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">QAspectEngine</a> with <i>parent</i>.</p>
330    ///
331    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QAspectEngine::QAspectEngine(QObject* parent = …)```</span>.
332    ///
333    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#QAspectEngine">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">QAspectEngine</a> with <i>parent</i>.</p></div>
334    #[inline(always)]
335    pub unsafe fn new_1a(
336        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
337    ) -> ::qt_core::QBox<crate::QAspectEngine> {
338        let ffi_result = {
339            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_QAspectEngine(
340                ::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent)
341                    .as_raw_ptr() as *mut ::qt_core::QObject,
342            )
343        };
344        ::qt_core::QBox::from_raw(ffi_result)
345    }
346
347    /// <p>Responsible for handling all the <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> subclasses that have been registered with the scene.</p>
348    ///
349    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QAspectEngine::QAspectEngine()```</span>.
350    ///
351    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Responsible for handling all the <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">QAbstractAspect</a> subclasses that have been registered with the scene.</p>
352    /// <p>The Qt3D run loop is controlled by the Qt3DRender::QAspectEngine.</p>
353    /// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qabstractaspect.html">Qt3DCore::QAbstractAspect</a> subclasses can be registered by calling Qt3DCore::QAspectEngine::registerAspect() which will take care of registering the aspect and in turn that will call Qt3DCore::QAbstractAspect::onRegistered();</p>
354    /// <p>The simulation loop is launched as soon as a root <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is set on the <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">Qt3DCore::QAspectEngine</a>. This is followed by a call to onEngineStartup() on each aspect so that they can start their simulation work.</p>
355    /// <p>The simulation loop is stopped when the root entity is set to Qt3DCore::QEntityPtr(). This calls onEngineShutdown() on each aspect so that they can stop performing their simulation work.</p>
356    /// <p>Setting a new valid root entity would restart the simulation loop again.</p></div>
357    #[inline(always)]
358    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QAspectEngine> {
359        let ffi_result =
360            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_QAspectEngine1() };
361        ::qt_core::QBox::from_raw(ffi_result)
362    }
363
364    /// <p>If using the manual run mode, this function executes the jobs for each aspect. It is blocking and won't return until all jobs have been completed.</p>
365    ///
366    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QAspectEngine::processFrame()```</span>.
367    ///
368    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#processFrame">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>If using the manual run mode, this function executes the jobs for each aspect. It is blocking and won't return until all jobs have been completed.</p>
369    /// <p>If you are using the QRenderAspect,</p></div>
370    #[inline(always)]
371    #[cfg_attr(
372        feature = "ritual_rustdoc_nightly",
373        doc(cfg(cpp_lib_version = "5.14.0"))
374    )]
375    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
376    pub unsafe fn process_frame(&self) {
377        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_processFrame(
378            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
379        )
380    }
381
382    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QAspectEngine::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
383    #[inline(always)]
384    pub unsafe fn qt_metacall(
385        &self,
386        arg1: ::qt_core::q_meta_object::Call,
387        arg2: ::std::os::raw::c_int,
388        arg3: *mut *mut ::std::ffi::c_void,
389    ) -> ::std::os::raw::c_int {
390        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_qt_metacall(
391            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
392            arg1,
393            arg2,
394            arg3,
395        )
396    }
397
398    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QAspectEngine::qt_metacast(const char* arg1)```</span>.
399    #[inline(always)]
400    pub unsafe fn qt_metacast(
401        &self,
402        arg1: *const ::std::os::raw::c_char,
403    ) -> *mut ::std::ffi::c_void {
404        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_qt_metacast(
405            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
406            arg1,
407        )
408    }
409
410    /// <p>Registers a new <i>aspect</i> to the AspectManager. The <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">QAspectEngine</a> takes ownership of the aspect and will delete it when the aspect is unregistered.</p>
411    ///
412    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QAspectEngine::registerAspect(Qt3DCore::QAbstractAspect* aspect)```</span>.
413    ///
414    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#registerAspect">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Registers a new <i>aspect</i> to the AspectManager. The <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html">QAspectEngine</a> takes ownership of the aspect and will delete it when the aspect is unregistered.</p></div>
415    #[inline(always)]
416    pub unsafe fn register_aspect_q_abstract_aspect(
417        &self,
418        aspect: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QAbstractAspect>>,
419    ) {
420        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_registerAspect(
421            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
422            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QAbstractAspect>>::cast_into(aspect)
423                .as_raw_ptr() as *mut crate::QAbstractAspect,
424        )
425    }
426
427    /// <p>Registers a new aspect to the AspectManager based on its <i>name</i> Uses the currently set aspect factory to create the actual aspect instance.</p>
428    ///
429    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QAspectEngine::registerAspect(const QString& name)```</span>.
430    ///
431    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#registerAspect-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Registers a new aspect to the AspectManager based on its <i>name</i> Uses the currently set aspect factory to create the actual aspect instance.</p></div>
432    #[inline(always)]
433    pub unsafe fn register_aspect_q_string(
434        &self,
435        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
436    ) {
437        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_registerAspect1(
438            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
439            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(name)
440                .as_raw_ptr(),
441        )
442    }
443
444    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAspectEngine::RunMode Qt3DCore::QAspectEngine::runMode() const```</span>.
445    #[inline(always)]
446    #[cfg_attr(
447        feature = "ritual_rustdoc_nightly",
448        doc(cfg(cpp_lib_version = "5.14.0"))
449    )]
450    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
451    pub unsafe fn run_mode(&self) -> crate::q_aspect_engine::RunMode {
452        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_runMode(
453            self as *const crate::QAspectEngine,
454        )
455    }
456
457    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QAspectEngine::setRunMode(Qt3DCore::QAspectEngine::RunMode mode)```</span>.
458    #[inline(always)]
459    #[cfg_attr(
460        feature = "ritual_rustdoc_nightly",
461        doc(cfg(cpp_lib_version = "5.14.0"))
462    )]
463    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
464    pub unsafe fn set_run_mode(&self, mode: crate::q_aspect_engine::RunMode) {
465        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_setRunMode(
466            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
467            mode,
468        )
469    }
470
471    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
472    #[inline(always)]
473    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
474        let ffi_result =
475            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_staticMetaObject() };
476        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
477            .expect("attempted to construct a null Ref")
478    }
479
480    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QAspectEngine::tr(const char* s, const char* c, int n)```</span>.
481    #[inline(always)]
482    pub unsafe fn tr(
483        s: *const ::std::os::raw::c_char,
484        c: *const ::std::os::raw::c_char,
485        n: ::std::os::raw::c_int,
486    ) -> ::cpp_core::CppBox<::qt_core::QString> {
487        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_tr(s, c, n) };
488        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
489    }
490
491    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QAspectEngine::trUtf8(const char* s, const char* c, int n)```</span>.
492    #[inline(always)]
493    pub unsafe fn tr_utf8(
494        s: *const ::std::os::raw::c_char,
495        c: *const ::std::os::raw::c_char,
496        n: ::std::os::raw::c_int,
497    ) -> ::cpp_core::CppBox<::qt_core::QString> {
498        let ffi_result =
499            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_trUtf8(s, c, n) };
500        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
501    }
502
503    /// <p>Unregisters and deletes the given <i>aspect</i>.</p>
504    ///
505    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QAspectEngine::unregisterAspect(Qt3DCore::QAbstractAspect* aspect)```</span>.
506    ///
507    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#unregisterAspect">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Unregisters and deletes the given <i>aspect</i>.</p></div>
508    #[inline(always)]
509    pub unsafe fn unregister_aspect_q_abstract_aspect(
510        &self,
511        aspect: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QAbstractAspect>>,
512    ) {
513        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_unregisterAspect(
514            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
515            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QAbstractAspect>>::cast_into(aspect)
516                .as_raw_ptr() as *mut crate::QAbstractAspect,
517        )
518    }
519
520    /// <p>Unregisters and deletes the aspect with the given <i>name</i>.</p>
521    ///
522    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QAspectEngine::unregisterAspect(const QString& name)```</span>.
523    ///
524    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#unregisterAspect-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Unregisters and deletes the aspect with the given <i>name</i>.</p></div>
525    #[inline(always)]
526    pub unsafe fn unregister_aspect_q_string(
527        &self,
528        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
529    ) {
530        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_unregisterAspect1(
531            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
532            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(name)
533                .as_raw_ptr(),
534        )
535    }
536}
537
538/// <p>The base class for jobs executed in an aspect</p>
539///
540/// C++ class: <span style='color: green;'>```Qt3DCore::QAspectJob```</span>.
541///
542/// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectjob.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The base class for jobs executed in an aspect</p></div>
543#[repr(C)]
544pub struct QAspectJob {
545    _unused: u8,
546}
547impl QAspectJob {
548    /// <p>Executes job.</p>
549    ///
550    /// Calls C++ function: <span style='color: green;'>```pure virtual void Qt3DCore::QAspectJob::run()```</span>.
551    ///
552    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectjob.html#run">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Executes job.</p></div>
553    #[inline(always)]
554    pub unsafe fn run(&self) {
555        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectJob_run(
556            self as *const crate::QAspectJob as *mut crate::QAspectJob,
557        )
558    }
559}
560
561/// <p>The types of change that can be sent and received by Qt3D's change notification system.</p>
562///
563/// C++ enum: <span style='color: green;'>```Qt3DCore::ChangeFlag```</span>.
564///
565/// <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The types of change that can be sent and received by Qt3D's change notification system.</p>
566///
567/// <p>The ChangeFlags type is a typedef for <a href="http://doc.qt.io/qt-5/qflags.html">QFlags</a>&lt;ChangeFlag&gt;. It stores an OR combination of ChangeFlag values.</p></div>
568#[derive(Debug, Clone, Copy, PartialEq, Eq)]
569#[repr(transparent)]
570pub struct ChangeFlag(::std::os::raw::c_int);
571
572impl From<::std::os::raw::c_int> for ChangeFlag {
573    fn from(value: ::std::os::raw::c_int) -> Self {
574        ChangeFlag(value)
575    }
576}
577
578impl From<ChangeFlag> for ::std::os::raw::c_int {
579    fn from(value: ChangeFlag) -> Self {
580        value.0
581    }
582}
583
584impl ChangeFlag {
585    pub fn to_int(&self) -> ::std::os::raw::c_int {
586        self.0
587    }
588}
589
590impl ChangeFlag {
591    /// A new instance of a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> subclass has been created. (C++ enum variant: <span style='color: green;'>```NodeCreated = 1```</span>)
592    #[allow(non_upper_case_globals)]
593    pub const NodeCreated: crate::ChangeFlag = crate::ChangeFlag(1);
594    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> has been deleted. (C++ enum variant: <span style='color: green;'>```NodeDeleted = 2```</span>)
595    #[allow(non_upper_case_globals)]
596    pub const NodeDeleted: crate::ChangeFlag = crate::ChangeFlag(2);
597    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> property has been updated. (C++ enum variant: <span style='color: green;'>```PropertyUpdated = 4```</span>)
598    #[allow(non_upper_case_globals)]
599    pub const PropertyUpdated: crate::ChangeFlag = crate::ChangeFlag(4);
600    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> has been added to the scene. (C++ enum variant: <span style='color: green;'>```PropertyValueAdded = 8```</span>)
601    #[allow(non_upper_case_globals)]
602    pub const PropertyValueAdded: crate::ChangeFlag = crate::ChangeFlag(8);
603    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> has been removed from the scene. (C++ enum variant: <span style='color: green;'>```PropertyValueRemoved = 16```</span>)
604    #[allow(non_upper_case_globals)]
605    pub const PropertyValueRemoved: crate::ChangeFlag = crate::ChangeFlag(16);
606    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> has been added to a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>. (C++ enum variant: <span style='color: green;'>```ComponentAdded = 32```</span>)
607    #[allow(non_upper_case_globals)]
608    pub const ComponentAdded: crate::ChangeFlag = crate::ChangeFlag(32);
609    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> has been removed from a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>. (C++ enum variant: <span style='color: green;'>```ComponentRemoved = 64```</span>)
610    #[allow(non_upper_case_globals)]
611    pub const ComponentRemoved: crate::ChangeFlag = crate::ChangeFlag(64);
612    /// Allows an observer to monitor for any of the above changes. (C++ enum variant: <span style='color: green;'>```AllChanges = -1```</span>)
613    #[allow(non_upper_case_globals)]
614    pub const AllChanges: crate::ChangeFlag = crate::ChangeFlag(-1);
615    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> has been sent between a node and its backend. (C++ enum variant: <span style='color: green;'>```CommandRequested = 128```</span>)
616    #[allow(non_upper_case_globals)]
617    pub const CommandRequested: crate::ChangeFlag = crate::ChangeFlag(128);
618    /// A <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> triggered a callback. (C++ enum variant: <span style='color: green;'>```CallbackTriggered = 256```</span>)
619    #[allow(non_upper_case_globals)]
620    pub const CallbackTriggered: crate::ChangeFlag = crate::ChangeFlag(256);
621}
622
623pub mod q_scene_change {
624    //! C++ type: <span style='color: green;'>```Qt3DCore::QSceneChange```</span>
625
626    /// C++ enum: <span style='color: green;'>```Qt3DCore::QSceneChange::DeliveryFlag```</span>.
627    #[derive(Debug, Clone, Copy, PartialEq, Eq)]
628    #[repr(transparent)]
629    pub struct DeliveryFlag(::std::os::raw::c_int);
630
631    impl From<::std::os::raw::c_int> for DeliveryFlag {
632        fn from(value: ::std::os::raw::c_int) -> Self {
633            DeliveryFlag(value)
634        }
635    }
636
637    impl From<DeliveryFlag> for ::std::os::raw::c_int {
638        fn from(value: DeliveryFlag) -> Self {
639            value.0
640        }
641    }
642
643    impl DeliveryFlag {
644        pub fn to_int(&self) -> ::std::os::raw::c_int {
645            self.0
646        }
647    }
648
649    impl DeliveryFlag {
650        /// C++ enum variant: <span style='color: green;'>```BackendNodes = 1```</span>
651        #[allow(non_upper_case_globals)]
652        pub const BackendNodes: crate::q_scene_change::DeliveryFlag =
653            crate::q_scene_change::DeliveryFlag(1);
654        /// C++ enum variant: <span style='color: green;'>```Nodes = 16```</span>
655        #[allow(non_upper_case_globals)]
656        pub const Nodes: crate::q_scene_change::DeliveryFlag =
657            crate::q_scene_change::DeliveryFlag(16);
658        /// C++ enum variant: <span style='color: green;'>```DeliverToAll = 17```</span>
659        #[allow(non_upper_case_globals)]
660        pub const DeliverToAll: crate::q_scene_change::DeliveryFlag =
661            crate::q_scene_change::DeliveryFlag(17);
662    }
663
664    impl From<crate::q_scene_change::DeliveryFlag>
665        for ::qt_core::QFlags<crate::q_scene_change::DeliveryFlag>
666    {
667        fn from(value: crate::q_scene_change::DeliveryFlag) -> Self {
668            Self::from(value.to_int())
669        }
670    }
671
672    impl<T: Into<::qt_core::QFlags<crate::q_scene_change::DeliveryFlag>>> std::ops::BitOr<T>
673        for crate::q_scene_change::DeliveryFlag
674    {
675        type Output = ::qt_core::QFlags<crate::q_scene_change::DeliveryFlag>;
676        fn bitor(self, rhs: T) -> ::qt_core::QFlags<crate::q_scene_change::DeliveryFlag> {
677            Into::<::qt_core::QFlags<crate::q_scene_change::DeliveryFlag>>::into(self) | rhs
678        }
679    }
680}
681/// <p>The base class for changes that can be sent and received by Qt3D's change notification system</p>
682///
683/// C++ class: <span style='color: green;'>```Qt3DCore::QSceneChange```</span>.
684///
685/// <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The base class for changes that can be sent and received by Qt3D's change notification system</p></div>
686#[repr(C)]
687pub struct QSceneChange {
688    _unused: u8,
689}
690impl QSceneChange {
691    /// <p>Returns the set delivery flags</p>
692    ///
693    /// Calls C++ function: <span style='color: green;'>```QFlags<Qt3DCore::QSceneChange::DeliveryFlag> Qt3DCore::QSceneChange::deliveryFlags() const```</span>.
694    ///
695    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#deliveryFlags">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the set delivery flags</p>
696    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#setDeliveryFlags">setDeliveryFlags</a>().</p></div>
697    #[inline(always)]
698    pub unsafe fn delivery_flags(&self) -> ::qt_core::QFlags<crate::q_scene_change::DeliveryFlag> {
699        let ffi_result = {
700            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSceneChange_deliveryFlags(
701                self as *const crate::QSceneChange,
702            )
703        };
704        ::qt_core::QFlags::from(ffi_result)
705    }
706
707    /// <p>Set the Delivery flags of the change to <i>flags</i></p>
708    ///
709    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QSceneChange::setDeliveryFlags(QFlags<Qt3DCore::QSceneChange::DeliveryFlag> flags)```</span>.
710    ///
711    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#setDeliveryFlags">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Set the Delivery flags of the change to <i>flags</i></p>
712    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#deliveryFlags">deliveryFlags</a>().</p></div>
713    #[inline(always)]
714    pub unsafe fn set_delivery_flags(
715        &self,
716        flags: ::qt_core::QFlags<crate::q_scene_change::DeliveryFlag>,
717    ) {
718        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSceneChange_setDeliveryFlags(
719            self as *const crate::QSceneChange as *mut crate::QSceneChange,
720            flags.to_int(),
721        )
722    }
723
724    /// <p>Returns scene change subject id.</p>
725    ///
726    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QSceneChange::subjectId() const```</span>.
727    ///
728    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#subjectId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns scene change subject id.</p></div>
729    #[inline(always)]
730    pub unsafe fn subject_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
731        let ffi_result = {
732            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSceneChange_subjectId(
733                self as *const crate::QSceneChange,
734            )
735        };
736        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
737    }
738
739    /// <p>Returns scene change type.</p>
740    ///
741    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::ChangeFlag Qt3DCore::QSceneChange::type() const```</span>.
742    ///
743    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#type">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns scene change type.</p></div>
744    #[inline(always)]
745    pub unsafe fn type_(&self) -> crate::ChangeFlag {
746        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSceneChange_type(
747            self as *const crate::QSceneChange,
748        )
749    }
750}
751
752/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">NodeCreated</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
753///
754/// C++ class: <span style='color: green;'>```Qt3DCore::QNodeCreatedChangeBase```</span>.
755///
756/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">NodeCreated</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
757/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events that have the changeType() <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">NodeCreated</a>. You should not need to instantiate this class. Usually you should be using one of its subclasses such as <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchange.html">QNodeCreatedChange</a>.</p>
758/// <p>You can subclass this to create your own node update types for communication between your <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">QBackendNode</a> subclasses when writing your own aspects.</p></div>
759#[repr(C)]
760pub struct QNodeCreatedChangeBase {
761    _unused: u8,
762}
763impl QNodeCreatedChangeBase {
764    /// <p>Returns node enabled.</p>
765    ///
766    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNodeCreatedChangeBase::isNodeEnabled() const```</span>.
767    ///
768    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#isNodeEnabled">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns node enabled.</p></div>
769    #[inline(always)]
770    pub unsafe fn is_node_enabled(&self) -> bool {
771        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCreatedChangeBase_isNodeEnabled(
772            self as *const crate::QNodeCreatedChangeBase,
773        )
774    }
775
776    /// <p>Returns metaobject.</p>
777    ///
778    /// Calls C++ function: <span style='color: green;'>```const QMetaObject* Qt3DCore::QNodeCreatedChangeBase::metaObject() const```</span>.
779    ///
780    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#metaObject">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns metaobject.</p></div>
781    #[inline(always)]
782    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
783        let ffi_result = {
784            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCreatedChangeBase_metaObject(
785                self as *const crate::QNodeCreatedChangeBase,
786            )
787        };
788        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
789    }
790
791    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> with <i>node</i>.</p>
792    ///
793    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeCreatedChangeBase::QNodeCreatedChangeBase(const Qt3DCore::QNode* node)```</span>.
794    ///
795    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#QNodeCreatedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html">QNodeCreatedChangeBase</a> with <i>node</i>.</p></div>
796    #[inline(always)]
797    pub unsafe fn new(
798        node: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
799    ) -> ::cpp_core::CppBox<crate::QNodeCreatedChangeBase> {
800        let ffi_result = {
801            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCreatedChangeBase_QNodeCreatedChangeBase(
802                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(node).as_raw_ptr(),
803            )
804        };
805        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
806    }
807
808    /// <p>Returns parent id.</p>
809    ///
810    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QNodeCreatedChangeBase::parentId() const```</span>.
811    ///
812    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#parentId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns parent id.</p></div>
813    #[inline(always)]
814    pub unsafe fn parent_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
815        let ffi_result = {
816            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCreatedChangeBase_parentId(
817                self as *const crate::QNodeCreatedChangeBase,
818            )
819        };
820        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
821    }
822}
823
824/// <p>Creates and maps backend nodes to their respective frontend nodes</p>
825///
826/// C++ class: <span style='color: green;'>```Qt3DCore::QBackendNodeMapper```</span>.
827///
828/// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnodemapper.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates and maps backend nodes to their respective frontend nodes</p></div>
829#[repr(C)]
830pub struct QBackendNodeMapper {
831    _unused: u8,
832}
833impl QBackendNodeMapper {
834    /// <p>Creates and maps backend nodes to their respective frontend nodes</p>
835    ///
836    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QBackendNodeMapper& Qt3DCore::QBackendNodeMapper::operator=(const Qt3DCore::QBackendNodeMapper& other)```</span>.
837    ///
838    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnodemapper.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates and maps backend nodes to their respective frontend nodes</p></div>
839    #[inline(always)]
840    pub unsafe fn copy_from(
841        &self,
842        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QBackendNodeMapper>>,
843    ) -> ::cpp_core::Ref<crate::QBackendNodeMapper> {
844        let ffi_result = {
845            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNodeMapper_operator_(
846                self as *const crate::QBackendNodeMapper as *mut crate::QBackendNodeMapper,
847                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QBackendNodeMapper>>::cast_into(
848                    other,
849                )
850                .as_raw_ptr(),
851            )
852        };
853        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
854    }
855
856    /// <p>Destroys the backend node for the given node <i>id</i>.</p>
857    ///
858    /// Calls C++ function: <span style='color: green;'>```pure virtual void Qt3DCore::QBackendNodeMapper::destroy(Qt3DCore::QNodeId id) const```</span>.
859    ///
860    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnodemapper.html#destroy">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the backend node for the given node <i>id</i>.</p></div>
861    #[inline(always)]
862    pub unsafe fn destroy(&self, id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>) {
863        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNodeMapper_destroy(
864            self as *const crate::QBackendNodeMapper,
865            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(id).as_raw_ptr(),
866        )
867    }
868
869    /// <p>Returns backend node for the given node <i>id</i>.</p>
870    ///
871    /// Calls C++ function: <span style='color: green;'>```pure virtual Qt3DCore::QBackendNode* Qt3DCore::QBackendNodeMapper::get(Qt3DCore::QNodeId id) const```</span>.
872    ///
873    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnodemapper.html#get">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns backend node for the given node <i>id</i>.</p></div>
874    #[inline(always)]
875    pub unsafe fn get(
876        &self,
877        id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
878    ) -> ::cpp_core::Ptr<crate::QBackendNode> {
879        let ffi_result = {
880            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNodeMapper_get(
881                self as *const crate::QBackendNodeMapper,
882                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(id).as_raw_ptr(),
883            )
884        };
885        ::cpp_core::Ptr::from_raw(ffi_result)
886    }
887}
888
889pub mod q_backend_node {
890    //! C++ type: <span style='color: green;'>```Qt3DCore::QBackendNode```</span>
891
892    /// C++ enum: <span style='color: green;'>```Qt3DCore::QBackendNode::Mode```</span>.
893    #[derive(Debug, Clone, Copy, PartialEq, Eq)]
894    #[repr(transparent)]
895    pub struct Mode(::std::os::raw::c_int);
896
897    impl From<::std::os::raw::c_int> for Mode {
898        fn from(value: ::std::os::raw::c_int) -> Self {
899            Mode(value)
900        }
901    }
902
903    impl From<Mode> for ::std::os::raw::c_int {
904        fn from(value: Mode) -> Self {
905            value.0
906        }
907    }
908
909    impl Mode {
910        pub fn to_int(&self) -> ::std::os::raw::c_int {
911            self.0
912        }
913    }
914
915    impl Mode {
916        /// C++ enum variant: <span style='color: green;'>```ReadOnly = 0```</span>
917        #[allow(non_upper_case_globals)]
918        pub const ReadOnly: crate::q_backend_node::Mode = crate::q_backend_node::Mode(0);
919        /// C++ enum variant: <span style='color: green;'>```ReadWrite = 1```</span>
920        #[allow(non_upper_case_globals)]
921        pub const ReadWrite: crate::q_backend_node::Mode = crate::q_backend_node::Mode(1);
922    }
923}
924/// <p>The base class for all Qt3D backend nodes</p>
925///
926/// C++ class: <span style='color: green;'>```Qt3DCore::QBackendNode```</span>.
927///
928/// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The base class for all Qt3D backend nodes</p></div>
929#[repr(C)]
930pub struct QBackendNode {
931    _unused: u8,
932}
933impl QBackendNode {
934    /// <p>Returns <code>true</code> if the backend node is enabled.</p>
935    ///
936    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QBackendNode::isEnabled() const```</span>.
937    ///
938    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html#isEnabled">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the backend node is enabled.</p></div>
939    #[inline(always)]
940    pub unsafe fn is_enabled(&self) -> bool {
941        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNode_isEnabled(
942            self as *const crate::QBackendNode,
943        )
944    }
945
946    /// <p>Returns the mode of the backend mode.</p>
947    ///
948    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QBackendNode::Mode Qt3DCore::QBackendNode::mode() const```</span>.
949    ///
950    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html#mode">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the mode of the backend mode.</p></div>
951    #[inline(always)]
952    pub unsafe fn mode(&self) -> crate::q_backend_node::Mode {
953        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNode_mode(
954            self as *const crate::QBackendNode,
955        )
956    }
957
958    /// <p>Default constructs an instance of QBackendNode.</p>
959    ///
960    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QBackendNode::QBackendNode(Qt3DCore::QBackendNode::Mode mode = …)```</span>.
961    ///
962    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html#QBackendNode">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Default constructs an instance of QBackendNode.</p></div>
963    #[inline(always)]
964    pub unsafe fn new_1a(
965        mode: crate::q_backend_node::Mode,
966    ) -> ::cpp_core::CppBox<crate::QBackendNode> {
967        let ffi_result =
968            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNode_QBackendNode(mode) };
969        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
970    }
971
972    /// <p>The base class for all Qt3D backend nodes</p>
973    ///
974    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QBackendNode::QBackendNode()```</span>.
975    ///
976    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The base class for all Qt3D backend nodes</p></div>
977    #[inline(always)]
978    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QBackendNode> {
979        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNode_QBackendNode1() };
980        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
981    }
982
983    /// <p>Returns the peer id of the backend node.</p>
984    ///
985    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QBackendNode::peerId() const```</span>.
986    ///
987    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html#peerId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the peer id of the backend node.</p></div>
988    #[inline(always)]
989    pub unsafe fn peer_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
990        let ffi_result = {
991            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNode_peerId(
992                self as *const crate::QBackendNode,
993            )
994        };
995        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
996    }
997
998    /// <p>Enables or disables the backend node by <i>enabled</i>.</p>
999    ///
1000    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QBackendNode::setEnabled(bool enabled)```</span>.
1001    ///
1002    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html#setEnabled">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Enables or disables the backend node by <i>enabled</i>.</p>
1003    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html#isEnabled">isEnabled</a>().</p></div>
1004    #[inline(always)]
1005    pub unsafe fn set_enabled(&self, enabled: bool) {
1006        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNode_setEnabled(
1007            self as *const crate::QBackendNode as *mut crate::QBackendNode,
1008            enabled,
1009        )
1010    }
1011}
1012
1013pub mod q_node {
1014    //! C++ type: <span style='color: green;'>```Qt3DCore::QNode```</span>
1015
1016    /// C++ enum: <span style='color: green;'>```Qt3DCore::QNode::PropertyTrackingMode```</span>.
1017    #[derive(Debug, Clone, Copy, PartialEq, Eq)]
1018    #[repr(transparent)]
1019    pub struct PropertyTrackingMode(::std::os::raw::c_int);
1020
1021    impl From<::std::os::raw::c_int> for PropertyTrackingMode {
1022        fn from(value: ::std::os::raw::c_int) -> Self {
1023            PropertyTrackingMode(value)
1024        }
1025    }
1026
1027    impl From<PropertyTrackingMode> for ::std::os::raw::c_int {
1028        fn from(value: PropertyTrackingMode) -> Self {
1029            value.0
1030        }
1031    }
1032
1033    impl PropertyTrackingMode {
1034        pub fn to_int(&self) -> ::std::os::raw::c_int {
1035            self.0
1036        }
1037    }
1038
1039    impl PropertyTrackingMode {
1040        /// C++ enum variant: <span style='color: green;'>```TrackFinalValues = 0```</span>
1041        #[allow(non_upper_case_globals)]
1042        pub const TrackFinalValues: crate::q_node::PropertyTrackingMode =
1043            crate::q_node::PropertyTrackingMode(0);
1044        /// C++ enum variant: <span style='color: green;'>```DontTrackValues = 1```</span>
1045        #[allow(non_upper_case_globals)]
1046        pub const DontTrackValues: crate::q_node::PropertyTrackingMode =
1047            crate::q_node::PropertyTrackingMode(1);
1048        /// C++ enum variant: <span style='color: green;'>```TrackAllValues = 2```</span>
1049        #[allow(non_upper_case_globals)]
1050        pub const TrackAllValues: crate::q_node::PropertyTrackingMode =
1051            crate::q_node::PropertyTrackingMode(2);
1052    }
1053}
1054/// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is the base class of all Qt3D node classes used to build a Qt3D scene.</p>
1055///
1056/// C++ class: <span style='color: green;'>```Qt3DCore::QNode```</span>.
1057///
1058/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is the base class of all Qt3D node classes used to build a Qt3D scene.</p>
1059/// <p>The owernship of <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is determined by the <a href="http://doc.qt.io/qt-5/qobject.html">QObject</a> parent/child relationship between nodes. By itself, a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> has no visual appearance and no particular meaning, it is there as a way of building a node based tree structure.</p>
1060/// <p>The parent of a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance can only be another <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance.</p>
1061/// <p>Each <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance has a unique id that allows it to be recognizable from other instances.</p>
1062/// <p>When properties are defined on a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> subclass, their NOTIFY signal will automatically generate notifications that the Qt3D backend aspects will receive.</p></div>
1063#[repr(C)]
1064pub struct QNode {
1065    _unused: u8,
1066}
1067impl QNode {
1068    /// <p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1069    ///
1070    /// Returns a built-in Qt slot `Qt3DCore::QNode::setParent` that can be passed to `qt_core::Signal::connect`.
1071    ///
1072    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#parent-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1073    /// <p>Setting the parent will notify the backend aspects about current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance's parent change.</p>
1074    /// <p><b>Note: </b>if <i>parent</i> happens to be null, this will actually notify that the current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance was removed from the scene.</p><p><b>Access functions:</b></p>
1075    /// <div class="table"><table class="alignedsummary">
1076    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QNode *</td><td class="memItemRight bottomAlign"><span class="name"><b>parentNode</b></span>() const</td></tr>
1077    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setParent</b></span>(QNode *<i>parent</i>)</td></tr>
1078    /// </tbody></table></div>
1079    /// <p><b>Notifier signal:</b></p>
1080    /// <div class="table"><table class="alignedsummary">
1081    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>parentChanged</b></span>(QObject *<i>parent</i>)</td></tr>
1082    /// </tbody></table></div></div>
1083    #[inline(always)]
1084    pub fn slot_set_parent(&self) -> ::qt_core::Receiver<(*mut crate::QNode,)> {
1085        unsafe {
1086            ::qt_core::Receiver::new(
1087                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1088                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setParent(Qt3DCore::QNode *)\0"),
1089            )
1090        }
1091    }
1092
1093    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1094    ///
1095    /// Returns a built-in Qt slot `Qt3DCore::QNode::setEnabled` that can be passed to `qt_core::Signal::connect`.
1096    ///
1097    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#enabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1098    /// <p><b>Note: </b>the interpretation of what enabled means is aspect-dependent. Even if enabled is set to <code>false</code>, some aspects may still consider the node in some manner. This is documented on a class by class basis.</p><p><b>Access functions:</b></p>
1099    /// <div class="table"><table class="alignedsummary">
1100    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isEnabled</b></span>() const</td></tr>
1101    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setEnabled</b></span>(bool <i>isEnabled</i>)</td></tr>
1102    /// </tbody></table></div>
1103    /// <p><b>Notifier signal:</b></p>
1104    /// <div class="table"><table class="alignedsummary">
1105    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>enabledChanged</b></span>(bool <i>enabled</i>)</td></tr>
1106    /// </tbody></table></div></div>
1107    #[inline(always)]
1108    pub fn slot_set_enabled(&self) -> ::qt_core::Receiver<(bool,)> {
1109        unsafe {
1110            ::qt_core::Receiver::new(
1111                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1112                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setEnabled(bool)\0"),
1113            )
1114        }
1115    }
1116
1117    /// <p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1118    ///
1119    /// Returns a built-in Qt slot `Qt3DCore::QNode::setDefaultPropertyTrackingMode` that can be passed to `qt_core::Signal::connect`.
1120    ///
1121    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#defaultPropertyTrackingMode-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1122    /// <p>By default it is set to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#PropertyTrackingMode-enum">QNode::TrackFinalValues</a></p>
1123    /// <p><b>Access functions:</b></p>
1124    /// <div class="table"><table class="alignedsummary">
1125    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> PropertyTrackingMode </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingMode</b></span>() const</td></tr>
1126    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setDefaultPropertyTrackingMode</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1127    /// </tbody></table></div>
1128    /// <p><b>Notifier signal:</b></p>
1129    /// <div class="table"><table class="alignedsummary">
1130    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingModeChanged</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1131    /// </tbody></table></div></div>
1132    #[inline(always)]
1133    pub fn slot_set_default_property_tracking_mode(
1134        &self,
1135    ) -> ::qt_core::Receiver<(crate::q_node::PropertyTrackingMode,)> {
1136        unsafe {
1137            ::qt_core::Receiver::new(
1138                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1139                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1140                    b"1setDefaultPropertyTrackingMode(Qt3DCore::QNode::PropertyTrackingMode)\0",
1141                ),
1142            )
1143        }
1144    }
1145
1146    /// <p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1147    ///
1148    /// Returns a built-in Qt signal `Qt3DCore::QNode::parentChanged` that can be passed to `qt_core::Signal::connect`.
1149    ///
1150    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#parent-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1151    /// <p>Setting the parent will notify the backend aspects about current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance's parent change.</p>
1152    /// <p><b>Note: </b>if <i>parent</i> happens to be null, this will actually notify that the current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance was removed from the scene.</p><p><b>Access functions:</b></p>
1153    /// <div class="table"><table class="alignedsummary">
1154    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QNode *</td><td class="memItemRight bottomAlign"><span class="name"><b>parentNode</b></span>() const</td></tr>
1155    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setParent</b></span>(QNode *<i>parent</i>)</td></tr>
1156    /// </tbody></table></div>
1157    /// <p><b>Notifier signal:</b></p>
1158    /// <div class="table"><table class="alignedsummary">
1159    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>parentChanged</b></span>(QObject *<i>parent</i>)</td></tr>
1160    /// </tbody></table></div></div>
1161    #[inline(always)]
1162    pub fn parent_changed(&self) -> ::qt_core::Signal<(*mut ::qt_core::QObject,)> {
1163        unsafe {
1164            ::qt_core::Signal::new(
1165                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1166                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2parentChanged(QObject *)\0"),
1167            )
1168        }
1169    }
1170
1171    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1172    ///
1173    /// Returns a built-in Qt signal `Qt3DCore::QNode::enabledChanged` that can be passed to `qt_core::Signal::connect`.
1174    ///
1175    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#enabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1176    /// <p><b>Note: </b>the interpretation of what enabled means is aspect-dependent. Even if enabled is set to <code>false</code>, some aspects may still consider the node in some manner. This is documented on a class by class basis.</p><p><b>Access functions:</b></p>
1177    /// <div class="table"><table class="alignedsummary">
1178    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isEnabled</b></span>() const</td></tr>
1179    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setEnabled</b></span>(bool <i>isEnabled</i>)</td></tr>
1180    /// </tbody></table></div>
1181    /// <p><b>Notifier signal:</b></p>
1182    /// <div class="table"><table class="alignedsummary">
1183    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>enabledChanged</b></span>(bool <i>enabled</i>)</td></tr>
1184    /// </tbody></table></div></div>
1185    #[inline(always)]
1186    pub fn enabled_changed(&self) -> ::qt_core::Signal<(bool,)> {
1187        unsafe {
1188            ::qt_core::Signal::new(
1189                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1190                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2enabledChanged(bool)\0"),
1191            )
1192        }
1193    }
1194
1195    /// <p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1196    ///
1197    /// Returns a built-in Qt signal `Qt3DCore::QNode::defaultPropertyTrackingModeChanged` that can be passed to `qt_core::Signal::connect`.
1198    ///
1199    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#defaultPropertyTrackingMode-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1200    /// <p>By default it is set to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#PropertyTrackingMode-enum">QNode::TrackFinalValues</a></p>
1201    /// <p><b>Access functions:</b></p>
1202    /// <div class="table"><table class="alignedsummary">
1203    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> PropertyTrackingMode </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingMode</b></span>() const</td></tr>
1204    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setDefaultPropertyTrackingMode</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1205    /// </tbody></table></div>
1206    /// <p><b>Notifier signal:</b></p>
1207    /// <div class="table"><table class="alignedsummary">
1208    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingModeChanged</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1209    /// </tbody></table></div></div>
1210    #[inline(always)]
1211    pub fn default_property_tracking_mode_changed(
1212        &self,
1213    ) -> ::qt_core::Signal<(crate::q_node::PropertyTrackingMode,)> {
1214        unsafe {
1215            ::qt_core::Signal::new(
1216                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1217                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1218                    b"2defaultPropertyTrackingModeChanged(Qt3DCore::QNode::PropertyTrackingMode)\0",
1219                ),
1220            )
1221        }
1222    }
1223
1224    /// <p>emitted when the node is destroyed.</p>
1225    ///
1226    /// Returns a built-in Qt signal `Qt3DCore::QNode::nodeDestroyed` that can be passed to `qt_core::Signal::connect`.
1227    ///
1228    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#nodeDestroyed">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>emitted when the node is destroyed.</p></div>
1229    #[inline(always)]
1230    pub fn node_destroyed(&self) -> ::qt_core::Signal<()> {
1231        unsafe {
1232            ::qt_core::Signal::new(
1233                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1234                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2nodeDestroyed()\0"),
1235            )
1236        }
1237    }
1238
1239    /// <p>If <i>block</i> is <code>true</code>, property change notifications sent by this object to aspects are blocked. If <i>block</i> is <code>false</code>, no such blocking will occur.</p>
1240    ///
1241    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNode::blockNotifications(bool block)```</span>.
1242    ///
1243    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#blockNotifications">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>If <i>block</i> is <code>true</code>, property change notifications sent by this object to aspects are blocked. If <i>block</i> is <code>false</code>, no such blocking will occur.</p>
1244    /// <p>The return value is the previous value of <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#notificationsBlocked">notificationsBlocked</a>().</p>
1245    /// <p>Note that the other notification types will be sent even if the notifications for this object have been blocked.</p>
1246    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#notificationsBlocked">notificationsBlocked</a>().</p></div>
1247    #[inline(always)]
1248    pub unsafe fn block_notifications(&self, block: bool) -> bool {
1249        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_blockNotifications(
1250            self as *const crate::QNode as *mut crate::QNode,
1251            block,
1252        )
1253    }
1254
1255    /// <p>Returns a list filled with the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> children of the current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance.</p>
1256    ///
1257    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*> Qt3DCore::QNode::childNodes() const```</span>.
1258    ///
1259    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#childNodes">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a list filled with the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> children of the current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance.</p></div>
1260    #[inline(always)]
1261    pub unsafe fn child_nodes(&self) -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
1262        let ffi_result = {
1263            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_childNodes(self as *const crate::QNode)
1264        };
1265        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1266    }
1267
1268    /// <p>Clears the tracking property called <i>propertyName</i>.</p>
1269    ///
1270    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QNode::clearPropertyTracking(const QString& propertyName)```</span>.
1271    ///
1272    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#clearPropertyTracking">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Clears the tracking property called <i>propertyName</i>.</p></div>
1273    #[inline(always)]
1274    pub unsafe fn clear_property_tracking(
1275        &self,
1276        property_name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
1277    ) {
1278        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_clearPropertyTracking(
1279            self as *const crate::QNode as *mut crate::QNode,
1280            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(property_name)
1281                .as_raw_ptr(),
1282        )
1283    }
1284
1285    /// <p>Erases all values that have been saved by the property tracking.</p>
1286    ///
1287    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QNode::clearPropertyTrackings()```</span>.
1288    ///
1289    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#clearPropertyTrackings">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Erases all values that have been saved by the property tracking.</p></div>
1290    #[inline(always)]
1291    pub unsafe fn clear_property_trackings(&self) {
1292        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_clearPropertyTrackings(
1293            self as *const crate::QNode as *mut crate::QNode,
1294        )
1295    }
1296
1297    /// <p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1298    ///
1299    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode::PropertyTrackingMode Qt3DCore::QNode::defaultPropertyTrackingMode() const```</span>.
1300    ///
1301    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#defaultPropertyTrackingMode-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1302    /// <p>By default it is set to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#PropertyTrackingMode-enum">QNode::TrackFinalValues</a></p>
1303    /// <p><b>Access functions:</b></p>
1304    /// <div class="table"><table class="alignedsummary">
1305    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> PropertyTrackingMode </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingMode</b></span>() const</td></tr>
1306    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setDefaultPropertyTrackingMode</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1307    /// </tbody></table></div>
1308    /// <p><b>Notifier signal:</b></p>
1309    /// <div class="table"><table class="alignedsummary">
1310    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingModeChanged</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1311    /// </tbody></table></div></div>
1312    #[inline(always)]
1313    pub unsafe fn default_property_tracking_mode(&self) -> crate::q_node::PropertyTrackingMode {
1314        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_defaultPropertyTrackingMode(
1315            self as *const crate::QNode,
1316        )
1317    }
1318
1319    /// <p>Returns the id that uniquely identifies the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance.</p>
1320    ///
1321    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QNode::id() const```</span>.
1322    ///
1323    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#id">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id that uniquely identifies the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance.</p></div>
1324    #[inline(always)]
1325    pub unsafe fn id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
1326        let ffi_result =
1327            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_id(self as *const crate::QNode) };
1328        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1329    }
1330
1331    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1332    ///
1333    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNode::isEnabled() const```</span>.
1334    ///
1335    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#enabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1336    /// <p><b>Note: </b>the interpretation of what enabled means is aspect-dependent. Even if enabled is set to <code>false</code>, some aspects may still consider the node in some manner. This is documented on a class by class basis.</p><p><b>Access functions:</b></p>
1337    /// <div class="table"><table class="alignedsummary">
1338    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isEnabled</b></span>() const</td></tr>
1339    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setEnabled</b></span>(bool <i>isEnabled</i>)</td></tr>
1340    /// </tbody></table></div>
1341    /// <p><b>Notifier signal:</b></p>
1342    /// <div class="table"><table class="alignedsummary">
1343    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>enabledChanged</b></span>(bool <i>enabled</i>)</td></tr>
1344    /// </tbody></table></div></div>
1345    #[inline(always)]
1346    pub unsafe fn is_enabled(&self) -> bool {
1347        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_isEnabled(self as *const crate::QNode)
1348    }
1349
1350    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QNode::metaObject() const```</span>.
1351    #[inline(always)]
1352    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
1353        let ffi_result = {
1354            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_metaObject(self as *const crate::QNode)
1355        };
1356        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
1357    }
1358
1359    /// <p>Creates a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance with parent <i>parent</i>.</p>
1360    ///
1361    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNode::QNode(Qt3DCore::QNode* parent = …)```</span>.
1362    ///
1363    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#QNode">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance with parent <i>parent</i>.</p>
1364    /// <p><b>Note: </b>The backend aspects will be notified that a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance is part of the scene only if it has a parent; unless this is the root node of the Qt3D scene.</p><p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#parent-prop">setParent</a>().</p></div>
1365    #[inline(always)]
1366    pub unsafe fn new_1a(
1367        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
1368    ) -> ::qt_core::QBox<crate::QNode> {
1369        let ffi_result = {
1370            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_QNode(
1371                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
1372                    .as_raw_ptr() as *mut crate::QNode,
1373            )
1374        };
1375        ::qt_core::QBox::from_raw(ffi_result)
1376    }
1377
1378    /// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is the base class of all Qt3D node classes used to build a Qt3D scene.</p>
1379    ///
1380    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNode::QNode()```</span>.
1381    ///
1382    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is the base class of all Qt3D node classes used to build a Qt3D scene.</p>
1383    /// <p>The owernship of <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is determined by the <a href="http://doc.qt.io/qt-5/qobject.html">QObject</a> parent/child relationship between nodes. By itself, a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> has no visual appearance and no particular meaning, it is there as a way of building a node based tree structure.</p>
1384    /// <p>The parent of a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance can only be another <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance.</p>
1385    /// <p>Each <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance has a unique id that allows it to be recognizable from other instances.</p>
1386    /// <p>When properties are defined on a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> subclass, their NOTIFY signal will automatically generate notifications that the Qt3D backend aspects will receive.</p></div>
1387    #[inline(always)]
1388    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QNode> {
1389        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_QNode1() };
1390        ::qt_core::QBox::from_raw(ffi_result)
1391    }
1392
1393    /// <p>Returns <code>true</code> if aspect notifications are blocked; otherwise returns <code>false</code>. By default, notifications are <i>not</i> blocked.</p>
1394    ///
1395    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNode::notificationsBlocked() const```</span>.
1396    ///
1397    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#notificationsBlocked">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if aspect notifications are blocked; otherwise returns <code>false</code>. By default, notifications are <i>not</i> blocked.</p>
1398    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#blockNotifications">blockNotifications</a>().</p></div>
1399    #[inline(always)]
1400    pub unsafe fn notifications_blocked(&self) -> bool {
1401        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_notificationsBlocked(
1402            self as *const crate::QNode,
1403        )
1404    }
1405
1406    /// <p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1407    ///
1408    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* Qt3DCore::QNode::parentNode() const```</span>.
1409    ///
1410    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#parent-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1411    /// <p>Setting the parent will notify the backend aspects about current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance's parent change.</p>
1412    /// <p><b>Note: </b>if <i>parent</i> happens to be null, this will actually notify that the current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance was removed from the scene.</p><p><b>Access functions:</b></p>
1413    /// <div class="table"><table class="alignedsummary">
1414    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QNode *</td><td class="memItemRight bottomAlign"><span class="name"><b>parentNode</b></span>() const</td></tr>
1415    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setParent</b></span>(QNode *<i>parent</i>)</td></tr>
1416    /// </tbody></table></div>
1417    /// <p><b>Notifier signal:</b></p>
1418    /// <div class="table"><table class="alignedsummary">
1419    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>parentChanged</b></span>(QObject *<i>parent</i>)</td></tr>
1420    /// </tbody></table></div></div>
1421    #[inline(always)]
1422    pub unsafe fn parent_node(&self) -> ::qt_core::QPtr<crate::QNode> {
1423        let ffi_result = {
1424            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_parentNode(self as *const crate::QNode)
1425        };
1426        ::qt_core::QPtr::from_raw(ffi_result)
1427    }
1428
1429    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>().</p>
1430    ///
1431    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode::PropertyTrackingMode Qt3DCore::QNode::propertyTracking(const QString& propertyName) const```</span>.
1432    ///
1433    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#propertyTracking">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>().</p></div>
1434    #[inline(always)]
1435    pub unsafe fn property_tracking(
1436        &self,
1437        property_name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
1438    ) -> crate::q_node::PropertyTrackingMode {
1439        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_propertyTracking(
1440            self as *const crate::QNode,
1441            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(property_name)
1442                .as_raw_ptr(),
1443        )
1444    }
1445
1446    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QNode::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
1447    #[inline(always)]
1448    pub unsafe fn qt_metacall(
1449        &self,
1450        arg1: ::qt_core::q_meta_object::Call,
1451        arg2: ::std::os::raw::c_int,
1452        arg3: *mut *mut ::std::ffi::c_void,
1453    ) -> ::std::os::raw::c_int {
1454        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_qt_metacall(
1455            self as *const crate::QNode as *mut crate::QNode,
1456            arg1,
1457            arg2,
1458            arg3,
1459        )
1460    }
1461
1462    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QNode::qt_metacast(const char* arg1)```</span>.
1463    #[inline(always)]
1464    pub unsafe fn qt_metacast(
1465        &self,
1466        arg1: *const ::std::os::raw::c_char,
1467    ) -> *mut ::std::ffi::c_void {
1468        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_qt_metacast(
1469            self as *const crate::QNode as *mut crate::QNode,
1470            arg1,
1471        )
1472    }
1473
1474    /// <p>Sends a command messages to the backend node</p>
1475    ///
1476    /// Calls C++ function: <span style='color: green;'>```unsigned long long Qt3DCore::QNode::sendCommand(const QString& name, const QVariant& data = …, unsigned long long replyTo = …)```</span>.
1477    ///
1478    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#sendCommand">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sends a command messages to the backend node</p>
1479    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> message and dispatches it to the backend node. The command is given and a <i>name</i> and some <i>data</i> which can be used in the backend node to performe various operations. This returns a CommandId which can be used to identify the initial command when receiving a message in reply. If the command message is to be sent in reply to another command, <i>replyTo</i> contains the id of that command.</p>
1480    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#sendReply">QNode::sendReply</a>.</p></div>
1481    #[inline(always)]
1482    #[cfg_attr(
1483        feature = "ritual_rustdoc_nightly",
1484        doc(cfg(any(
1485            cpp_lib_version = "5.11.3",
1486            cpp_lib_version = "5.12.2",
1487            cpp_lib_version = "5.13.0",
1488            cpp_lib_version = "5.14.0"
1489        )))
1490    )]
1491    #[cfg(any(
1492        any(
1493            cpp_lib_version = "5.11.3",
1494            cpp_lib_version = "5.12.2",
1495            cpp_lib_version = "5.13.0",
1496            cpp_lib_version = "5.14.0"
1497        ),
1498        feature = "ritual_rustdoc"
1499    ))]
1500    pub unsafe fn send_command_3a(
1501        &self,
1502        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
1503        data: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QVariant>>,
1504        reply_to: ::std::os::raw::c_ulonglong,
1505    ) -> ::std::os::raw::c_ulonglong {
1506        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_sendCommand(
1507            self as *const crate::QNode as *mut crate::QNode,
1508            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(name)
1509                .as_raw_ptr(),
1510            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QVariant>>::cast_into(data)
1511                .as_raw_ptr(),
1512            reply_to,
1513        )
1514    }
1515
1516    /// <p>Sends a command messages to the backend node</p>
1517    ///
1518    /// Calls C++ function: <span style='color: green;'>```unsigned long long Qt3DCore::QNode::sendCommand(const QString& name, const QVariant& data = …)```</span>.
1519    ///
1520    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#sendCommand">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sends a command messages to the backend node</p>
1521    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> message and dispatches it to the backend node. The command is given and a <i>name</i> and some <i>data</i> which can be used in the backend node to performe various operations. This returns a CommandId which can be used to identify the initial command when receiving a message in reply. If the command message is to be sent in reply to another command, <i>replyTo</i> contains the id of that command.</p>
1522    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#sendReply">QNode::sendReply</a>.</p></div>
1523    #[inline(always)]
1524    #[cfg_attr(
1525        feature = "ritual_rustdoc_nightly",
1526        doc(cfg(any(
1527            cpp_lib_version = "5.11.3",
1528            cpp_lib_version = "5.12.2",
1529            cpp_lib_version = "5.13.0",
1530            cpp_lib_version = "5.14.0"
1531        )))
1532    )]
1533    #[cfg(any(
1534        any(
1535            cpp_lib_version = "5.11.3",
1536            cpp_lib_version = "5.12.2",
1537            cpp_lib_version = "5.13.0",
1538            cpp_lib_version = "5.14.0"
1539        ),
1540        feature = "ritual_rustdoc"
1541    ))]
1542    pub unsafe fn send_command_2a(
1543        &self,
1544        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
1545        data: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QVariant>>,
1546    ) -> ::std::os::raw::c_ulonglong {
1547        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_sendCommand1(
1548            self as *const crate::QNode as *mut crate::QNode,
1549            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(name)
1550                .as_raw_ptr(),
1551            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QVariant>>::cast_into(data)
1552                .as_raw_ptr(),
1553        )
1554    }
1555
1556    /// <p>Sends a command messages to the backend node</p>
1557    ///
1558    /// Calls C++ function: <span style='color: green;'>```unsigned long long Qt3DCore::QNode::sendCommand(const QString& name)```</span>.
1559    ///
1560    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#sendCommand">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sends a command messages to the backend node</p>
1561    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> message and dispatches it to the backend node. The command is given and a <i>name</i> and some <i>data</i> which can be used in the backend node to performe various operations. This returns a CommandId which can be used to identify the initial command when receiving a message in reply. If the command message is to be sent in reply to another command, <i>replyTo</i> contains the id of that command.</p>
1562    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#sendReply">QNode::sendReply</a>.</p></div>
1563    #[inline(always)]
1564    #[cfg_attr(
1565        feature = "ritual_rustdoc_nightly",
1566        doc(cfg(any(
1567            cpp_lib_version = "5.11.3",
1568            cpp_lib_version = "5.12.2",
1569            cpp_lib_version = "5.13.0",
1570            cpp_lib_version = "5.14.0"
1571        )))
1572    )]
1573    #[cfg(any(
1574        any(
1575            cpp_lib_version = "5.11.3",
1576            cpp_lib_version = "5.12.2",
1577            cpp_lib_version = "5.13.0",
1578            cpp_lib_version = "5.14.0"
1579        ),
1580        feature = "ritual_rustdoc"
1581    ))]
1582    pub unsafe fn send_command_1a(
1583        &self,
1584        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
1585    ) -> ::std::os::raw::c_ulonglong {
1586        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_sendCommand2(
1587            self as *const crate::QNode as *mut crate::QNode,
1588            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(name)
1589                .as_raw_ptr(),
1590        )
1591    }
1592
1593    /// <p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1594    ///
1595    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QNode::setDefaultPropertyTrackingMode(Qt3DCore::QNode::PropertyTrackingMode mode)```</span>.
1596    ///
1597    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#defaultPropertyTrackingMode-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the default property tracking mode which determines whether a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> should be listening for property updates. This only applies to properties which haven't been overridden by a call to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">setPropertyTracking</a>.</p>
1598    /// <p>By default it is set to <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#PropertyTrackingMode-enum">QNode::TrackFinalValues</a></p>
1599    /// <p><b>Access functions:</b></p>
1600    /// <div class="table"><table class="alignedsummary">
1601    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> PropertyTrackingMode </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingMode</b></span>() const</td></tr>
1602    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setDefaultPropertyTrackingMode</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1603    /// </tbody></table></div>
1604    /// <p><b>Notifier signal:</b></p>
1605    /// <div class="table"><table class="alignedsummary">
1606    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>defaultPropertyTrackingModeChanged</b></span>(PropertyTrackingMode <i>mode</i>)</td></tr>
1607    /// </tbody></table></div></div>
1608    #[inline(always)]
1609    pub unsafe fn set_default_property_tracking_mode(
1610        &self,
1611        mode: crate::q_node::PropertyTrackingMode,
1612    ) {
1613        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_setDefaultPropertyTrackingMode(
1614            self as *const crate::QNode as *mut crate::QNode,
1615            mode,
1616        )
1617    }
1618
1619    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1620    ///
1621    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QNode::setEnabled(bool isEnabled)```</span>.
1622    ///
1623    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#enabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> enabled flag. By default a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> is always enabled.</p>
1624    /// <p><b>Note: </b>the interpretation of what enabled means is aspect-dependent. Even if enabled is set to <code>false</code>, some aspects may still consider the node in some manner. This is documented on a class by class basis.</p><p><b>Access functions:</b></p>
1625    /// <div class="table"><table class="alignedsummary">
1626    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isEnabled</b></span>() const</td></tr>
1627    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setEnabled</b></span>(bool <i>isEnabled</i>)</td></tr>
1628    /// </tbody></table></div>
1629    /// <p><b>Notifier signal:</b></p>
1630    /// <div class="table"><table class="alignedsummary">
1631    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>enabledChanged</b></span>(bool <i>enabled</i>)</td></tr>
1632    /// </tbody></table></div></div>
1633    #[inline(always)]
1634    pub unsafe fn set_enabled(&self, is_enabled: bool) {
1635        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_setEnabled(
1636            self as *const crate::QNode as *mut crate::QNode,
1637            is_enabled,
1638        )
1639    }
1640
1641    /// <p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1642    ///
1643    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QNode::setParent(Qt3DCore::QNode* parent)```</span>.
1644    ///
1645    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#parent-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the immediate <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> parent, or null if the node has no parent.</p>
1646    /// <p>Setting the parent will notify the backend aspects about current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance's parent change.</p>
1647    /// <p><b>Note: </b>if <i>parent</i> happens to be null, this will actually notify that the current <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> instance was removed from the scene.</p><p><b>Access functions:</b></p>
1648    /// <div class="table"><table class="alignedsummary">
1649    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QNode *</td><td class="memItemRight bottomAlign"><span class="name"><b>parentNode</b></span>() const</td></tr>
1650    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setParent</b></span>(QNode *<i>parent</i>)</td></tr>
1651    /// </tbody></table></div>
1652    /// <p><b>Notifier signal:</b></p>
1653    /// <div class="table"><table class="alignedsummary">
1654    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>parentChanged</b></span>(QObject *<i>parent</i>)</td></tr>
1655    /// </tbody></table></div></div>
1656    #[inline(always)]
1657    pub unsafe fn set_parent(
1658        &self,
1659        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
1660    ) {
1661        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_setParent(
1662            self as *const crate::QNode as *mut crate::QNode,
1663            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent).as_raw_ptr()
1664                as *mut crate::QNode,
1665        )
1666    }
1667
1668    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#propertyTracking">propertyTracking</a>().</p>
1669    ///
1670    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QNode::setPropertyTracking(const QString& propertyName, Qt3DCore::QNode::PropertyTrackingMode trackMode)```</span>.
1671    ///
1672    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#setPropertyTracking">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#propertyTracking">propertyTracking</a>().</p></div>
1673    #[inline(always)]
1674    pub unsafe fn set_property_tracking(
1675        &self,
1676        property_name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
1677        track_mode: crate::q_node::PropertyTrackingMode,
1678    ) {
1679        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_setPropertyTracking(
1680            self as *const crate::QNode as *mut crate::QNode,
1681            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(property_name)
1682                .as_raw_ptr(),
1683            track_mode,
1684        )
1685    }
1686
1687    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
1688    #[inline(always)]
1689    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
1690        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_staticMetaObject() };
1691        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
1692            .expect("attempted to construct a null Ref")
1693    }
1694
1695    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QNode::tr(const char* s, const char* c, int n)```</span>.
1696    #[inline(always)]
1697    pub unsafe fn tr(
1698        s: *const ::std::os::raw::c_char,
1699        c: *const ::std::os::raw::c_char,
1700        n: ::std::os::raw::c_int,
1701    ) -> ::cpp_core::CppBox<::qt_core::QString> {
1702        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_tr(s, c, n) };
1703        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1704    }
1705
1706    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QNode::trUtf8(const char* s, const char* c, int n)```</span>.
1707    #[inline(always)]
1708    pub unsafe fn tr_utf8(
1709        s: *const ::std::os::raw::c_char,
1710        c: *const ::std::os::raw::c_char,
1711        n: ::std::os::raw::c_int,
1712    ) -> ::cpp_core::CppBox<::qt_core::QString> {
1713        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_trUtf8(s, c, n) };
1714        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1715    }
1716}
1717
1718/// C++ class: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair```</span>.
1719#[repr(C)]
1720pub struct QNodeIdTypePair {
1721    _unused: u8,
1722}
1723impl QNodeIdTypePair {
1724    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair& Qt3DCore::QNodeIdTypePair::operator=(const Qt3DCore::QNodeIdTypePair& other)```</span>.
1725    #[inline(always)]
1726    pub unsafe fn copy_from(
1727        &self,
1728        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
1729    ) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
1730        let ffi_result = {
1731            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_operator_(
1732                self as *const crate::QNodeIdTypePair as *mut crate::QNodeIdTypePair,
1733                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(other)
1734                    .as_raw_ptr(),
1735            )
1736        };
1737        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
1738    }
1739
1740    /// Returns a reference to the <span style='color: green;'>```id```</span> field.
1741    #[inline(always)]
1742    pub unsafe fn id(&self) -> ::cpp_core::Ref<crate::QNodeId> {
1743        let ffi_result = {
1744            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_id(
1745                self as *const crate::QNodeIdTypePair,
1746            )
1747        };
1748        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
1749            .expect("attempted to construct a null Ref")
1750    }
1751
1752    /// Returns a mutable reference to the <span style='color: green;'>```id```</span> field.
1753    #[inline(always)]
1754    pub unsafe fn id_mut(&self) -> ::cpp_core::Ref<crate::QNodeId> {
1755        let ffi_result = {
1756            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_id_mut(
1757                self as *const crate::QNodeIdTypePair as *mut crate::QNodeIdTypePair,
1758            )
1759        };
1760        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
1761    }
1762
1763    /// <p>Default constructs an instance of QNodeIdTypePair.</p>
1764    ///
1765    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeIdTypePair::QNodeIdTypePair()```</span>.
1766    ///
1767    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeidtypepair.html#QNodeIdTypePair">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Default constructs an instance of QNodeIdTypePair.</p></div>
1768    #[inline(always)]
1769    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
1770        let ffi_result =
1771            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_QNodeIdTypePair() };
1772        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1773    }
1774
1775    /// <p>Default constructs an instance of QNodeIdTypePair.</p>
1776    ///
1777    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeIdTypePair::QNodeIdTypePair(Qt3DCore::QNodeId _id, const QMetaObject* _type)```</span>.
1778    ///
1779    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeidtypepair.html#QNodeIdTypePair-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Default constructs an instance of QNodeIdTypePair.</p></div>
1780    #[inline(always)]
1781    pub unsafe fn new_2a(
1782        id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
1783        type_: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QMetaObject>>,
1784    ) -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
1785        let ffi_result = {
1786            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_QNodeIdTypePair1(
1787                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(id).as_raw_ptr(),
1788                ::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QMetaObject>>::cast_into(type_)
1789                    .as_raw_ptr(),
1790            )
1791        };
1792        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1793    }
1794
1795    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeIdTypePair::QNodeIdTypePair(const Qt3DCore::QNodeIdTypePair& other)```</span>.
1796    #[inline(always)]
1797    pub unsafe fn new_copy(
1798        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
1799    ) -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
1800        let ffi_result = {
1801            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_QNodeIdTypePair2(
1802                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(other)
1803                    .as_raw_ptr(),
1804            )
1805        };
1806        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1807    }
1808
1809    /// Sets the value of the <span style='color: green;'>```id```</span> field.
1810    #[inline(always)]
1811    pub unsafe fn set_id(&self, value: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>) {
1812        crate::__ffi::ctr_qt_3d_core_ffi_set_Qt3DCore_QNodeIdTypePair_id(
1813            self as *const crate::QNodeIdTypePair as *mut crate::QNodeIdTypePair,
1814            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(value).as_raw_ptr(),
1815        )
1816    }
1817
1818    /// Sets the value of the <span style='color: green;'>```type```</span> field.
1819    #[inline(always)]
1820    pub unsafe fn set_type(
1821        &self,
1822        value: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QMetaObject>>,
1823    ) {
1824        crate::__ffi::ctr_qt_3d_core_ffi_set_Qt3DCore_QNodeIdTypePair_type(
1825            self as *const crate::QNodeIdTypePair as *mut crate::QNodeIdTypePair,
1826            ::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QMetaObject>>::cast_into(value)
1827                .as_raw_ptr(),
1828        )
1829    }
1830
1831    /// Returns the value of the <span style='color: green;'>```type```</span> field.
1832    #[inline(always)]
1833    pub unsafe fn type_(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
1834        let ffi_result = {
1835            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_type(
1836                self as *const crate::QNodeIdTypePair,
1837            )
1838        };
1839        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
1840    }
1841}
1842
1843/// <p>The base class of scene nodes that can be aggregated by <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instances as a component.</p>
1844///
1845/// C++ class: <span style='color: green;'>```Qt3DCore::QComponent```</span>.
1846///
1847/// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The base class of scene nodes that can be aggregated by <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instances as a component.</p>
1848/// <p>A <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> provides a vertical slice of behavior that can be assigned to and sometimes shared across <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instances.</p>
1849/// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> subclasses are often aggregated in groups that impart useful behavior to the aggregating entity. For example, to have an Entity that gets drawn by the Qt3D renderer aspect, an entity would most likely aggregate <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">Qt3DCore::QTransform</a>, <a href="http://doc.qt.io/qt-5/qt3drender-qmesh.html">Qt3DRender::QMesh</a>, and <a href="http://doc.qt.io/qt-5/qt3drender-qmaterial.html">Qt3DRender::QMaterial</a> components.</p></div>
1850#[repr(C)]
1851pub struct QComponent {
1852    _unused: u8,
1853}
1854impl QComponent {
1855    /// <p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
1856    ///
1857    /// Returns a built-in Qt slot `Qt3DCore::QComponent::setShareable` that can be passed to `qt_core::Signal::connect`.
1858    ///
1859    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#isShareable-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
1860    /// <p><b>Access functions:</b></p>
1861    /// <div class="table"><table class="alignedsummary">
1862    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isShareable</b></span>() const</td></tr>
1863    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setShareable</b></span>(bool <i>isShareable</i>)</td></tr>
1864    /// </tbody></table></div>
1865    /// <p><b>Notifier signal:</b></p>
1866    /// <div class="table"><table class="alignedsummary">
1867    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>shareableChanged</b></span>(bool <i>isShareable</i>)</td></tr>
1868    /// </tbody></table></div></div>
1869    #[inline(always)]
1870    pub fn slot_set_shareable(&self) -> ::qt_core::Receiver<(bool,)> {
1871        unsafe {
1872            ::qt_core::Receiver::new(
1873                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1874                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setShareable(bool)\0"),
1875            )
1876        }
1877    }
1878
1879    /// <p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
1880    ///
1881    /// Returns a built-in Qt signal `Qt3DCore::QComponent::shareableChanged` that can be passed to `qt_core::Signal::connect`.
1882    ///
1883    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#isShareable-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
1884    /// <p><b>Access functions:</b></p>
1885    /// <div class="table"><table class="alignedsummary">
1886    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isShareable</b></span>() const</td></tr>
1887    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setShareable</b></span>(bool <i>isShareable</i>)</td></tr>
1888    /// </tbody></table></div>
1889    /// <p><b>Notifier signal:</b></p>
1890    /// <div class="table"><table class="alignedsummary">
1891    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>shareableChanged</b></span>(bool <i>isShareable</i>)</td></tr>
1892    /// </tbody></table></div></div>
1893    #[inline(always)]
1894    pub fn shareable_changed(&self) -> ::qt_core::Signal<(bool,)> {
1895        unsafe {
1896            ::qt_core::Signal::new(
1897                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1898                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2shareableChanged(bool)\0"),
1899            )
1900        }
1901    }
1902
1903    /// <p>Indicates that a reference has been added to <i>entity</i>.</p>
1904    ///
1905    /// Returns a built-in Qt signal `Qt3DCore::QComponent::addedToEntity` that can be passed to `qt_core::Signal::connect`.
1906    ///
1907    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#addedToEntity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Indicates that a reference has been added to <i>entity</i>.</p></div>
1908    #[inline(always)]
1909    pub fn added_to_entity(&self) -> ::qt_core::Signal<(*mut crate::QEntity,)> {
1910        unsafe {
1911            ::qt_core::Signal::new(
1912                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1913                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1914                    b"2addedToEntity(Qt3DCore::QEntity *)\0",
1915                ),
1916            )
1917        }
1918    }
1919
1920    /// <p>Indicates that a reference has been removed from <i>entity</i>.</p>
1921    ///
1922    /// Returns a built-in Qt signal `Qt3DCore::QComponent::removedFromEntity` that can be passed to `qt_core::Signal::connect`.
1923    ///
1924    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#removedFromEntity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Indicates that a reference has been removed from <i>entity</i>.</p></div>
1925    #[inline(always)]
1926    pub fn removed_from_entity(&self) -> ::qt_core::Signal<(*mut crate::QEntity,)> {
1927        unsafe {
1928            ::qt_core::Signal::new(
1929                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
1930                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1931                    b"2removedFromEntity(Qt3DCore::QEntity *)\0",
1932                ),
1933            )
1934        }
1935    }
1936
1937    /// <p>Returns a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> containing all the entities that reference this component.</p>
1938    ///
1939    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*> Qt3DCore::QComponent::entities() const```</span>.
1940    ///
1941    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#entities">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> containing all the entities that reference this component.</p></div>
1942    #[inline(always)]
1943    pub unsafe fn entities(&self) -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
1944        let ffi_result = {
1945            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_entities(
1946                self as *const crate::QComponent,
1947            )
1948        };
1949        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
1950    }
1951
1952    /// <p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
1953    ///
1954    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QComponent::isShareable() const```</span>.
1955    ///
1956    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#isShareable-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
1957    /// <p><b>Access functions:</b></p>
1958    /// <div class="table"><table class="alignedsummary">
1959    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isShareable</b></span>() const</td></tr>
1960    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setShareable</b></span>(bool <i>isShareable</i>)</td></tr>
1961    /// </tbody></table></div>
1962    /// <p><b>Notifier signal:</b></p>
1963    /// <div class="table"><table class="alignedsummary">
1964    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>shareableChanged</b></span>(bool <i>isShareable</i>)</td></tr>
1965    /// </tbody></table></div></div>
1966    #[inline(always)]
1967    pub unsafe fn is_shareable(&self) -> bool {
1968        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_isShareable(
1969            self as *const crate::QComponent,
1970        )
1971    }
1972
1973    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QComponent::metaObject() const```</span>.
1974    #[inline(always)]
1975    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
1976        let ffi_result = {
1977            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_metaObject(
1978                self as *const crate::QComponent,
1979            )
1980        };
1981        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
1982    }
1983
1984    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> instance with <i>parent</i> as the parent.</p>
1985    ///
1986    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QComponent::QComponent(Qt3DCore::QNode* parent = …)```</span>.
1987    ///
1988    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#QComponent">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> instance with <i>parent</i> as the parent.</p>
1989    /// <p><b>Note: </b>a <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> should never be instanced directly, instance one of the subclasses instead.</p></div>
1990    #[inline(always)]
1991    pub unsafe fn new_1a(
1992        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
1993    ) -> ::qt_core::QBox<crate::QComponent> {
1994        let ffi_result = {
1995            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_QComponent(
1996                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
1997                    .as_raw_ptr() as *mut crate::QNode,
1998            )
1999        };
2000        ::qt_core::QBox::from_raw(ffi_result)
2001    }
2002
2003    /// <p>The base class of scene nodes that can be aggregated by <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instances as a component.</p>
2004    ///
2005    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QComponent::QComponent()```</span>.
2006    ///
2007    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The base class of scene nodes that can be aggregated by <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instances as a component.</p>
2008    /// <p>A <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> provides a vertical slice of behavior that can be assigned to and sometimes shared across <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instances.</p>
2009    /// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> subclasses are often aggregated in groups that impart useful behavior to the aggregating entity. For example, to have an Entity that gets drawn by the Qt3D renderer aspect, an entity would most likely aggregate <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">Qt3DCore::QTransform</a>, <a href="http://doc.qt.io/qt-5/qt3drender-qmesh.html">Qt3DRender::QMesh</a>, and <a href="http://doc.qt.io/qt-5/qt3drender-qmaterial.html">Qt3DRender::QMaterial</a> components.</p></div>
2010    #[inline(always)]
2011    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QComponent> {
2012        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_QComponent1() };
2013        ::qt_core::QBox::from_raw(ffi_result)
2014    }
2015
2016    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QComponent::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
2017    #[inline(always)]
2018    pub unsafe fn qt_metacall(
2019        &self,
2020        arg1: ::qt_core::q_meta_object::Call,
2021        arg2: ::std::os::raw::c_int,
2022        arg3: *mut *mut ::std::ffi::c_void,
2023    ) -> ::std::os::raw::c_int {
2024        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_qt_metacall(
2025            self as *const crate::QComponent as *mut crate::QComponent,
2026            arg1,
2027            arg2,
2028            arg3,
2029        )
2030    }
2031
2032    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QComponent::qt_metacast(const char* arg1)```</span>.
2033    #[inline(always)]
2034    pub unsafe fn qt_metacast(
2035        &self,
2036        arg1: *const ::std::os::raw::c_char,
2037    ) -> *mut ::std::ffi::c_void {
2038        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_qt_metacast(
2039            self as *const crate::QComponent as *mut crate::QComponent,
2040            arg1,
2041        )
2042    }
2043
2044    /// <p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
2045    ///
2046    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QComponent::setShareable(bool isShareable)```</span>.
2047    ///
2048    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#isShareable-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the shareable flag of the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a>. The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">QComponent</a> can be shared across several entities if <code>true</code>.</p>
2049    /// <p><b>Access functions:</b></p>
2050    /// <div class="table"><table class="alignedsummary">
2051    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isShareable</b></span>() const</td></tr>
2052    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setShareable</b></span>(bool <i>isShareable</i>)</td></tr>
2053    /// </tbody></table></div>
2054    /// <p><b>Notifier signal:</b></p>
2055    /// <div class="table"><table class="alignedsummary">
2056    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>shareableChanged</b></span>(bool <i>isShareable</i>)</td></tr>
2057    /// </tbody></table></div></div>
2058    #[inline(always)]
2059    pub unsafe fn set_shareable(&self, is_shareable: bool) {
2060        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_setShareable(
2061            self as *const crate::QComponent as *mut crate::QComponent,
2062            is_shareable,
2063        )
2064    }
2065
2066    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
2067    #[inline(always)]
2068    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
2069        let ffi_result =
2070            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_staticMetaObject() };
2071        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
2072            .expect("attempted to construct a null Ref")
2073    }
2074
2075    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QComponent::tr(const char* s, const char* c, int n)```</span>.
2076    #[inline(always)]
2077    pub unsafe fn tr(
2078        s: *const ::std::os::raw::c_char,
2079        c: *const ::std::os::raw::c_char,
2080        n: ::std::os::raw::c_int,
2081    ) -> ::cpp_core::CppBox<::qt_core::QString> {
2082        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_tr(s, c, n) };
2083        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2084    }
2085
2086    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QComponent::trUtf8(const char* s, const char* c, int n)```</span>.
2087    #[inline(always)]
2088    pub unsafe fn tr_utf8(
2089        s: *const ::std::os::raw::c_char,
2090        c: *const ::std::os::raw::c_char,
2091        n: ::std::os::raw::c_int,
2092    ) -> ::cpp_core::CppBox<::qt_core::QString> {
2093        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_trUtf8(s, c, n) };
2094        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2095    }
2096}
2097
2098/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html">QComponentAddedChange</a> class is used to notify when a component is added to an entity</p>
2099///
2100/// C++ class: <span style='color: green;'>```Qt3DCore::QComponentAddedChange```</span>.
2101///
2102/// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html">QComponentAddedChange</a> class is used to notify when a component is added to an entity</p></div>
2103#[repr(C)]
2104pub struct QComponentAddedChange {
2105    _unused: u8,
2106}
2107impl QComponentAddedChange {
2108    /// <p>Returns the id of the component added.</p>
2109    ///
2110    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QComponentAddedChange::componentId() const```</span>.
2111    ///
2112    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html#componentId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id of the component added.</p></div>
2113    #[inline(always)]
2114    pub unsafe fn component_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
2115        let ffi_result = {
2116            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentAddedChange_componentId(
2117                self as *const crate::QComponentAddedChange,
2118            )
2119        };
2120        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2121    }
2122
2123    /// <p>Returns the metaobject.</p>
2124    ///
2125    /// Calls C++ function: <span style='color: green;'>```const QMetaObject* Qt3DCore::QComponentAddedChange::componentMetaObject() const```</span>.
2126    ///
2127    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html#componentMetaObject">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the metaobject.</p></div>
2128    #[inline(always)]
2129    pub unsafe fn component_meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
2130        let ffi_result = {
2131            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentAddedChange_componentMetaObject(
2132                self as *const crate::QComponentAddedChange,
2133            )
2134        };
2135        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
2136    }
2137
2138    /// <p>Returns the id of the entity the component was added to.</p>
2139    ///
2140    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QComponentAddedChange::entityId() const```</span>.
2141    ///
2142    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html#entityId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id of the entity the component was added to.</p></div>
2143    #[inline(always)]
2144    pub unsafe fn entity_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
2145        let ffi_result = {
2146            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentAddedChange_entityId(
2147                self as *const crate::QComponentAddedChange,
2148            )
2149        };
2150        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2151    }
2152
2153    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html">QComponentAddedChange</a> which will notify <i>entity</i> that <i>component</i> was added</p>
2154    ///
2155    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QComponentAddedChange::QComponentAddedChange(const Qt3DCore::QEntity* entity, const Qt3DCore::QComponent* component)```</span>.
2156    ///
2157    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html#QComponentAddedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html">QComponentAddedChange</a> which will notify <i>entity</i> that <i>component</i> was added</p></div>
2158    #[inline(always)]
2159    pub unsafe fn from_q_entity_q_component(
2160        entity: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QEntity>>,
2161        component: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QComponent>>,
2162    ) -> ::cpp_core::CppBox<crate::QComponentAddedChange> {
2163        let ffi_result = {
2164            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentAddedChange_QComponentAddedChange(
2165                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QEntity>>::cast_into(entity)
2166                    .as_raw_ptr(),
2167                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QComponent>>::cast_into(component)
2168                    .as_raw_ptr(),
2169            )
2170        };
2171        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2172    }
2173
2174    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html">QComponentAddedChange</a> which will notify <i>component</i> that it was added to <i>entity</i></p>
2175    ///
2176    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QComponentAddedChange::QComponentAddedChange(const Qt3DCore::QComponent* component, const Qt3DCore::QEntity* entity)```</span>.
2177    ///
2178    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html#QComponentAddedChange-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html">QComponentAddedChange</a> which will notify <i>component</i> that it was added to <i>entity</i></p></div>
2179    #[inline(always)]
2180    pub unsafe fn from_q_component_q_entity(
2181        component: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QComponent>>,
2182        entity: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QEntity>>,
2183    ) -> ::cpp_core::CppBox<crate::QComponentAddedChange> {
2184        let ffi_result = {
2185            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentAddedChange_QComponentAddedChange1(
2186                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QComponent>>::cast_into(component)
2187                    .as_raw_ptr(),
2188                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QEntity>>::cast_into(entity)
2189                    .as_raw_ptr(),
2190            )
2191        };
2192        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2193    }
2194}
2195
2196/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html">QComponentRemovedChange</a> class is used to notify when a component is removed from an entity</p>
2197///
2198/// C++ class: <span style='color: green;'>```Qt3DCore::QComponentRemovedChange```</span>.
2199///
2200/// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html">QComponentRemovedChange</a> class is used to notify when a component is removed from an entity</p></div>
2201#[repr(C)]
2202pub struct QComponentRemovedChange {
2203    _unused: u8,
2204}
2205impl QComponentRemovedChange {
2206    /// <p>Returns the id of the component removed.</p>
2207    ///
2208    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QComponentRemovedChange::componentId() const```</span>.
2209    ///
2210    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html#componentId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id of the component removed.</p></div>
2211    #[inline(always)]
2212    pub unsafe fn component_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
2213        let ffi_result = {
2214            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentRemovedChange_componentId(
2215                self as *const crate::QComponentRemovedChange,
2216            )
2217        };
2218        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2219    }
2220
2221    /// <p>Returns the metaobject.</p>
2222    ///
2223    /// Calls C++ function: <span style='color: green;'>```const QMetaObject* Qt3DCore::QComponentRemovedChange::componentMetaObject() const```</span>.
2224    ///
2225    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html#componentMetaObject">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the metaobject.</p></div>
2226    #[inline(always)]
2227    pub unsafe fn component_meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
2228        let ffi_result = {
2229            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentRemovedChange_componentMetaObject(
2230                self as *const crate::QComponentRemovedChange,
2231            )
2232        };
2233        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
2234    }
2235
2236    /// <p>Returns the id of the entity the component was removed from.</p>
2237    ///
2238    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QComponentRemovedChange::entityId() const```</span>.
2239    ///
2240    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html#entityId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id of the entity the component was removed from.</p></div>
2241    #[inline(always)]
2242    pub unsafe fn entity_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
2243        let ffi_result = {
2244            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentRemovedChange_entityId(
2245                self as *const crate::QComponentRemovedChange,
2246            )
2247        };
2248        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2249    }
2250
2251    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html">QComponentRemovedChange</a> which will notify <i>entity</i> that <i>component</i> was removed.</p>
2252    ///
2253    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QComponentRemovedChange::QComponentRemovedChange(const Qt3DCore::QEntity* entity, const Qt3DCore::QComponent* component)```</span>.
2254    ///
2255    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html#QComponentRemovedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html">QComponentRemovedChange</a> which will notify <i>entity</i> that <i>component</i> was removed.</p></div>
2256    #[inline(always)]
2257    pub unsafe fn from_q_entity_q_component(
2258        entity: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QEntity>>,
2259        component: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QComponent>>,
2260    ) -> ::cpp_core::CppBox<crate::QComponentRemovedChange> {
2261        let ffi_result = {
2262            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentRemovedChange_QComponentRemovedChange(::cpp_core::CastInto::<::cpp_core::Ptr<crate::QEntity>>::cast_into(entity).as_raw_ptr(), ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QComponent>>::cast_into(component).as_raw_ptr())
2263        };
2264        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2265    }
2266
2267    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html">QComponentRemovedChange</a> which will notify <i>component</i> that it was removed from <i>entity</i></p>
2268    ///
2269    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QComponentRemovedChange::QComponentRemovedChange(const Qt3DCore::QComponent* component, const Qt3DCore::QEntity* entity)```</span>.
2270    ///
2271    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html#QComponentRemovedChange-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html">QComponentRemovedChange</a> which will notify <i>component</i> that it was removed from <i>entity</i></p></div>
2272    #[inline(always)]
2273    pub unsafe fn from_q_component_q_entity(
2274        component: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QComponent>>,
2275        entity: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QEntity>>,
2276    ) -> ::cpp_core::CppBox<crate::QComponentRemovedChange> {
2277        let ffi_result = {
2278            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentRemovedChange_QComponentRemovedChange1(::cpp_core::CastInto::<::cpp_core::Ptr<crate::QComponent>>::cast_into(component).as_raw_ptr(), ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QEntity>>::cast_into(entity).as_raw_ptr())
2279        };
2280        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2281    }
2282}
2283
2284/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchangebase.html">QPropertyUpdatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyUpdated</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2285///
2286/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase```</span>.
2287///
2288/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchangebase.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchangebase.html">QPropertyUpdatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyUpdated</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2289/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchangebase.html">QPropertyUpdatedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events that have the changeType() <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyUpdated</a>. You should not need to instantiate this class. Usually you should be using one of its subclasses such as <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html">QPropertyUpdatedChange</a> or QTypedPropertyUpdatedChange.</p>
2290/// <p>You can subclass this to create your own node update types for communication between your <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">QBackendNode</a> subclasses when writing your own aspects.</p></div>
2291#[repr(C)]
2292pub struct QPropertyUpdatedChangeBase {
2293    _unused: u8,
2294}
2295/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html">QDynamicPropertyUpdatedChange</a> class is used to notify when a dynamic property value is updated</p>
2296///
2297/// C++ class: <span style='color: green;'>```Qt3DCore::QDynamicPropertyUpdatedChange```</span>.
2298///
2299/// <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html">QDynamicPropertyUpdatedChange</a> class is used to notify when a dynamic property value is updated</p></div>
2300#[repr(C)]
2301pub struct QDynamicPropertyUpdatedChange {
2302    _unused: u8,
2303}
2304impl QDynamicPropertyUpdatedChange {
2305    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html">QDynamicPropertyUpdatedChange</a> with <i>subjectId</i>.</p>
2306    ///
2307    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QDynamicPropertyUpdatedChange::QDynamicPropertyUpdatedChange(Qt3DCore::QNodeId subjectId)```</span>.
2308    ///
2309    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#QDynamicPropertyUpdatedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html">QDynamicPropertyUpdatedChange</a> with <i>subjectId</i>.</p></div>
2310    #[inline(always)]
2311    pub unsafe fn new(
2312        subject_id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
2313    ) -> ::cpp_core::CppBox<crate::QDynamicPropertyUpdatedChange> {
2314        let ffi_result = {
2315            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QDynamicPropertyUpdatedChange_QDynamicPropertyUpdatedChange(::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(subject_id).as_raw_ptr())
2316        };
2317        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2318    }
2319
2320    /// <p>Returns name of the property.</p>
2321    ///
2322    /// Calls C++ function: <span style='color: green;'>```QByteArray Qt3DCore::QDynamicPropertyUpdatedChange::propertyName() const```</span>.
2323    ///
2324    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#propertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns name of the property.</p>
2325    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#setPropertyName">setPropertyName</a>().</p></div>
2326    #[inline(always)]
2327    pub unsafe fn property_name(&self) -> ::cpp_core::CppBox<::qt_core::QByteArray> {
2328        let ffi_result = {
2329            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QDynamicPropertyUpdatedChange_propertyName(
2330                self as *const crate::QDynamicPropertyUpdatedChange,
2331            )
2332        };
2333        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2334    }
2335
2336    /// <p>Sets the property change <i>name</i>.</p>
2337    ///
2338    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QDynamicPropertyUpdatedChange::setPropertyName(const QByteArray& name)```</span>.
2339    ///
2340    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#setPropertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the property change <i>name</i>.</p>
2341    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#propertyName">propertyName</a>().</p></div>
2342    #[inline(always)]
2343    pub unsafe fn set_property_name(
2344        &self,
2345        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QByteArray>>,
2346    ) {
2347        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QDynamicPropertyUpdatedChange_setPropertyName(
2348            self as *const crate::QDynamicPropertyUpdatedChange
2349                as *mut crate::QDynamicPropertyUpdatedChange,
2350            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QByteArray>>::cast_into(name)
2351                .as_raw_ptr(),
2352        )
2353    }
2354
2355    /// <p>Set the property change <i>value</i>.</p>
2356    ///
2357    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QDynamicPropertyUpdatedChange::setValue(const QVariant& value)```</span>.
2358    ///
2359    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#setValue">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Set the property change <i>value</i>.</p>
2360    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#value">value</a>().</p></div>
2361    #[inline(always)]
2362    pub unsafe fn set_value(
2363        &self,
2364        value: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QVariant>>,
2365    ) {
2366        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QDynamicPropertyUpdatedChange_setValue(
2367            self as *const crate::QDynamicPropertyUpdatedChange
2368                as *mut crate::QDynamicPropertyUpdatedChange,
2369            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QVariant>>::cast_into(value)
2370                .as_raw_ptr(),
2371        )
2372    }
2373
2374    /// <p>Returns property value.</p>
2375    ///
2376    /// Calls C++ function: <span style='color: green;'>```QVariant Qt3DCore::QDynamicPropertyUpdatedChange::value() const```</span>.
2377    ///
2378    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns property value.</p>
2379    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#setValue">setValue</a>().</p></div>
2380    #[inline(always)]
2381    pub unsafe fn value(&self) -> ::cpp_core::CppBox<::qt_core::QVariant> {
2382        let ffi_result = {
2383            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QDynamicPropertyUpdatedChange_value(
2384                self as *const crate::QDynamicPropertyUpdatedChange,
2385            )
2386        };
2387        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2388    }
2389}
2390
2391/// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">Qt3DCore::QNode</a> subclass that can aggregate several <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> instances that will specify its behavior.</p>
2392///
2393/// C++ class: <span style='color: green;'>```Qt3DCore::QEntity```</span>.
2394///
2395/// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">Qt3DCore::QNode</a> subclass that can aggregate several <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> instances that will specify its behavior.</p>
2396/// <p>By itself a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is an empty shell. The behavior of a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> object is defined by the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> objects it references. Each Qt3D backend aspect will be able to interpret and process an Entity by recognizing which components it is made up of. One aspect may decide to only process entities composed of a single <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">Qt3DCore::QTransform</a> component whilst another may focus on <a href="http://doc.qt.io/qt-5/qt3dinput-qmousehandler.html">Qt3DInput::QMouseHandler</a>.</p></div>
2397#[repr(C)]
2398pub struct QEntity {
2399    _unused: u8,
2400}
2401impl QEntity {
2402    /// <p>Adds a new reference to the component <i>comp</i>.</p>
2403    ///
2404    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QEntity::addComponent(Qt3DCore::QComponent* comp)```</span>.
2405    ///
2406    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html#addComponent">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Adds a new reference to the component <i>comp</i>.</p>
2407    /// <p><b>Note: </b>If the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> has no parent, the <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> will set itself as its parent thereby taking ownership of the component.</p></div>
2408    #[inline(always)]
2409    pub unsafe fn add_component(
2410        &self,
2411        comp: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QComponent>>,
2412    ) {
2413        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_addComponent(
2414            self as *const crate::QEntity as *mut crate::QEntity,
2415            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QComponent>>::cast_into(comp).as_raw_ptr()
2416                as *mut crate::QComponent,
2417        )
2418    }
2419
2420    /// <p>Returns the list of <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> instances the entity is referencing.</p>
2421    ///
2422    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*> Qt3DCore::QEntity::components() const```</span>.
2423    ///
2424    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html#components">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the list of <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> instances the entity is referencing.</p></div>
2425    #[inline(always)]
2426    pub unsafe fn components(&self) -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
2427        let ffi_result = {
2428            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_components(
2429                self as *const crate::QEntity,
2430            )
2431        };
2432        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2433    }
2434
2435    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QEntity::metaObject() const```</span>.
2436    #[inline(always)]
2437    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
2438        let ffi_result = {
2439            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_metaObject(
2440                self as *const crate::QEntity,
2441            )
2442        };
2443        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
2444    }
2445
2446    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instance with <i>parent</i> as parent.</p>
2447    ///
2448    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QEntity::QEntity(Qt3DCore::QNode* parent = …)```</span>.
2449    ///
2450    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html#QEntity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instance with <i>parent</i> as parent.</p></div>
2451    #[inline(always)]
2452    pub unsafe fn new_1a(
2453        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
2454    ) -> ::qt_core::QBox<crate::QEntity> {
2455        let ffi_result = {
2456            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_QEntity(
2457                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
2458                    .as_raw_ptr() as *mut crate::QNode,
2459            )
2460        };
2461        ::qt_core::QBox::from_raw(ffi_result)
2462    }
2463
2464    /// <p><a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">Qt3DCore::QNode</a> subclass that can aggregate several <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> instances that will specify its behavior.</p>
2465    ///
2466    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QEntity::QEntity()```</span>.
2467    ///
2468    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">Qt3DCore::QNode</a> subclass that can aggregate several <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> instances that will specify its behavior.</p>
2469    /// <p>By itself a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is an empty shell. The behavior of a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> object is defined by the <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html">Qt3DCore::QComponent</a> objects it references. Each Qt3D backend aspect will be able to interpret and process an Entity by recognizing which components it is made up of. One aspect may decide to only process entities composed of a single <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">Qt3DCore::QTransform</a> component whilst another may focus on <a href="http://doc.qt.io/qt-5/qt3dinput-qmousehandler.html">Qt3DInput::QMouseHandler</a>.</p></div>
2470    #[inline(always)]
2471    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QEntity> {
2472        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_QEntity1() };
2473        ::qt_core::QBox::from_raw(ffi_result)
2474    }
2475
2476    /// <p>Returns the parent <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instance of this entity. If the immediate parent isn't a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a>, this function traverses up the scene hierarchy until a parent <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is found. If no <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> parent can be found, returns null.</p>
2477    ///
2478    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* Qt3DCore::QEntity::parentEntity() const```</span>.
2479    ///
2480    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html#parentEntity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the parent <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> instance of this entity. If the immediate parent isn't a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a>, this function traverses up the scene hierarchy until a parent <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> is found. If no <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">Qt3DCore::QEntity</a> parent can be found, returns null.</p></div>
2481    #[inline(always)]
2482    pub unsafe fn parent_entity(&self) -> ::qt_core::QPtr<crate::QEntity> {
2483        let ffi_result = {
2484            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_parentEntity(
2485                self as *const crate::QEntity,
2486            )
2487        };
2488        ::qt_core::QPtr::from_raw(ffi_result)
2489    }
2490
2491    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QEntity::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
2492    #[inline(always)]
2493    pub unsafe fn qt_metacall(
2494        &self,
2495        arg1: ::qt_core::q_meta_object::Call,
2496        arg2: ::std::os::raw::c_int,
2497        arg3: *mut *mut ::std::ffi::c_void,
2498    ) -> ::std::os::raw::c_int {
2499        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_qt_metacall(
2500            self as *const crate::QEntity as *mut crate::QEntity,
2501            arg1,
2502            arg2,
2503            arg3,
2504        )
2505    }
2506
2507    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QEntity::qt_metacast(const char* arg1)```</span>.
2508    #[inline(always)]
2509    pub unsafe fn qt_metacast(
2510        &self,
2511        arg1: *const ::std::os::raw::c_char,
2512    ) -> *mut ::std::ffi::c_void {
2513        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_qt_metacast(
2514            self as *const crate::QEntity as *mut crate::QEntity,
2515            arg1,
2516        )
2517    }
2518
2519    /// <p>Removes the reference to <i>comp</i>.</p>
2520    ///
2521    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QEntity::removeComponent(Qt3DCore::QComponent* comp)```</span>.
2522    ///
2523    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html#removeComponent">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the reference to <i>comp</i>.</p></div>
2524    #[inline(always)]
2525    pub unsafe fn remove_component(
2526        &self,
2527        comp: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QComponent>>,
2528    ) {
2529        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_removeComponent(
2530            self as *const crate::QEntity as *mut crate::QEntity,
2531            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QComponent>>::cast_into(comp).as_raw_ptr()
2532                as *mut crate::QComponent,
2533        )
2534    }
2535
2536    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
2537    #[inline(always)]
2538    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
2539        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_staticMetaObject() };
2540        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
2541            .expect("attempted to construct a null Ref")
2542    }
2543
2544    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QEntity::tr(const char* s, const char* c, int n)```</span>.
2545    #[inline(always)]
2546    pub unsafe fn tr(
2547        s: *const ::std::os::raw::c_char,
2548        c: *const ::std::os::raw::c_char,
2549        n: ::std::os::raw::c_int,
2550    ) -> ::cpp_core::CppBox<::qt_core::QString> {
2551        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_tr(s, c, n) };
2552        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2553    }
2554
2555    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QEntity::trUtf8(const char* s, const char* c, int n)```</span>.
2556    #[inline(always)]
2557    pub unsafe fn tr_utf8(
2558        s: *const ::std::os::raw::c_char,
2559        c: *const ::std::os::raw::c_char,
2560        n: ::std::os::raw::c_int,
2561    ) -> ::cpp_core::CppBox<::qt_core::QString> {
2562        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_trUtf8(s, c, n) };
2563        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2564    }
2565}
2566
2567/// <p>Used to notify when a node is destroyed.</p>
2568///
2569/// C++ class: <span style='color: green;'>```Qt3DCore::QNodeDestroyedChange```</span>.
2570///
2571/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodedestroyedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to notify when a node is destroyed.</p></div>
2572#[repr(C)]
2573pub struct QNodeDestroyedChange {
2574    _unused: u8,
2575}
2576impl QNodeDestroyedChange {
2577    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnodedestroyedchange.html">QNodeDestroyedChange</a> with <i>node</i> and its <i>subtreeIdsAndTypes</i>.</p>
2578    ///
2579    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeDestroyedChange::QNodeDestroyedChange(const Qt3DCore::QNode* node, const QVector<Qt3DCore::QNodeIdTypePair>& subtreeIdsAndTypes)```</span>.
2580    ///
2581    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodedestroyedchange.html#QNodeDestroyedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnodedestroyedchange.html">QNodeDestroyedChange</a> with <i>node</i> and its <i>subtreeIdsAndTypes</i>.</p></div>
2582    #[inline(always)]
2583    pub unsafe fn new(
2584        node: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
2585        subtree_ids_and_types: impl ::cpp_core::CastInto<
2586            ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>,
2587        >,
2588    ) -> ::cpp_core::CppBox<crate::QNodeDestroyedChange> {
2589        let ffi_result = {
2590            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeDestroyedChange_QNodeDestroyedChange(::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(node).as_raw_ptr(), ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>::cast_into(subtree_ids_and_types).as_raw_ptr())
2591        };
2592        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2593    }
2594
2595    /// <p>Returns a vector of subtree node id type pairs</p>
2596    ///
2597    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair> Qt3DCore::QNodeDestroyedChange::subtreeIdsAndTypes() const```</span>.
2598    ///
2599    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodedestroyedchange.html#subtreeIdsAndTypes">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector of subtree node id type pairs</p></div>
2600    #[inline(always)]
2601    pub unsafe fn subtree_ids_and_types(
2602        &self,
2603    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
2604        let ffi_result = {
2605            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeDestroyedChange_subtreeIdsAndTypes(
2606                self as *const crate::QNodeDestroyedChange,
2607            )
2608        };
2609        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2610    }
2611}
2612
2613/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchangebase.html">QPropertyValueAddedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueAdded</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2614///
2615/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChangeBase```</span>.
2616///
2617/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchangebase.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchangebase.html">QPropertyValueAddedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueAdded</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2618/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchangebase.html">QPropertyValueAddedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events that have the changeType() <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueAdded</a>. You should not need to instantiate this class. Usually you should be using one of its subclasses such as <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynodeaddedchange.html">QPropertyNodeAddedChange</a>.</p>
2619/// <p>You can subclass this to create your own node added types for communication between your <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">QBackendNode</a> subclasses when writing your own aspects.</p></div>
2620#[repr(C)]
2621pub struct QPropertyValueAddedChangeBase {
2622    _unused: u8,
2623}
2624/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html">QStaticPropertyValueAddedChangeBase</a> class is the base class for all static <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueAdded</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2625///
2626/// C++ class: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase```</span>.
2627///
2628/// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html">QStaticPropertyValueAddedChangeBase</a> class is the base class for all static <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueAdded</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p></div>
2629#[repr(C)]
2630pub struct QStaticPropertyValueAddedChangeBase {
2631    _unused: u8,
2632}
2633impl QStaticPropertyValueAddedChangeBase {
2634    /// <p>Returns name of the property.</p>
2635    ///
2636    /// Calls C++ function: <span style='color: green;'>```const char* Qt3DCore::QStaticPropertyValueAddedChangeBase::propertyName() const```</span>.
2637    ///
2638    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html#propertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns name of the property.</p>
2639    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html#setPropertyName">setPropertyName</a>().</p></div>
2640    #[inline(always)]
2641    pub unsafe fn property_name(&self) -> *const ::std::os::raw::c_char {
2642        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyValueAddedChangeBase_propertyName(
2643            self as *const crate::QStaticPropertyValueAddedChangeBase,
2644        )
2645    }
2646
2647    /// <p>Sets the property change <i>name</i>.</p>
2648    ///
2649    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QStaticPropertyValueAddedChangeBase::setPropertyName(const char* name)```</span>.
2650    ///
2651    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html#setPropertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the property change <i>name</i>.</p>
2652    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html#propertyName">propertyName</a>().</p></div>
2653    #[inline(always)]
2654    pub unsafe fn set_property_name(&self, name: *const ::std::os::raw::c_char) {
2655        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyValueAddedChangeBase_setPropertyName(self as *const crate::QStaticPropertyValueAddedChangeBase as *mut crate::QStaticPropertyValueAddedChangeBase, name)
2656    }
2657}
2658
2659/// <p>Used to notify when a node is added to a property</p>
2660///
2661/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyNodeAddedChange```</span>.
2662///
2663/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynodeaddedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to notify when a node is added to a property</p></div>
2664#[repr(C)]
2665pub struct QPropertyNodeAddedChange {
2666    _unused: u8,
2667}
2668impl QPropertyNodeAddedChange {
2669    /// <p>Returns the id of the node added to the property.</p>
2670    ///
2671    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QPropertyNodeAddedChange::addedNodeId() const```</span>.
2672    ///
2673    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynodeaddedchange.html#addedNodeId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id of the node added to the property.</p></div>
2674    #[inline(always)]
2675    pub unsafe fn added_node_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
2676        let ffi_result = {
2677            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeAddedChange_addedNodeId(
2678                self as *const crate::QPropertyNodeAddedChange,
2679            )
2680        };
2681        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2682    }
2683
2684    /// <p>Returns the meta object of the node added to the property.</p>
2685    ///
2686    /// Calls C++ function: <span style='color: green;'>```const QMetaObject* Qt3DCore::QPropertyNodeAddedChange::metaObject() const```</span>.
2687    ///
2688    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynodeaddedchange.html#metaObject">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the meta object of the node added to the property.</p></div>
2689    #[inline(always)]
2690    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
2691        let ffi_result = {
2692            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeAddedChange_metaObject(
2693                self as *const crate::QPropertyNodeAddedChange,
2694            )
2695        };
2696        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
2697    }
2698
2699    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynodeaddedchange.html">QPropertyNodeAddedChange</a> with <i>subjectId</i>, <i>node</i>.</p>
2700    ///
2701    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QPropertyNodeAddedChange::QPropertyNodeAddedChange(Qt3DCore::QNodeId subjectId, Qt3DCore::QNode* node)```</span>.
2702    ///
2703    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynodeaddedchange.html#QPropertyNodeAddedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynodeaddedchange.html">QPropertyNodeAddedChange</a> with <i>subjectId</i>, <i>node</i>.</p></div>
2704    #[inline(always)]
2705    pub unsafe fn new(
2706        subject_id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
2707        node: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
2708    ) -> ::cpp_core::CppBox<crate::QPropertyNodeAddedChange> {
2709        let ffi_result = {
2710            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeAddedChange_QPropertyNodeAddedChange(::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(subject_id).as_raw_ptr(), ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(node).as_raw_ptr() as *mut crate::QNode)
2711        };
2712        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2713    }
2714}
2715
2716/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchangebase.html">QPropertyValueRemovedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueRemoved</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2717///
2718/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChangeBase```</span>.
2719///
2720/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchangebase.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchangebase.html">QPropertyValueRemovedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueRemoved</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2721/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchangebase.html">QPropertyValueRemovedChangeBase</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events that have the changeType() <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueRemoved</a>. You should not need to instantiate this class. Usually you should be using one of its subclasses such as <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html">QPropertyNodeRemovedChange</a>.</p>
2722/// <p>You can subclass this to create your own node Removed types for communication between your <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">QBackendNode</a> subclasses when writing your own aspects.</p></div>
2723#[repr(C)]
2724pub struct QPropertyValueRemovedChangeBase {
2725    _unused: u8,
2726}
2727/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html">QStaticPropertyValueRemovedChangeBase</a> class is the base class for all static <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueRemoved</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2728///
2729/// C++ class: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase```</span>.
2730///
2731/// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html">QStaticPropertyValueRemovedChangeBase</a> class is the base class for all static <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyValueRemoved</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p></div>
2732#[repr(C)]
2733pub struct QStaticPropertyValueRemovedChangeBase {
2734    _unused: u8,
2735}
2736impl QStaticPropertyValueRemovedChangeBase {
2737    /// <p>Returns name of the property.</p>
2738    ///
2739    /// Calls C++ function: <span style='color: green;'>```const char* Qt3DCore::QStaticPropertyValueRemovedChangeBase::propertyName() const```</span>.
2740    ///
2741    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html#propertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns name of the property.</p>
2742    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html#setPropertyName">setPropertyName</a>().</p></div>
2743    #[inline(always)]
2744    pub unsafe fn property_name(&self) -> *const ::std::os::raw::c_char {
2745        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyValueRemovedChangeBase_propertyName(
2746            self as *const crate::QStaticPropertyValueRemovedChangeBase,
2747        )
2748    }
2749
2750    /// <p>Sets the property change <i>name</i>.</p>
2751    ///
2752    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QStaticPropertyValueRemovedChangeBase::setPropertyName(const char* name)```</span>.
2753    ///
2754    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html#setPropertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the property change <i>name</i>.</p>
2755    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html#propertyName">propertyName</a>().</p></div>
2756    #[inline(always)]
2757    pub unsafe fn set_property_name(&self, name: *const ::std::os::raw::c_char) {
2758        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyValueRemovedChangeBase_setPropertyName(self as *const crate::QStaticPropertyValueRemovedChangeBase as *mut crate::QStaticPropertyValueRemovedChangeBase, name)
2759    }
2760}
2761
2762/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html">QPropertyNodeRemovedChange</a> class is used to notify when a node is removed from a property</p>
2763///
2764/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyNodeRemovedChange```</span>.
2765///
2766/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html">QPropertyNodeRemovedChange</a> class is used to notify when a node is removed from a property</p></div>
2767#[repr(C)]
2768pub struct QPropertyNodeRemovedChange {
2769    _unused: u8,
2770}
2771impl QPropertyNodeRemovedChange {
2772    /// <p>Returns the metaObject of the node removed to the property.</p>
2773    ///
2774    /// Calls C++ function: <span style='color: green;'>```const QMetaObject* Qt3DCore::QPropertyNodeRemovedChange::metaObject() const```</span>.
2775    ///
2776    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html#metaObject">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the metaObject of the node removed to the property.</p></div>
2777    #[inline(always)]
2778    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
2779        let ffi_result = {
2780            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeRemovedChange_metaObject(
2781                self as *const crate::QPropertyNodeRemovedChange,
2782            )
2783        };
2784        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
2785    }
2786
2787    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html">QPropertyNodeRemovedChange</a> with <i>subjectId</i>, <i>node</i>.</p>
2788    ///
2789    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QPropertyNodeRemovedChange::QPropertyNodeRemovedChange(Qt3DCore::QNodeId subjectId, Qt3DCore::QNode* node)```</span>.
2790    ///
2791    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html#QPropertyNodeRemovedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html">QPropertyNodeRemovedChange</a> with <i>subjectId</i>, <i>node</i>.</p></div>
2792    #[inline(always)]
2793    pub unsafe fn new(
2794        subject_id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
2795        node: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
2796    ) -> ::cpp_core::CppBox<crate::QPropertyNodeRemovedChange> {
2797        let ffi_result = {
2798            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeRemovedChange_QPropertyNodeRemovedChange(::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(subject_id).as_raw_ptr(), ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(node).as_raw_ptr() as *mut crate::QNode)
2799        };
2800        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2801    }
2802
2803    /// <p>Returns the id of the node removed to the property.</p>
2804    ///
2805    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::QPropertyNodeRemovedChange::removedNodeId() const```</span>.
2806    ///
2807    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertynoderemovedchange.html#removedNodeId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id of the node removed to the property.</p></div>
2808    #[inline(always)]
2809    pub unsafe fn removed_node_id(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
2810        let ffi_result = {
2811            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeRemovedChange_removedNodeId(
2812                self as *const crate::QPropertyNodeRemovedChange,
2813            )
2814        };
2815        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2816    }
2817}
2818
2819/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html">QStaticPropertyUpdatedChangeBase</a> class is the base class for all static <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyUpdated</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p>
2820///
2821/// C++ class: <span style='color: green;'>```Qt3DCore::QStaticPropertyUpdatedChangeBase```</span>.
2822///
2823/// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html">QStaticPropertyUpdatedChangeBase</a> class is the base class for all static <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">PropertyUpdated</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events</p></div>
2824#[repr(C)]
2825pub struct QStaticPropertyUpdatedChangeBase {
2826    _unused: u8,
2827}
2828impl QStaticPropertyUpdatedChangeBase {
2829    /// <p>Returns name of the property.</p>
2830    ///
2831    /// Calls C++ function: <span style='color: green;'>```const char* Qt3DCore::QStaticPropertyUpdatedChangeBase::propertyName() const```</span>.
2832    ///
2833    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html#propertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns name of the property.</p>
2834    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html#setPropertyName">setPropertyName</a>().</p></div>
2835    #[inline(always)]
2836    pub unsafe fn property_name(&self) -> *const ::std::os::raw::c_char {
2837        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyUpdatedChangeBase_propertyName(
2838            self as *const crate::QStaticPropertyUpdatedChangeBase,
2839        )
2840    }
2841
2842    /// <p>Sets the property change <i>name</i>.</p>
2843    ///
2844    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QStaticPropertyUpdatedChangeBase::setPropertyName(const char* name)```</span>.
2845    ///
2846    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html#setPropertyName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the property change <i>name</i>.</p>
2847    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html#propertyName">propertyName</a>().</p></div>
2848    #[inline(always)]
2849    pub unsafe fn set_property_name(&self, name: *const ::std::os::raw::c_char) {
2850        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyUpdatedChangeBase_setPropertyName(
2851            self as *const crate::QStaticPropertyUpdatedChangeBase
2852                as *mut crate::QStaticPropertyUpdatedChangeBase,
2853            name,
2854        )
2855    }
2856}
2857
2858/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html">QPropertyUpdatedChange</a> class is used to notify when a property value is updated</p>
2859///
2860/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChange```</span>.
2861///
2862/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html">QPropertyUpdatedChange</a> class is used to notify when a property value is updated</p></div>
2863#[repr(C)]
2864pub struct QPropertyUpdatedChange {
2865    _unused: u8,
2866}
2867impl QPropertyUpdatedChange {
2868    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html">QPropertyUpdatedChange</a> with <i>subjectId</i>.</p>
2869    ///
2870    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QPropertyUpdatedChange::QPropertyUpdatedChange(Qt3DCore::QNodeId subjectId)```</span>.
2871    ///
2872    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html#QPropertyUpdatedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html">QPropertyUpdatedChange</a> with <i>subjectId</i>.</p></div>
2873    #[inline(always)]
2874    pub unsafe fn new(
2875        subject_id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
2876    ) -> ::cpp_core::CppBox<crate::QPropertyUpdatedChange> {
2877        let ffi_result = {
2878            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyUpdatedChange_QPropertyUpdatedChange(
2879                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(subject_id)
2880                    .as_raw_ptr(),
2881            )
2882        };
2883        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2884    }
2885
2886    /// <p>Set the property change <i>value</i>.</p>
2887    ///
2888    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QPropertyUpdatedChange::setValue(const QVariant& value)```</span>.
2889    ///
2890    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html#setValue">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Set the property change <i>value</i>.</p>
2891    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html#value">value</a>().</p></div>
2892    #[inline(always)]
2893    pub unsafe fn set_value(
2894        &self,
2895        value: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QVariant>>,
2896    ) {
2897        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyUpdatedChange_setValue(
2898            self as *const crate::QPropertyUpdatedChange as *mut crate::QPropertyUpdatedChange,
2899            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QVariant>>::cast_into(value)
2900                .as_raw_ptr(),
2901        )
2902    }
2903
2904    /// <p>Returns property value.</p>
2905    ///
2906    /// Calls C++ function: <span style='color: green;'>```QVariant Qt3DCore::QPropertyUpdatedChange::value() const```</span>.
2907    ///
2908    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns property value.</p>
2909    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html#setValue">setValue</a>().</p></div>
2910    #[inline(always)]
2911    pub unsafe fn value(&self) -> ::cpp_core::CppBox<::qt_core::QVariant> {
2912        let ffi_result = {
2913            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyUpdatedChange_value(
2914                self as *const crate::QPropertyUpdatedChange,
2915            )
2916        };
2917        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2918    }
2919}
2920
2921/// <p>Used to notify when a value is added to a property</p>
2922///
2923/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChange```</span>.
2924///
2925/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to notify when a value is added to a property</p></div>
2926#[repr(C)]
2927pub struct QPropertyValueAddedChange {
2928    _unused: u8,
2929}
2930impl QPropertyValueAddedChange {
2931    /// <p>Returns the value added to the property.</p>
2932    ///
2933    /// Calls C++ function: <span style='color: green;'>```QVariant Qt3DCore::QPropertyValueAddedChange::addedValue() const```</span>.
2934    ///
2935    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html#addedValue">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value added to the property.</p>
2936    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html#setAddedValue">setAddedValue</a>().</p></div>
2937    #[inline(always)]
2938    pub unsafe fn added_value(&self) -> ::cpp_core::CppBox<::qt_core::QVariant> {
2939        let ffi_result = {
2940            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueAddedChange_addedValue(
2941                self as *const crate::QPropertyValueAddedChange,
2942            )
2943        };
2944        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2945    }
2946
2947    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html">QPropertyValueAddedChange</a> with <i>subjectId</i>.</p>
2948    ///
2949    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QPropertyValueAddedChange::QPropertyValueAddedChange(Qt3DCore::QNodeId subjectId)```</span>.
2950    ///
2951    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html#QPropertyValueAddedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html">QPropertyValueAddedChange</a> with <i>subjectId</i>.</p></div>
2952    #[inline(always)]
2953    pub unsafe fn new(
2954        subject_id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
2955    ) -> ::cpp_core::CppBox<crate::QPropertyValueAddedChange> {
2956        let ffi_result = {
2957            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueAddedChange_QPropertyValueAddedChange(::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(subject_id).as_raw_ptr())
2958        };
2959        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
2960    }
2961
2962    /// <p>Sets the value added to the property to <i>value</i>.</p>
2963    ///
2964    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QPropertyValueAddedChange::setAddedValue(const QVariant& value)```</span>.
2965    ///
2966    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html#setAddedValue">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the value added to the property to <i>value</i>.</p>
2967    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html#addedValue">addedValue</a>().</p></div>
2968    #[inline(always)]
2969    pub unsafe fn set_added_value(
2970        &self,
2971        value: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QVariant>>,
2972    ) {
2973        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueAddedChange_setAddedValue(
2974            self as *const crate::QPropertyValueAddedChange
2975                as *mut crate::QPropertyValueAddedChange,
2976            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QVariant>>::cast_into(value)
2977                .as_raw_ptr(),
2978        )
2979    }
2980}
2981
2982/// <p>Used to notify when a value is added to a property</p>
2983///
2984/// C++ class: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChange```</span>.
2985///
2986/// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to notify when a value is added to a property</p></div>
2987#[repr(C)]
2988pub struct QPropertyValueRemovedChange {
2989    _unused: u8,
2990}
2991impl QPropertyValueRemovedChange {
2992    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html">QPropertyValueRemovedChange</a> with <i>subjectId</i>.</p>
2993    ///
2994    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QPropertyValueRemovedChange::QPropertyValueRemovedChange(Qt3DCore::QNodeId subjectId)```</span>.
2995    ///
2996    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html#QPropertyValueRemovedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html">QPropertyValueRemovedChange</a> with <i>subjectId</i>.</p></div>
2997    #[inline(always)]
2998    pub unsafe fn new(
2999        subject_id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
3000    ) -> ::cpp_core::CppBox<crate::QPropertyValueRemovedChange> {
3001        let ffi_result = {
3002            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueRemovedChange_QPropertyValueRemovedChange(::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(subject_id).as_raw_ptr())
3003        };
3004        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3005    }
3006
3007    /// <p>Returns the value removed from the property.</p>
3008    ///
3009    /// Calls C++ function: <span style='color: green;'>```QVariant Qt3DCore::QPropertyValueRemovedChange::removedValue() const```</span>.
3010    ///
3011    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html#removedValue">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value removed from the property.</p>
3012    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html#setRemovedValue">setRemovedValue</a>().</p></div>
3013    #[inline(always)]
3014    pub unsafe fn removed_value(&self) -> ::cpp_core::CppBox<::qt_core::QVariant> {
3015        let ffi_result = {
3016            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueRemovedChange_removedValue(
3017                self as *const crate::QPropertyValueRemovedChange,
3018            )
3019        };
3020        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3021    }
3022
3023    /// <p>Sets the value removed from the property to <i>value</i>.</p>
3024    ///
3025    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QPropertyValueRemovedChange::setRemovedValue(const QVariant& value)```</span>.
3026    ///
3027    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html#setRemovedValue">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the value removed from the property to <i>value</i>.</p>
3028    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html#removedValue">removedValue</a>().</p></div>
3029    #[inline(always)]
3030    pub unsafe fn set_removed_value(
3031        &self,
3032        value: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QVariant>>,
3033    ) {
3034        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueRemovedChange_setRemovedValue(
3035            self as *const crate::QPropertyValueRemovedChange
3036                as *mut crate::QPropertyValueRemovedChange,
3037            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QVariant>>::cast_into(value)
3038                .as_raw_ptr(),
3039        )
3040    }
3041}
3042
3043/// <p>Used to perform transforms on meshes</p>
3044///
3045/// C++ class: <span style='color: green;'>```Qt3DCore::QTransform```</span>.
3046///
3047/// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to perform transforms on meshes</p>
3048/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> component is not shareable between multiple <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>'s. The transformation is held as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a> scale, <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> rotation and <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a> translation components. The transformations are applied to the mesh in that order. When <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#matrix-prop">QTransform::matrix</a> property is set, it is decomposed to these transform components and corresponding signals are emitted.</p>
3049/// <p>Several helper functions are provided to set up the <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a>; <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxisAndAngle">fromAxisAndAngle</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxesAndAngles">fromAxesAndAngles</a> can be used to set the rotation around specific axes, <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromEulerAngles">fromEulerAngles</a> can be used to set the rotation based on euler angles and <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotateAround">rotateAround</a> can be used to rotate the object around specific point relative to local origin.</p></div>
3050#[repr(C)]
3051pub struct QTransform {
3052    _unused: u8,
3053}
3054impl QTransform {
3055    /// <p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
3056    ///
3057    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setScale` that can be passed to `qt_core::Signal::connect`.
3058    ///
3059    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
3060    /// <p><b>Access functions:</b></p>
3061    /// <div class="table"><table class="alignedsummary">
3062    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
3063    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(float <i>scale</i>)</td></tr>
3064    /// </tbody></table></div>
3065    /// <p><b>Notifier signal:</b></p>
3066    /// <div class="table"><table class="alignedsummary">
3067    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(float <i>scale</i>)</td></tr>
3068    /// </tbody></table></div></div>
3069    #[inline(always)]
3070    pub fn slot_set_scale(&self) -> ::qt_core::Receiver<(::std::os::raw::c_float,)> {
3071        unsafe {
3072            ::qt_core::Receiver::new(
3073                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3074                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setScale(float)\0"),
3075            )
3076        }
3077    }
3078
3079    /// <p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3080    ///
3081    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setScale3D` that can be passed to `qt_core::Signal::connect`.
3082    ///
3083    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3084    /// <p><b>Access functions:</b></p>
3085    /// <div class="table"><table class="alignedsummary">
3086    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3D</b></span>() const</td></tr>
3087    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale3D</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
3088    /// </tbody></table></div>
3089    /// <p><b>Notifier signal:</b></p>
3090    /// <div class="table"><table class="alignedsummary">
3091    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3DChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
3092    /// </tbody></table></div></div>
3093    #[inline(always)]
3094    pub fn slot_set_scale_3d(&self) -> ::qt_core::Receiver<(*const ::qt_gui::QVector3D,)> {
3095        unsafe {
3096            ::qt_core::Receiver::new(
3097                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3098                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3099                    b"1setScale3D(QVector3D const &)\0",
3100                ),
3101            )
3102        }
3103    }
3104
3105    /// <p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3106    ///
3107    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setRotation` that can be passed to `qt_core::Signal::connect`.
3108    ///
3109    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3110    /// <p><b>Access functions:</b></p>
3111    /// <div class="table"><table class="alignedsummary">
3112    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
3113    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3114    /// </tbody></table></div>
3115    /// <p><b>Notifier signal:</b></p>
3116    /// <div class="table"><table class="alignedsummary">
3117    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3118    /// </tbody></table></div></div>
3119    #[inline(always)]
3120    pub fn slot_set_rotation(&self) -> ::qt_core::Receiver<(*const ::qt_gui::QQuaternion,)> {
3121        unsafe {
3122            ::qt_core::Receiver::new(
3123                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3124                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3125                    b"1setRotation(QQuaternion const &)\0",
3126                ),
3127            )
3128        }
3129    }
3130
3131    /// <p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3132    ///
3133    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setTranslation` that can be passed to `qt_core::Signal::connect`.
3134    ///
3135    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3136    /// <p><b>Access functions:</b></p>
3137    /// <div class="table"><table class="alignedsummary">
3138    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
3139    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
3140    /// </tbody></table></div>
3141    /// <p><b>Notifier signal:</b></p>
3142    /// <div class="table"><table class="alignedsummary">
3143    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
3144    /// </tbody></table></div></div>
3145    #[inline(always)]
3146    pub fn slot_set_translation(&self) -> ::qt_core::Receiver<(*const ::qt_gui::QVector3D,)> {
3147        unsafe {
3148            ::qt_core::Receiver::new(
3149                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3150                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3151                    b"1setTranslation(QVector3D const &)\0",
3152                ),
3153            )
3154        }
3155    }
3156
3157    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3158    ///
3159    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setMatrix` that can be passed to `qt_core::Signal::connect`.
3160    ///
3161    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#matrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3162    /// <p><b>Note: </b>When the matrix property is set, it is decomposed to translation, rotation and scale components.</p><p><b>Access functions:</b></p>
3163    /// <div class="table"><table class="alignedsummary">
3164    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>matrix</b></span>() const</td></tr>
3165    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setMatrix</b></span>(const QMatrix4x4 &amp;<i>matrix</i>)</td></tr>
3166    /// </tbody></table></div>
3167    /// <p><b>Notifier signal:</b></p>
3168    /// <div class="table"><table class="alignedsummary">
3169    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>matrixChanged</b></span>()</td></tr>
3170    /// </tbody></table></div></div>
3171    #[inline(always)]
3172    pub fn slot_set_matrix(&self) -> ::qt_core::Receiver<(*const ::qt_gui::QMatrix4X4,)> {
3173        unsafe {
3174            ::qt_core::Receiver::new(
3175                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3176                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3177                    b"1setMatrix(QMatrix4x4 const &)\0",
3178                ),
3179            )
3180        }
3181    }
3182
3183    /// <p>Holds the x rotation of the transform as Euler angle.</p>
3184    ///
3185    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setRotationX` that can be passed to `qt_core::Signal::connect`.
3186    ///
3187    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the transform as Euler angle.</p>
3188    /// <p><b>Access functions:</b></p>
3189    /// <div class="table"><table class="alignedsummary">
3190    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
3191    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
3192    /// </tbody></table></div>
3193    /// <p><b>Notifier signal:</b></p>
3194    /// <div class="table"><table class="alignedsummary">
3195    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
3196    /// </tbody></table></div></div>
3197    #[inline(always)]
3198    pub fn slot_set_rotation_x(&self) -> ::qt_core::Receiver<(::std::os::raw::c_float,)> {
3199        unsafe {
3200            ::qt_core::Receiver::new(
3201                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3202                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setRotationX(float)\0"),
3203            )
3204        }
3205    }
3206
3207    /// <p>Holds the y rotation of the transform as Euler angle.</p>
3208    ///
3209    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setRotationY` that can be passed to `qt_core::Signal::connect`.
3210    ///
3211    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the transform as Euler angle.</p>
3212    /// <p><b>Access functions:</b></p>
3213    /// <div class="table"><table class="alignedsummary">
3214    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
3215    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
3216    /// </tbody></table></div>
3217    /// <p><b>Notifier signal:</b></p>
3218    /// <div class="table"><table class="alignedsummary">
3219    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
3220    /// </tbody></table></div></div>
3221    #[inline(always)]
3222    pub fn slot_set_rotation_y(&self) -> ::qt_core::Receiver<(::std::os::raw::c_float,)> {
3223        unsafe {
3224            ::qt_core::Receiver::new(
3225                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3226                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setRotationY(float)\0"),
3227            )
3228        }
3229    }
3230
3231    /// <p>Holds the z rotation of the transform as Euler angle.</p>
3232    ///
3233    /// Returns a built-in Qt slot `Qt3DCore::QTransform::setRotationZ` that can be passed to `qt_core::Signal::connect`.
3234    ///
3235    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the transform as Euler angle.</p>
3236    /// <p><b>Access functions:</b></p>
3237    /// <div class="table"><table class="alignedsummary">
3238    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
3239    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
3240    /// </tbody></table></div>
3241    /// <p><b>Notifier signal:</b></p>
3242    /// <div class="table"><table class="alignedsummary">
3243    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
3244    /// </tbody></table></div></div>
3245    #[inline(always)]
3246    pub fn slot_set_rotation_z(&self) -> ::qt_core::Receiver<(::std::os::raw::c_float,)> {
3247        unsafe {
3248            ::qt_core::Receiver::new(
3249                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3250                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setRotationZ(float)\0"),
3251            )
3252        }
3253    }
3254
3255    /// <p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
3256    ///
3257    /// Returns a built-in Qt signal `Qt3DCore::QTransform::scaleChanged` that can be passed to `qt_core::Signal::connect`.
3258    ///
3259    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
3260    /// <p><b>Access functions:</b></p>
3261    /// <div class="table"><table class="alignedsummary">
3262    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
3263    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(float <i>scale</i>)</td></tr>
3264    /// </tbody></table></div>
3265    /// <p><b>Notifier signal:</b></p>
3266    /// <div class="table"><table class="alignedsummary">
3267    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(float <i>scale</i>)</td></tr>
3268    /// </tbody></table></div></div>
3269    #[inline(always)]
3270    pub fn scale_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
3271        unsafe {
3272            ::qt_core::Signal::new(
3273                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3274                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2scaleChanged(float)\0"),
3275            )
3276        }
3277    }
3278
3279    /// <p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3280    ///
3281    /// Returns a built-in Qt signal `Qt3DCore::QTransform::scale3DChanged` that can be passed to `qt_core::Signal::connect`.
3282    ///
3283    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3284    /// <p><b>Access functions:</b></p>
3285    /// <div class="table"><table class="alignedsummary">
3286    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3D</b></span>() const</td></tr>
3287    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale3D</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
3288    /// </tbody></table></div>
3289    /// <p><b>Notifier signal:</b></p>
3290    /// <div class="table"><table class="alignedsummary">
3291    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3DChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
3292    /// </tbody></table></div></div>
3293    #[inline(always)]
3294    pub fn scale_3d_changed(&self) -> ::qt_core::Signal<(*const ::qt_gui::QVector3D,)> {
3295        unsafe {
3296            ::qt_core::Signal::new(
3297                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3298                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3299                    b"2scale3DChanged(QVector3D const &)\0",
3300                ),
3301            )
3302        }
3303    }
3304
3305    /// <p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3306    ///
3307    /// Returns a built-in Qt signal `Qt3DCore::QTransform::rotationChanged` that can be passed to `qt_core::Signal::connect`.
3308    ///
3309    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3310    /// <p><b>Access functions:</b></p>
3311    /// <div class="table"><table class="alignedsummary">
3312    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
3313    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3314    /// </tbody></table></div>
3315    /// <p><b>Notifier signal:</b></p>
3316    /// <div class="table"><table class="alignedsummary">
3317    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3318    /// </tbody></table></div></div>
3319    #[inline(always)]
3320    pub fn rotation_changed(&self) -> ::qt_core::Signal<(*const ::qt_gui::QQuaternion,)> {
3321        unsafe {
3322            ::qt_core::Signal::new(
3323                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3324                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3325                    b"2rotationChanged(QQuaternion const &)\0",
3326                ),
3327            )
3328        }
3329    }
3330
3331    /// <p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3332    ///
3333    /// Returns a built-in Qt signal `Qt3DCore::QTransform::translationChanged` that can be passed to `qt_core::Signal::connect`.
3334    ///
3335    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3336    /// <p><b>Access functions:</b></p>
3337    /// <div class="table"><table class="alignedsummary">
3338    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
3339    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
3340    /// </tbody></table></div>
3341    /// <p><b>Notifier signal:</b></p>
3342    /// <div class="table"><table class="alignedsummary">
3343    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
3344    /// </tbody></table></div></div>
3345    #[inline(always)]
3346    pub fn translation_changed(&self) -> ::qt_core::Signal<(*const ::qt_gui::QVector3D,)> {
3347        unsafe {
3348            ::qt_core::Signal::new(
3349                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3350                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3351                    b"2translationChanged(QVector3D const &)\0",
3352                ),
3353            )
3354        }
3355    }
3356
3357    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3358    ///
3359    /// Returns a built-in Qt signal `Qt3DCore::QTransform::matrixChanged` that can be passed to `qt_core::Signal::connect`.
3360    ///
3361    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#matrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3362    /// <p><b>Note: </b>When the matrix property is set, it is decomposed to translation, rotation and scale components.</p><p><b>Access functions:</b></p>
3363    /// <div class="table"><table class="alignedsummary">
3364    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>matrix</b></span>() const</td></tr>
3365    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setMatrix</b></span>(const QMatrix4x4 &amp;<i>matrix</i>)</td></tr>
3366    /// </tbody></table></div>
3367    /// <p><b>Notifier signal:</b></p>
3368    /// <div class="table"><table class="alignedsummary">
3369    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>matrixChanged</b></span>()</td></tr>
3370    /// </tbody></table></div></div>
3371    #[inline(always)]
3372    pub fn matrix_changed(&self) -> ::qt_core::Signal<()> {
3373        unsafe {
3374            ::qt_core::Signal::new(
3375                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3376                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2matrixChanged()\0"),
3377            )
3378        }
3379    }
3380
3381    /// <p>Holds the x rotation of the transform as Euler angle.</p>
3382    ///
3383    /// Returns a built-in Qt signal `Qt3DCore::QTransform::rotationXChanged` that can be passed to `qt_core::Signal::connect`.
3384    ///
3385    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the transform as Euler angle.</p>
3386    /// <p><b>Access functions:</b></p>
3387    /// <div class="table"><table class="alignedsummary">
3388    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
3389    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
3390    /// </tbody></table></div>
3391    /// <p><b>Notifier signal:</b></p>
3392    /// <div class="table"><table class="alignedsummary">
3393    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
3394    /// </tbody></table></div></div>
3395    #[inline(always)]
3396    pub fn rotation_x_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
3397        unsafe {
3398            ::qt_core::Signal::new(
3399                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3400                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2rotationXChanged(float)\0"),
3401            )
3402        }
3403    }
3404
3405    /// <p>Holds the y rotation of the transform as Euler angle.</p>
3406    ///
3407    /// Returns a built-in Qt signal `Qt3DCore::QTransform::rotationYChanged` that can be passed to `qt_core::Signal::connect`.
3408    ///
3409    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the transform as Euler angle.</p>
3410    /// <p><b>Access functions:</b></p>
3411    /// <div class="table"><table class="alignedsummary">
3412    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
3413    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
3414    /// </tbody></table></div>
3415    /// <p><b>Notifier signal:</b></p>
3416    /// <div class="table"><table class="alignedsummary">
3417    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
3418    /// </tbody></table></div></div>
3419    #[inline(always)]
3420    pub fn rotation_y_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
3421        unsafe {
3422            ::qt_core::Signal::new(
3423                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3424                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2rotationYChanged(float)\0"),
3425            )
3426        }
3427    }
3428
3429    /// <p>Holds the z rotation of the transform as Euler angle.</p>
3430    ///
3431    /// Returns a built-in Qt signal `Qt3DCore::QTransform::rotationZChanged` that can be passed to `qt_core::Signal::connect`.
3432    ///
3433    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the transform as Euler angle.</p>
3434    /// <p><b>Access functions:</b></p>
3435    /// <div class="table"><table class="alignedsummary">
3436    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
3437    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
3438    /// </tbody></table></div>
3439    /// <p><b>Notifier signal:</b></p>
3440    /// <div class="table"><table class="alignedsummary">
3441    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
3442    /// </tbody></table></div></div>
3443    #[inline(always)]
3444    pub fn rotation_z_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
3445        unsafe {
3446            ::qt_core::Signal::new(
3447                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
3448                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2rotationZChanged(float)\0"),
3449            )
3450        }
3451    }
3452
3453    /// <p>Creates a QQuaterniom definining a rotation from the axes <i>xAxis</i>, <i>yAxis</i> and <i>zAxis</i>.</p>
3454    ///
3455    /// Calls C++ function: <span style='color: green;'>```static QQuaternion Qt3DCore::QTransform::fromAxes(const QVector3D& xAxis, const QVector3D& yAxis, const QVector3D& zAxis)```</span>.
3456    ///
3457    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxes">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a QQuaterniom definining a rotation from the axes <i>xAxis</i>, <i>yAxis</i> and <i>zAxis</i>.</p>
3458    /// <p>This function was introduced in  Qt 5.11.</p>
3459    /// <p><b>Note: </b>This function can be invoked via the meta-object system and from QML. See <a href="http://doc.qt.io/qt-5/qobject.html#Q_INVOKABLE">Q_INVOKABLE</a>.</p></div>
3460    #[inline(always)]
3461    #[cfg_attr(
3462        feature = "ritual_rustdoc_nightly",
3463        doc(cfg(any(
3464            cpp_lib_version = "5.11.3",
3465            cpp_lib_version = "5.12.2",
3466            cpp_lib_version = "5.13.0",
3467            cpp_lib_version = "5.14.0"
3468        )))
3469    )]
3470    #[cfg(any(
3471        any(
3472            cpp_lib_version = "5.11.3",
3473            cpp_lib_version = "5.12.2",
3474            cpp_lib_version = "5.13.0",
3475            cpp_lib_version = "5.14.0"
3476        ),
3477        feature = "ritual_rustdoc"
3478    ))]
3479    pub unsafe fn from_axes(
3480        x_axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3481        y_axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3482        z_axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3483    ) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3484        let ffi_result = {
3485            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_fromAxes(
3486                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(x_axis)
3487                    .as_raw_ptr(),
3488                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(y_axis)
3489                    .as_raw_ptr(),
3490                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(z_axis)
3491                    .as_raw_ptr(),
3492            )
3493        };
3494        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3495    }
3496
3497    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>axis1</i>, <i>angle1</i>, <i>axis2</i>, and <i>angle2</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3498    ///
3499    /// Calls C++ function: <span style='color: green;'>```static QQuaternion Qt3DCore::QTransform::fromAxesAndAngles(const QVector3D& axis1, float angle1, const QVector3D& axis2, float angle2)```</span>.
3500    ///
3501    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxesAndAngles">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>axis1</i>, <i>angle1</i>, <i>axis2</i>, and <i>angle2</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p></div>
3502    #[inline(always)]
3503    pub unsafe fn from_axes_and_angles_4a(
3504        axis1: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3505        angle1: ::std::os::raw::c_float,
3506        axis2: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3507        angle2: ::std::os::raw::c_float,
3508    ) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3509        let ffi_result = {
3510            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_fromAxesAndAngles(
3511                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(axis1)
3512                    .as_raw_ptr(),
3513                angle1,
3514                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(axis2)
3515                    .as_raw_ptr(),
3516                angle2,
3517            )
3518        };
3519        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3520    }
3521
3522    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>axis1</i>, <i>angle1</i>, <i>axis2</i>, <i>angle2</i>, <i>axis3</i>, and <i>angle3</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3523    ///
3524    /// Calls C++ function: <span style='color: green;'>```static QQuaternion Qt3DCore::QTransform::fromAxesAndAngles(const QVector3D& axis1, float angle1, const QVector3D& axis2, float angle2, const QVector3D& axis3, float angle3)```</span>.
3525    ///
3526    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxesAndAngles-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>axis1</i>, <i>angle1</i>, <i>axis2</i>, <i>angle2</i>, <i>axis3</i>, and <i>angle3</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p></div>
3527    #[inline(always)]
3528    pub unsafe fn from_axes_and_angles_6a(
3529        axis1: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3530        angle1: ::std::os::raw::c_float,
3531        axis2: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3532        angle2: ::std::os::raw::c_float,
3533        axis3: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3534        angle3: ::std::os::raw::c_float,
3535    ) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3536        let ffi_result = {
3537            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_fromAxesAndAngles1(
3538                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(axis1)
3539                    .as_raw_ptr(),
3540                angle1,
3541                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(axis2)
3542                    .as_raw_ptr(),
3543                angle2,
3544                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(axis3)
3545                    .as_raw_ptr(),
3546                angle3,
3547            )
3548        };
3549        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3550    }
3551
3552    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>axis</i> and <i>angle</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3553    ///
3554    /// Calls C++ function: <span style='color: green;'>```static QQuaternion Qt3DCore::QTransform::fromAxisAndAngle(const QVector3D& axis, float angle)```</span>.
3555    ///
3556    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxisAndAngle">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>axis</i> and <i>angle</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p></div>
3557    #[inline(always)]
3558    pub unsafe fn from_axis_and_angle_2a(
3559        axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3560        angle: ::std::os::raw::c_float,
3561    ) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3562        let ffi_result = {
3563            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_fromAxisAndAngle(
3564                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(axis)
3565                    .as_raw_ptr(),
3566                angle,
3567            )
3568        };
3569        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3570    }
3571
3572    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>x</i>, <i>y</i>, <i>z</i>, and <i>angle</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3573    ///
3574    /// Calls C++ function: <span style='color: green;'>```static QQuaternion Qt3DCore::QTransform::fromAxisAndAngle(float x, float y, float z, float angle)```</span>.
3575    ///
3576    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxisAndAngle-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>x</i>, <i>y</i>, <i>z</i>, and <i>angle</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p></div>
3577    #[inline(always)]
3578    pub unsafe fn from_axis_and_angle_4a(
3579        x: ::std::os::raw::c_float,
3580        y: ::std::os::raw::c_float,
3581        z: ::std::os::raw::c_float,
3582        angle: ::std::os::raw::c_float,
3583    ) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3584        let ffi_result = {
3585            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_fromAxisAndAngle1(x, y, z, angle)
3586        };
3587        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3588    }
3589
3590    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>eulerAngles</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3591    ///
3592    /// Calls C++ function: <span style='color: green;'>```static QQuaternion Qt3DCore::QTransform::fromEulerAngles(const QVector3D& eulerAngles)```</span>.
3593    ///
3594    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromEulerAngles">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>eulerAngles</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p></div>
3595    #[inline(always)]
3596    pub unsafe fn from_euler_angles_1a(
3597        euler_angles: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3598    ) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3599        let ffi_result = {
3600            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_fromEulerAngles(
3601                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(
3602                    euler_angles,
3603                )
3604                .as_raw_ptr(),
3605            )
3606        };
3607        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3608    }
3609
3610    /// <p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>pitch</i>, <i>yaw</i>, and <i>roll</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3611    ///
3612    /// Calls C++ function: <span style='color: green;'>```static QQuaternion Qt3DCore::QTransform::fromEulerAngles(float pitch, float yaw, float roll)```</span>.
3613    ///
3614    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromEulerAngles-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> from <i>pitch</i>, <i>yaw</i>, and <i>roll</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p></div>
3615    #[inline(always)]
3616    pub unsafe fn from_euler_angles_3a(
3617        pitch: ::std::os::raw::c_float,
3618        yaw: ::std::os::raw::c_float,
3619        roll: ::std::os::raw::c_float,
3620    ) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3621        let ffi_result = {
3622            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_fromEulerAngles1(pitch, yaw, roll)
3623        };
3624        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3625    }
3626
3627    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3628    ///
3629    /// Calls C++ function: <span style='color: green;'>```QMatrix4x4 Qt3DCore::QTransform::matrix() const```</span>.
3630    ///
3631    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#matrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3632    /// <p><b>Note: </b>When the matrix property is set, it is decomposed to translation, rotation and scale components.</p><p><b>Access functions:</b></p>
3633    /// <div class="table"><table class="alignedsummary">
3634    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>matrix</b></span>() const</td></tr>
3635    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setMatrix</b></span>(const QMatrix4x4 &amp;<i>matrix</i>)</td></tr>
3636    /// </tbody></table></div>
3637    /// <p><b>Notifier signal:</b></p>
3638    /// <div class="table"><table class="alignedsummary">
3639    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>matrixChanged</b></span>()</td></tr>
3640    /// </tbody></table></div></div>
3641    #[inline(always)]
3642    pub unsafe fn matrix(&self) -> ::cpp_core::CppBox<::qt_gui::QMatrix4X4> {
3643        let ffi_result = {
3644            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_matrix(
3645                self as *const crate::QTransform,
3646            )
3647        };
3648        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3649    }
3650
3651    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QTransform::metaObject() const```</span>.
3652    #[inline(always)]
3653    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
3654        let ffi_result = {
3655            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_metaObject(
3656                self as *const crate::QTransform,
3657            )
3658        };
3659        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
3660    }
3661
3662    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> with <i>parent</i>.</p>
3663    ///
3664    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QTransform::QTransform(Qt3DCore::QNode* parent = …)```</span>.
3665    ///
3666    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#QTransform">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> with <i>parent</i>.</p></div>
3667    #[inline(always)]
3668    pub unsafe fn new_1a(
3669        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
3670    ) -> ::qt_core::QBox<crate::QTransform> {
3671        let ffi_result = {
3672            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_QTransform(
3673                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
3674                    .as_raw_ptr() as *mut crate::QNode,
3675            )
3676        };
3677        ::qt_core::QBox::from_raw(ffi_result)
3678    }
3679
3680    /// <p>Used to perform transforms on meshes</p>
3681    ///
3682    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QTransform::QTransform()```</span>.
3683    ///
3684    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to perform transforms on meshes</p>
3685    /// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> component is not shareable between multiple <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>'s. The transformation is held as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a> scale, <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a> rotation and <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a> translation components. The transformations are applied to the mesh in that order. When <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#matrix-prop">QTransform::matrix</a> property is set, it is decomposed to these transform components and corresponding signals are emitted.</p>
3686    /// <p>Several helper functions are provided to set up the <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a>; <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxisAndAngle">fromAxisAndAngle</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromAxesAndAngles">fromAxesAndAngles</a> can be used to set the rotation around specific axes, <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#fromEulerAngles">fromEulerAngles</a> can be used to set the rotation based on euler angles and <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotateAround">rotateAround</a> can be used to rotate the object around specific point relative to local origin.</p></div>
3687    #[inline(always)]
3688    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QTransform> {
3689        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_QTransform1() };
3690        ::qt_core::QBox::from_raw(ffi_result)
3691    }
3692
3693    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QTransform::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
3694    #[inline(always)]
3695    pub unsafe fn qt_metacall(
3696        &self,
3697        arg1: ::qt_core::q_meta_object::Call,
3698        arg2: ::std::os::raw::c_int,
3699        arg3: *mut *mut ::std::ffi::c_void,
3700    ) -> ::std::os::raw::c_int {
3701        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_qt_metacall(
3702            self as *const crate::QTransform as *mut crate::QTransform,
3703            arg1,
3704            arg2,
3705            arg3,
3706        )
3707    }
3708
3709    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QTransform::qt_metacast(const char* arg1)```</span>.
3710    #[inline(always)]
3711    pub unsafe fn qt_metacast(
3712        &self,
3713        arg1: *const ::std::os::raw::c_char,
3714    ) -> *mut ::std::ffi::c_void {
3715        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_qt_metacast(
3716            self as *const crate::QTransform as *mut crate::QTransform,
3717            arg1,
3718        )
3719    }
3720
3721    /// <p>Creates a rotation matrix from <i>axis</i> and <i>angle</i> around <i>point</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a>.</p>
3722    ///
3723    /// Calls C++ function: <span style='color: green;'>```static QMatrix4x4 Qt3DCore::QTransform::rotateAround(const QVector3D& point, float angle, const QVector3D& axis)```</span>.
3724    ///
3725    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotateAround">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Creates a rotation matrix from <i>axis</i> and <i>angle</i> around <i>point</i>. Returns the resulting <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a>.</p></div>
3726    #[inline(always)]
3727    pub unsafe fn rotate_around(
3728        point: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3729        angle: ::std::os::raw::c_float,
3730        axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3731    ) -> ::cpp_core::CppBox<::qt_gui::QMatrix4X4> {
3732        let ffi_result = {
3733            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_rotateAround(
3734                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(point)
3735                    .as_raw_ptr(),
3736                angle,
3737                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(axis)
3738                    .as_raw_ptr(),
3739            )
3740        };
3741        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3742    }
3743
3744    /// <p>Returns a rotation matrix defined from the axes <i>xAxis</i>, <i>yAxis</i>, <i>zAxis</i>.</p>
3745    ///
3746    /// Calls C++ function: <span style='color: green;'>```static QMatrix4x4 Qt3DCore::QTransform::rotateFromAxes(const QVector3D& xAxis, const QVector3D& yAxis, const QVector3D& zAxis)```</span>.
3747    ///
3748    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotateFromAxes">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a rotation matrix defined from the axes <i>xAxis</i>, <i>yAxis</i>, <i>zAxis</i>.</p>
3749    /// <p>This function was introduced in  Qt 5.11.</p>
3750    /// <p><b>Note: </b>This function can be invoked via the meta-object system and from QML. See <a href="http://doc.qt.io/qt-5/qobject.html#Q_INVOKABLE">Q_INVOKABLE</a>.</p></div>
3751    #[inline(always)]
3752    #[cfg_attr(
3753        feature = "ritual_rustdoc_nightly",
3754        doc(cfg(any(
3755            cpp_lib_version = "5.11.3",
3756            cpp_lib_version = "5.12.2",
3757            cpp_lib_version = "5.13.0",
3758            cpp_lib_version = "5.14.0"
3759        )))
3760    )]
3761    #[cfg(any(
3762        any(
3763            cpp_lib_version = "5.11.3",
3764            cpp_lib_version = "5.12.2",
3765            cpp_lib_version = "5.13.0",
3766            cpp_lib_version = "5.14.0"
3767        ),
3768        feature = "ritual_rustdoc"
3769    ))]
3770    pub unsafe fn rotate_from_axes(
3771        x_axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3772        y_axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3773        z_axis: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
3774    ) -> ::cpp_core::CppBox<::qt_gui::QMatrix4X4> {
3775        let ffi_result = {
3776            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_rotateFromAxes(
3777                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(x_axis)
3778                    .as_raw_ptr(),
3779                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(y_axis)
3780                    .as_raw_ptr(),
3781                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(z_axis)
3782                    .as_raw_ptr(),
3783            )
3784        };
3785        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3786    }
3787
3788    /// <p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3789    ///
3790    /// Calls C++ function: <span style='color: green;'>```QQuaternion Qt3DCore::QTransform::rotation() const```</span>.
3791    ///
3792    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3793    /// <p><b>Access functions:</b></p>
3794    /// <div class="table"><table class="alignedsummary">
3795    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
3796    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3797    /// </tbody></table></div>
3798    /// <p><b>Notifier signal:</b></p>
3799    /// <div class="table"><table class="alignedsummary">
3800    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3801    /// </tbody></table></div></div>
3802    #[inline(always)]
3803    pub unsafe fn rotation(&self) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
3804        let ffi_result = {
3805            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_rotation(
3806                self as *const crate::QTransform,
3807            )
3808        };
3809        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3810    }
3811
3812    /// <p>Holds the x rotation of the transform as Euler angle.</p>
3813    ///
3814    /// Calls C++ function: <span style='color: green;'>```float Qt3DCore::QTransform::rotationX() const```</span>.
3815    ///
3816    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the transform as Euler angle.</p>
3817    /// <p><b>Access functions:</b></p>
3818    /// <div class="table"><table class="alignedsummary">
3819    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
3820    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
3821    /// </tbody></table></div>
3822    /// <p><b>Notifier signal:</b></p>
3823    /// <div class="table"><table class="alignedsummary">
3824    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
3825    /// </tbody></table></div></div>
3826    #[inline(always)]
3827    pub unsafe fn rotation_x(&self) -> ::std::os::raw::c_float {
3828        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_rotationX(
3829            self as *const crate::QTransform,
3830        )
3831    }
3832
3833    /// <p>Holds the y rotation of the transform as Euler angle.</p>
3834    ///
3835    /// Calls C++ function: <span style='color: green;'>```float Qt3DCore::QTransform::rotationY() const```</span>.
3836    ///
3837    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the transform as Euler angle.</p>
3838    /// <p><b>Access functions:</b></p>
3839    /// <div class="table"><table class="alignedsummary">
3840    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
3841    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
3842    /// </tbody></table></div>
3843    /// <p><b>Notifier signal:</b></p>
3844    /// <div class="table"><table class="alignedsummary">
3845    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
3846    /// </tbody></table></div></div>
3847    #[inline(always)]
3848    pub unsafe fn rotation_y(&self) -> ::std::os::raw::c_float {
3849        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_rotationY(
3850            self as *const crate::QTransform,
3851        )
3852    }
3853
3854    /// <p>Holds the z rotation of the transform as Euler angle.</p>
3855    ///
3856    /// Calls C++ function: <span style='color: green;'>```float Qt3DCore::QTransform::rotationZ() const```</span>.
3857    ///
3858    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the transform as Euler angle.</p>
3859    /// <p><b>Access functions:</b></p>
3860    /// <div class="table"><table class="alignedsummary">
3861    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
3862    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
3863    /// </tbody></table></div>
3864    /// <p><b>Notifier signal:</b></p>
3865    /// <div class="table"><table class="alignedsummary">
3866    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
3867    /// </tbody></table></div></div>
3868    #[inline(always)]
3869    pub unsafe fn rotation_z(&self) -> ::std::os::raw::c_float {
3870        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_rotationZ(
3871            self as *const crate::QTransform,
3872        )
3873    }
3874
3875    /// <p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
3876    ///
3877    /// Calls C++ function: <span style='color: green;'>```float Qt3DCore::QTransform::scale() const```</span>.
3878    ///
3879    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
3880    /// <p><b>Access functions:</b></p>
3881    /// <div class="table"><table class="alignedsummary">
3882    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
3883    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(float <i>scale</i>)</td></tr>
3884    /// </tbody></table></div>
3885    /// <p><b>Notifier signal:</b></p>
3886    /// <div class="table"><table class="alignedsummary">
3887    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(float <i>scale</i>)</td></tr>
3888    /// </tbody></table></div></div>
3889    #[inline(always)]
3890    pub unsafe fn scale(&self) -> ::std::os::raw::c_float {
3891        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_scale(self as *const crate::QTransform)
3892    }
3893
3894    /// <p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3895    ///
3896    /// Calls C++ function: <span style='color: green;'>```QVector3D Qt3DCore::QTransform::scale3D() const```</span>.
3897    ///
3898    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
3899    /// <p><b>Access functions:</b></p>
3900    /// <div class="table"><table class="alignedsummary">
3901    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3D</b></span>() const</td></tr>
3902    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale3D</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
3903    /// </tbody></table></div>
3904    /// <p><b>Notifier signal:</b></p>
3905    /// <div class="table"><table class="alignedsummary">
3906    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3DChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
3907    /// </tbody></table></div></div>
3908    #[inline(always)]
3909    pub unsafe fn scale_3d(&self) -> ::cpp_core::CppBox<::qt_gui::QVector3D> {
3910        let ffi_result = {
3911            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_scale3D(
3912                self as *const crate::QTransform,
3913            )
3914        };
3915        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
3916    }
3917
3918    /// <p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3919    ///
3920    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setMatrix(const QMatrix4x4& matrix)```</span>.
3921    ///
3922    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#matrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the <a href="http://doc.qt.io/qt-5/qmatrix4x4.html">QMatrix4x4</a> of the transform.</p>
3923    /// <p><b>Note: </b>When the matrix property is set, it is decomposed to translation, rotation and scale components.</p><p><b>Access functions:</b></p>
3924    /// <div class="table"><table class="alignedsummary">
3925    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>matrix</b></span>() const</td></tr>
3926    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setMatrix</b></span>(const QMatrix4x4 &amp;<i>matrix</i>)</td></tr>
3927    /// </tbody></table></div>
3928    /// <p><b>Notifier signal:</b></p>
3929    /// <div class="table"><table class="alignedsummary">
3930    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>matrixChanged</b></span>()</td></tr>
3931    /// </tbody></table></div></div>
3932    #[inline(always)]
3933    pub unsafe fn set_matrix(
3934        &self,
3935        matrix: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QMatrix4X4>>,
3936    ) {
3937        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setMatrix(
3938            self as *const crate::QTransform as *mut crate::QTransform,
3939            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QMatrix4X4>>::cast_into(matrix)
3940                .as_raw_ptr(),
3941        )
3942    }
3943
3944    /// <p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3945    ///
3946    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setRotation(const QQuaternion& rotation)```</span>.
3947    ///
3948    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the transform as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
3949    /// <p><b>Access functions:</b></p>
3950    /// <div class="table"><table class="alignedsummary">
3951    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
3952    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3953    /// </tbody></table></div>
3954    /// <p><b>Notifier signal:</b></p>
3955    /// <div class="table"><table class="alignedsummary">
3956    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
3957    /// </tbody></table></div></div>
3958    #[inline(always)]
3959    pub unsafe fn set_rotation(
3960        &self,
3961        rotation: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QQuaternion>>,
3962    ) {
3963        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setRotation(
3964            self as *const crate::QTransform as *mut crate::QTransform,
3965            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QQuaternion>>::cast_into(rotation)
3966                .as_raw_ptr(),
3967        )
3968    }
3969
3970    /// <p>Holds the x rotation of the transform as Euler angle.</p>
3971    ///
3972    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setRotationX(float rotationX)```</span>.
3973    ///
3974    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the transform as Euler angle.</p>
3975    /// <p><b>Access functions:</b></p>
3976    /// <div class="table"><table class="alignedsummary">
3977    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
3978    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
3979    /// </tbody></table></div>
3980    /// <p><b>Notifier signal:</b></p>
3981    /// <div class="table"><table class="alignedsummary">
3982    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
3983    /// </tbody></table></div></div>
3984    #[inline(always)]
3985    pub unsafe fn set_rotation_x(&self, rotation_x: ::std::os::raw::c_float) {
3986        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setRotationX(
3987            self as *const crate::QTransform as *mut crate::QTransform,
3988            rotation_x,
3989        )
3990    }
3991
3992    /// <p>Holds the y rotation of the transform as Euler angle.</p>
3993    ///
3994    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setRotationY(float rotationY)```</span>.
3995    ///
3996    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the transform as Euler angle.</p>
3997    /// <p><b>Access functions:</b></p>
3998    /// <div class="table"><table class="alignedsummary">
3999    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
4000    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
4001    /// </tbody></table></div>
4002    /// <p><b>Notifier signal:</b></p>
4003    /// <div class="table"><table class="alignedsummary">
4004    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
4005    /// </tbody></table></div></div>
4006    #[inline(always)]
4007    pub unsafe fn set_rotation_y(&self, rotation_y: ::std::os::raw::c_float) {
4008        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setRotationY(
4009            self as *const crate::QTransform as *mut crate::QTransform,
4010            rotation_y,
4011        )
4012    }
4013
4014    /// <p>Holds the z rotation of the transform as Euler angle.</p>
4015    ///
4016    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setRotationZ(float rotationZ)```</span>.
4017    ///
4018    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the transform as Euler angle.</p>
4019    /// <p><b>Access functions:</b></p>
4020    /// <div class="table"><table class="alignedsummary">
4021    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
4022    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
4023    /// </tbody></table></div>
4024    /// <p><b>Notifier signal:</b></p>
4025    /// <div class="table"><table class="alignedsummary">
4026    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
4027    /// </tbody></table></div></div>
4028    #[inline(always)]
4029    pub unsafe fn set_rotation_z(&self, rotation_z: ::std::os::raw::c_float) {
4030        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setRotationZ(
4031            self as *const crate::QTransform as *mut crate::QTransform,
4032            rotation_z,
4033        )
4034    }
4035
4036    /// <p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
4037    ///
4038    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setScale(float scale)```</span>.
4039    ///
4040    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the uniform scale of the transform. If the scale has been set with <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">setScale3D</a>, holds the x value only.</p>
4041    /// <p><b>Access functions:</b></p>
4042    /// <div class="table"><table class="alignedsummary">
4043    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
4044    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(float <i>scale</i>)</td></tr>
4045    /// </tbody></table></div>
4046    /// <p><b>Notifier signal:</b></p>
4047    /// <div class="table"><table class="alignedsummary">
4048    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(float <i>scale</i>)</td></tr>
4049    /// </tbody></table></div></div>
4050    #[inline(always)]
4051    pub unsafe fn set_scale(&self, scale: ::std::os::raw::c_float) {
4052        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setScale(
4053            self as *const crate::QTransform as *mut crate::QTransform,
4054            scale,
4055        )
4056    }
4057
4058    /// <p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
4059    ///
4060    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setScale3D(const QVector3D& scale)```</span>.
4061    ///
4062    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#scale3D-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
4063    /// <p><b>Access functions:</b></p>
4064    /// <div class="table"><table class="alignedsummary">
4065    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3D</b></span>() const</td></tr>
4066    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale3D</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
4067    /// </tbody></table></div>
4068    /// <p><b>Notifier signal:</b></p>
4069    /// <div class="table"><table class="alignedsummary">
4070    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scale3DChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
4071    /// </tbody></table></div></div>
4072    #[inline(always)]
4073    pub unsafe fn set_scale_3d(
4074        &self,
4075        scale: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
4076    ) {
4077        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setScale3D(
4078            self as *const crate::QTransform as *mut crate::QTransform,
4079            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(scale)
4080                .as_raw_ptr(),
4081        )
4082    }
4083
4084    /// <p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
4085    ///
4086    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QTransform::setTranslation(const QVector3D& translation)```</span>.
4087    ///
4088    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
4089    /// <p><b>Access functions:</b></p>
4090    /// <div class="table"><table class="alignedsummary">
4091    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
4092    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
4093    /// </tbody></table></div>
4094    /// <p><b>Notifier signal:</b></p>
4095    /// <div class="table"><table class="alignedsummary">
4096    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
4097    /// </tbody></table></div></div>
4098    #[inline(always)]
4099    pub unsafe fn set_translation(
4100        &self,
4101        translation: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
4102    ) {
4103        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_setTranslation(
4104            self as *const crate::QTransform as *mut crate::QTransform,
4105            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(translation)
4106                .as_raw_ptr(),
4107        )
4108    }
4109
4110    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
4111    #[inline(always)]
4112    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
4113        let ffi_result =
4114            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_staticMetaObject() };
4115        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
4116            .expect("attempted to construct a null Ref")
4117    }
4118
4119    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QTransform::tr(const char* s, const char* c, int n)```</span>.
4120    #[inline(always)]
4121    pub unsafe fn tr(
4122        s: *const ::std::os::raw::c_char,
4123        c: *const ::std::os::raw::c_char,
4124        n: ::std::os::raw::c_int,
4125    ) -> ::cpp_core::CppBox<::qt_core::QString> {
4126        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_tr(s, c, n) };
4127        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
4128    }
4129
4130    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QTransform::trUtf8(const char* s, const char* c, int n)```</span>.
4131    #[inline(always)]
4132    pub unsafe fn tr_utf8(
4133        s: *const ::std::os::raw::c_char,
4134        c: *const ::std::os::raw::c_char,
4135        n: ::std::os::raw::c_int,
4136    ) -> ::cpp_core::CppBox<::qt_core::QString> {
4137        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_trUtf8(s, c, n) };
4138        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
4139    }
4140
4141    /// <p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
4142    ///
4143    /// Calls C++ function: <span style='color: green;'>```QVector3D Qt3DCore::QTransform::translation() const```</span>.
4144    ///
4145    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the transform as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
4146    /// <p><b>Access functions:</b></p>
4147    /// <div class="table"><table class="alignedsummary">
4148    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
4149    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
4150    /// </tbody></table></div>
4151    /// <p><b>Notifier signal:</b></p>
4152    /// <div class="table"><table class="alignedsummary">
4153    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
4154    /// </tbody></table></div></div>
4155    #[inline(always)]
4156    pub unsafe fn translation(&self) -> ::cpp_core::CppBox<::qt_gui::QVector3D> {
4157        let ffi_result = {
4158            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_translation(
4159                self as *const crate::QTransform,
4160            )
4161        };
4162        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
4163    }
4164
4165    /// <p>Holds the world transformation matrix for the transform. This assumes the <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> component is being referenced by a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>. This makes it more convenient to identify when a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a> part of a subtree has been transformed in the world even though its local transformation might not have changed.</p>
4166    ///
4167    /// Calls C++ function: <span style='color: green;'>```QMatrix4x4 Qt3DCore::QTransform::worldMatrix() const```</span>.
4168    ///
4169    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#worldMatrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the world transformation matrix for the transform. This assumes the <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> component is being referenced by a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>. This makes it more convenient to identify when a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a> part of a subtree has been transformed in the world even though its local transformation might not have changed.</p>
4170    /// <p>This property was introduced in  Qt 5.14.</p>
4171    /// <p><b>Access functions:</b></p>
4172    /// <div class="table"><table class="alignedsummary">
4173    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#worldMatrix">worldMatrix</a></b></span>() const</td></tr>
4174    /// </tbody></table></div>
4175    /// <p><b>Notifier signal:</b></p>
4176    /// <div class="table"><table class="alignedsummary">
4177    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>worldMatrixChanged</b></span>(const QMatrix4x4 &amp;<i>worldMatrix</i>)</td></tr>
4178    /// </tbody></table></div></div>
4179    #[inline(always)]
4180    #[cfg_attr(
4181        feature = "ritual_rustdoc_nightly",
4182        doc(cfg(cpp_lib_version = "5.14.0"))
4183    )]
4184    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
4185    pub unsafe fn world_matrix(&self) -> ::cpp_core::CppBox<::qt_gui::QMatrix4X4> {
4186        let ffi_result = {
4187            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_worldMatrix(
4188                self as *const crate::QTransform,
4189            )
4190        };
4191        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
4192    }
4193
4194    /// <p>Holds the world transformation matrix for the transform. This assumes the <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> component is being referenced by a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>. This makes it more convenient to identify when a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a> part of a subtree has been transformed in the world even though its local transformation might not have changed.</p>
4195    ///
4196    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QTransform::worldMatrixChanged(const QMatrix4x4& worldMatrix)```</span>.
4197    ///
4198    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#worldMatrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the world transformation matrix for the transform. This assumes the <a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html">QTransform</a> component is being referenced by a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a>. This makes it more convenient to identify when a <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html">QEntity</a> part of a subtree has been transformed in the world even though its local transformation might not have changed.</p>
4199    /// <p>This property was introduced in  Qt 5.14.</p>
4200    /// <p><b>Access functions:</b></p>
4201    /// <div class="table"><table class="alignedsummary">
4202    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="http://doc.qt.io/qt-5/qt3dcore-qtransform.html#worldMatrix">worldMatrix</a></b></span>() const</td></tr>
4203    /// </tbody></table></div>
4204    /// <p><b>Notifier signal:</b></p>
4205    /// <div class="table"><table class="alignedsummary">
4206    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>worldMatrixChanged</b></span>(const QMatrix4x4 &amp;<i>worldMatrix</i>)</td></tr>
4207    /// </tbody></table></div></div>
4208    #[inline(always)]
4209    #[cfg_attr(
4210        feature = "ritual_rustdoc_nightly",
4211        doc(cfg(cpp_lib_version = "5.14.0"))
4212    )]
4213    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
4214    pub unsafe fn world_matrix_changed(
4215        &self,
4216        world_matrix: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QMatrix4X4>>,
4217    ) {
4218        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_worldMatrixChanged(
4219            self as *const crate::QTransform as *mut crate::QTransform,
4220            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QMatrix4X4>>::cast_into(world_matrix)
4221                .as_raw_ptr(),
4222        )
4223    }
4224}
4225
4226/// <p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
4227///
4228/// C++ class: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>```</span>.
4229///
4230/// <a href="http://doc.qt.io/qt-5/qvector.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
4231/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; is one of Qt's generic <a href="http://doc.qt.io/qt-5/containers.html">container classes</a>. It stores its items in adjacent memory locations and provides fast index-based access.</p>
4232/// <p><a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt;, and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>&lt;T&gt; provide similar APIs and functionality. They are often interchangeable, but there are performance consequences. Here is an overview of use cases:</p>
4233/// <ul>
4234/// <li><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> should be your default first choice. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; will usually give better performance than <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; always stores its items sequentially in memory, where <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt; will allocate its items on the heap unless <code>sizeof(T) &lt;= sizeof(void*)</code> and T has been declared to be either a <code>Q_MOVABLE_TYPE</code> or a <code>Q_PRIMITIVE_TYPE</code> using <a href="http://doc.qt.io/qt-5/qtglobal.html#Q_DECLARE_TYPEINFO">Q_DECLARE_TYPEINFO</a>. See the <a href="http://marcmutz.wordpress.com/effective-qt/containers/#containers-qlist">Pros and Cons of Using QList</a> for an explanation.</li>
4235/// <li>However, <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> is used throughout the Qt APIs for passing parameters and for returning values. Use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> to interface with those APIs.</li>
4236/// <li>If you need a real linked list, which guarantees <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a> insertions mid-list and uses iterators to items rather than indexes, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>.</li>
4237/// </ul>
4238/// <p><b>Note: </b><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a> both guarantee C-compatible array layout. <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> does not. This might be important if your application must interface with a C API.</p><p><b>Note: </b>Iterators into a <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> and references into heap-allocating QLists remain valid as long as the referenced items remain in the container. This is not true for iterators and references into a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and non-heap-allocating QLists.</p><p>Here's an example of a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores integers and a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores <a href="http://doc.qt.io/qt-5/qstring.html">QString</a> values:</p>
4239/// <pre class="cpp">
4240///
4241///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> integerVector;
4242///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> stringVector;
4243///
4244/// </pre>
4245/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> stores its items in a vector (array). Typically, vectors are created with an initial size. For example, the following code constructs a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> with 200 elements:</p>
4246/// <pre class="cpp">
4247///
4248///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span>);
4249///
4250/// </pre>
4251/// <p>The elements are automatically initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you want to initialize the vector with a different value, pass that value as the second argument to the constructor:</p>
4252/// <pre class="cpp">
4253///
4254///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span><span class="operator">,</span> <span class="string">"Pass"</span>);
4255///
4256/// </pre>
4257/// <p>You can also call <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>() at any time to fill the vector with a value.</p>
4258/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> uses 0-based indexes, just like C++ arrays. To access the item at a particular index position, you can use operator[](). On non-const vectors, operator[]() returns a reference to the item that can be used on the left side of an assignment:</p>
4259/// <pre class="cpp">
4260///
4261///   <span class="keyword">if</span> (vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span><span class="operator">=</span> <span class="string">"Liz"</span>)
4262/// &#32;     vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="string">"Elizabeth"</span>;
4263///
4264/// </pre>
4265/// <p>For read-only access, an alternative syntax is to use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>():</p>
4266/// <pre class="cpp">
4267///
4268///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> vector<span class="operator">.</span>size(); <span class="operator">+</span><span class="operator">+</span>i) {
4269/// &#32;     <span class="keyword">if</span> (vector<span class="operator">.</span>at(i) <span class="operator">=</span><span class="operator">=</span> <span class="string">"Alfonso"</span>)
4270/// &#32;   &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"Found Alfonso at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
4271///   }
4272///
4273/// </pre>
4274/// <p><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() can be faster than operator[](), because it never causes a <a href="http://doc.qt.io/qt-5/implicit-sharing.html#deep-copy">deep copy</a> to occur.</p>
4275/// <p>Another way to access the data stored in a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is to call <a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>(). The function returns a pointer to the first item in the vector. You can use the pointer to directly access and modify the elements stored in the vector. The pointer is also useful if you need to pass a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to a function that accepts a plain C++ array.</p>
4276/// <p>If you want to find all occurrences of a particular value in a vector, use <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() or <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>(). The former searches forward starting from a given index position, the latter searches backward. Both return the index of the matching item if they found one; otherwise, they return -1. For example:</p>
4277/// <pre class="cpp">
4278///
4279///   <span class="type">int</span> i <span class="operator">=</span> vector<span class="operator">.</span>indexOf(<span class="string">"Harumi"</span>);
4280///   <span class="keyword">if</span> (i <span class="operator">!</span><span class="operator">=</span> <span class="operator">-</span><span class="number">1</span>)
4281/// &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"First occurrence of Harumi is at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
4282///
4283/// </pre>
4284/// <p>If you simply want to check whether a vector contains a particular value, use <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>(). If you want to find out how many times a particular value occurs in the vector, use <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
4285/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides these basic functions to add, move, and remove items: <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(). With the exception of <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), these functions can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>) for large vectors, because they require moving many items in the vector by one position in memory. If you want a container class that provides fast insertion/removal in the middle, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
4286/// <p>Unlike plain C++ arrays, QVectors can be resized at any time by calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). If the new size is larger than the old size, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> might need to reallocate the whole vector. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> tries to reduce the number of reallocations by preallocating up to twice as much memory as the actual data needs.</p>
4287/// <p>If you know in advance approximately how many items the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will contain, you can call <a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>(), asking <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to preallocate a certain amount of memory. You can also call <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>() to find out how much memory <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> actually allocated.</p>
4288/// <p>Note that using non-const operators and functions can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy of the data. This is due to <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicit sharing</a>.</p>
4289/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s value type must be an <a href="http://doc.qt.io/qt-5/containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> as a value; instead, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> *. A few functions have additional requirements; for example, <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() expect the value type to support <code>operator==()</code>. These requirements are documented on a per-function basis.</p>
4290/// <p>Like the other container classes, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides <a href="http://doc.qt.io/qt-5/containers.html#java-style-iterators">Java-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvectoriterator.html">QVectorIterator</a> and <a href="http://doc.qt.io/qt-5/qmutablevectoriterator.html">QMutableVectorIterator</a>) and <a href="http://doc.qt.io/qt-5/containers.html#stl-style-iterators">STL-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvector.html#const_iterator-typedef">QVector::const_iterator</a> and <a href="http://doc.qt.io/qt-5/qvector.html#iterator-typedefx">QVector::iterator</a>). In practice, these are rarely used, because you can use indexes into the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>.</p>
4291/// <p>In addition to <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>, Qt also provides <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>, a very low-level class with little functionality that is optimized for speed.</p>
4292/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> does <i>not</i> support inserting, prepending, appending or replacing with references to its own values. Doing so will cause your application to abort with an error message.</p>
4293/// <a name="more-information-on-using-qt-containers"></a>
4294/// <h4>More Information on Using Qt Containers</h4>
4295/// <p>For a detailed discussion comparing Qt containers with each other and with STL containers, see <a href="http://marcmutz.wordpress.com/effective-qt/containers/">Understand the Qt Containers</a>.</p></div>
4296#[repr(C)]
4297pub struct QVectorOfQAbstractAspect {
4298    _unused: u8,
4299}
4300impl QVectorOfQAbstractAspect {
4301    /// <p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
4302    ///
4303    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>& QVector<Qt3DCore::QAbstractAspect*>::operator+=(const QVector<Qt3DCore::QAbstractAspect*>& l)```</span>.
4304    ///
4305    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
4306    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">operator+</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>().</p></div>
4307    #[inline(always)]
4308    pub unsafe fn add_assign_q_vector_of_q_abstract_aspect(
4309        &self,
4310        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
4311    ) -> ::cpp_core::Ref<crate::QVectorOfQAbstractAspect> {
4312        let ffi_result = {
4313            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator__4(self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect, ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(l).as_raw_ptr())
4314        };
4315        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
4316    }
4317
4318    /// <p>This is an overloaded function.</p>
4319    ///
4320    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>& QVector<Qt3DCore::QAbstractAspect*>::operator+=(const Qt3DCore::QAbstractAspect*& t)```</span>.
4321    ///
4322    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
4323    /// <p>Appends <i>value</i> to the vector.</p>
4324    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>().</p></div>
4325    #[inline(always)]
4326    pub unsafe fn add_assign_q_abstract_aspect(
4327        &self,
4328        t: *const *mut crate::QAbstractAspect,
4329    ) -> ::cpp_core::Ref<crate::QVectorOfQAbstractAspect> {
4330        let ffi_result = {
4331            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator__5(
4332                self as *const crate::QVectorOfQAbstractAspect
4333                    as *mut crate::QVectorOfQAbstractAspect,
4334                t,
4335            )
4336        };
4337        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
4338    }
4339
4340    /// <p>Inserts <i>value</i> at the end of the vector.</p>
4341    ///
4342    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::append(const Qt3DCore::QAbstractAspect*& t)```</span>.
4343    ///
4344    /// <a href="http://doc.qt.io/qt-5/qvector.html#append">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the end of the vector.</p>
4345    /// <p>Example:</p>
4346    /// <pre class="cpp">
4347    ///
4348    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
4349    ///   vector<span class="operator">.</span>append(<span class="string">"one"</span>);
4350    ///   vector<span class="operator">.</span>append(<span class="string">"two"</span>);
4351    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> three <span class="operator">=</span> <span class="string">"three"</span>;
4352    ///   vector<span class="operator">.</span>append(three);
4353    ///   <span class="comment">// vector: ["one", "two", "three"]</span>
4354    ///   <span class="comment">// three: "three"</span>
4355    ///
4356    /// </pre>
4357    /// <p>This is the same as calling resize(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() + 1) and assigning <i>value</i> to the new last element in the vector.</p>
4358    /// <p>This operation is relatively fast, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> typically allocates more memory than necessary, so it can grow without reallocating the entire vector each time.</p>
4359    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
4360    #[inline(always)]
4361    pub unsafe fn append_q_abstract_aspect(&self, t: *const *mut crate::QAbstractAspect) {
4362        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_append(
4363            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4364            t,
4365        )
4366    }
4367
4368    /// <p>This is an overloaded function.</p>
4369    ///
4370    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::append(const QVector<Qt3DCore::QAbstractAspect*>& l)```</span>.
4371    ///
4372    /// <a href="http://doc.qt.io/qt-5/qvector.html#append-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
4373    /// <p>Appends the items of the <i>value</i> vector to this vector.</p>
4374    /// <p>This function was introduced in  Qt 5.5.</p>
4375    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
4376    #[inline(always)]
4377    pub unsafe fn append_q_vector_of_q_abstract_aspect(
4378        &self,
4379        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
4380    ) {
4381        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_append2(
4382            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4383            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(l)
4384                .as_raw_ptr(),
4385        )
4386    }
4387
4388    /// <p>Returns the item at index position <i>i</i> in the vector.</p>
4389    ///
4390    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::at(int i) const```</span>.
4391    ///
4392    /// <a href="http://doc.qt.io/qt-5/qvector.html#at">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> in the vector.</p>
4393    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
4394    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
4395    #[inline(always)]
4396    pub unsafe fn at(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QAbstractAspect {
4397        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_at(
4398            self as *const crate::QVectorOfQAbstractAspect,
4399            i,
4400        )
4401    }
4402
4403    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p>
4404    ///
4405    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::back()```</span>.
4406    ///
4407    /// <a href="http://doc.qt.io/qt-5/qvector.html#back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
4408    #[inline(always)]
4409    pub unsafe fn back_mut(&self) -> *mut *mut crate::QAbstractAspect {
4410        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_back(
4411            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4412        )
4413    }
4414
4415    /// <p>This is an overloaded function.</p>
4416    ///
4417    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::back() const```</span>.
4418    ///
4419    /// <a href="http://doc.qt.io/qt-5/qvector.html#back-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
4420    #[inline(always)]
4421    pub unsafe fn back(&self) -> *const *mut crate::QAbstractAspect {
4422        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_back1(
4423            self as *const crate::QVectorOfQAbstractAspect,
4424        )
4425    }
4426
4427    /// <p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
4428    ///
4429    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::capacity() const```</span>.
4430    ///
4431    /// <a href="http://doc.qt.io/qt-5/qvector.html#capacity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
4432    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function. If you want to know how many items are in the vector, call <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
4433    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
4434    #[inline(always)]
4435    pub unsafe fn capacity(&self) -> ::std::os::raw::c_int {
4436        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_capacity(
4437            self as *const crate::QVectorOfQAbstractAspect,
4438        )
4439    }
4440
4441    /// <p>Removes all the elements from the vector.</p>
4442    ///
4443    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::clear()```</span>.
4444    ///
4445    /// <a href="http://doc.qt.io/qt-5/qvector.html#clear">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all the elements from the vector.</p>
4446    /// <p><b>Note: </b>Until Qt 5.6, this also released the memory used by the vector. From Qt 5.7, the capacity is preserved. To shed all capacity, swap with a default-constructed vector:</p><pre class="cpp">
4447    ///
4448    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span> v <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>;
4449    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span>()<span class="operator">.</span>swap(v);
4450    ///   Q_ASSERT(v<span class="operator">.</span>capacity() <span class="operator">=</span><span class="operator">=</span> <span class="number">0</span>);
4451    ///
4452    /// </pre>
4453    /// <p>or call <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
4454    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
4455    #[inline(always)]
4456    pub unsafe fn clear(&self) {
4457        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_clear(
4458            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4459        )
4460    }
4461
4462    /// <p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
4463    ///
4464    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect** QVector<Qt3DCore::QAbstractAspect*>::constData() const```</span>.
4465    ///
4466    /// <a href="http://doc.qt.io/qt-5/qvector.html#constData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
4467    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
4468    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
4469    #[inline(always)]
4470    pub unsafe fn const_data(&self) -> *const *mut crate::QAbstractAspect {
4471        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_constData(
4472            self as *const crate::QVectorOfQAbstractAspect,
4473        )
4474    }
4475
4476    /// <p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
4477    ///
4478    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::constFirst() const```</span>.
4479    ///
4480    /// <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
4481    /// <p>This function was introduced in  Qt 5.6.</p>
4482    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
4483    #[inline(always)]
4484    pub unsafe fn const_first(&self) -> *const *mut crate::QAbstractAspect {
4485        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_constFirst(
4486            self as *const crate::QVectorOfQAbstractAspect,
4487        )
4488    }
4489
4490    /// <p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
4491    ///
4492    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::constLast() const```</span>.
4493    ///
4494    /// <a href="http://doc.qt.io/qt-5/qvector.html#constLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
4495    /// <p>This function was introduced in  Qt 5.6.</p>
4496    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
4497    #[inline(always)]
4498    pub unsafe fn const_last(&self) -> *const *mut crate::QAbstractAspect {
4499        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_constLast(
4500            self as *const crate::QVectorOfQAbstractAspect,
4501        )
4502    }
4503
4504    /// <p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
4505    ///
4506    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::contains(const Qt3DCore::QAbstractAspect*& t) const```</span>.
4507    ///
4508    /// <a href="http://doc.qt.io/qt-5/qvector.html#contains">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
4509    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
4510    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p></div>
4511    #[inline(always)]
4512    pub unsafe fn contains(&self, t: *const *mut crate::QAbstractAspect) -> bool {
4513        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_contains(
4514            self as *const crate::QVectorOfQAbstractAspect,
4515            t,
4516        )
4517    }
4518
4519    /// <p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p>
4520    ///
4521    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>& QVector<Qt3DCore::QAbstractAspect*>::operator=(const QVector<Qt3DCore::QAbstractAspect*>& v)```</span>.
4522    ///
4523    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p></div>
4524    #[inline(always)]
4525    pub unsafe fn copy_from(
4526        &self,
4527        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
4528    ) -> ::cpp_core::Ref<crate::QVectorOfQAbstractAspect> {
4529        let ffi_result = {
4530            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator_(self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect, ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(v).as_raw_ptr())
4531        };
4532        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
4533    }
4534
4535    /// <p>Returns the number of occurrences of <i>value</i> in the vector.</p>
4536    ///
4537    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::count(const Qt3DCore::QAbstractAspect*& t) const```</span>.
4538    ///
4539    /// <a href="http://doc.qt.io/qt-5/qvector.html#count">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of occurrences of <i>value</i> in the vector.</p>
4540    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
4541    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
4542    #[inline(always)]
4543    pub unsafe fn count_1a(&self, t: *const *mut crate::QAbstractAspect) -> ::std::os::raw::c_int {
4544        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_count(
4545            self as *const crate::QVectorOfQAbstractAspect,
4546            t,
4547        )
4548    }
4549
4550    /// <p>This is an overloaded function.</p>
4551    ///
4552    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::count() const```</span>.
4553    ///
4554    /// <a href="http://doc.qt.io/qt-5/qvector.html#count-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
4555    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
4556    #[inline(always)]
4557    pub unsafe fn count_0a(&self) -> ::std::os::raw::c_int {
4558        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_count1(
4559            self as *const crate::QVectorOfQAbstractAspect,
4560        )
4561    }
4562
4563    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
4564    ///
4565    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect** QVector<Qt3DCore::QAbstractAspect*>::data()```</span>.
4566    ///
4567    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
4568    /// <p>Example:</p>
4569    /// <pre class="cpp">
4570    ///
4571    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
4572    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
4573    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
4574    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
4575    ///
4576    /// </pre>
4577    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
4578    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
4579    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
4580    #[inline(always)]
4581    pub unsafe fn data_mut(&self) -> *mut *mut crate::QAbstractAspect {
4582        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_data(
4583            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4584        )
4585    }
4586
4587    /// <p>This is an overloaded function.</p>
4588    ///
4589    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect** QVector<Qt3DCore::QAbstractAspect*>::data() const```</span>.
4590    ///
4591    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
4592    #[inline(always)]
4593    pub unsafe fn data(&self) -> *const *mut crate::QAbstractAspect {
4594        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_data1(
4595            self as *const crate::QVectorOfQAbstractAspect,
4596        )
4597    }
4598
4599    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::detach()```</span>.
4600    #[inline(always)]
4601    pub unsafe fn detach(&self) {
4602        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_detach(
4603            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4604        )
4605    }
4606
4607    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p>
4608    ///
4609    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::empty() const```</span>.
4610    ///
4611    /// <a href="http://doc.qt.io/qt-5/qvector.html#empty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p></div>
4612    #[inline(always)]
4613    pub unsafe fn empty(&self) -> bool {
4614        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_empty(
4615            self as *const crate::QVectorOfQAbstractAspect,
4616        )
4617    }
4618
4619    /// <p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
4620    ///
4621    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::endsWith(const Qt3DCore::QAbstractAspect*& t) const```</span>.
4622    ///
4623    /// <a href="http://doc.qt.io/qt-5/qvector.html#endsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
4624    /// <p>This function was introduced in  Qt 4.5.</p>
4625    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
4626    #[inline(always)]
4627    pub unsafe fn ends_with(&self, t: *const *mut crate::QAbstractAspect) -> bool {
4628        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_endsWith(
4629            self as *const crate::QVectorOfQAbstractAspect,
4630            t,
4631        )
4632    }
4633
4634    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
4635    ///
4636    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>& QVector<Qt3DCore::QAbstractAspect*>::fill(const Qt3DCore::QAbstractAspect*& t, int size = …)```</span>.
4637    ///
4638    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
4639    /// <p>Example:</p>
4640    /// <pre class="cpp">
4641    ///
4642    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
4643    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
4644    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
4645    ///
4646    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
4647    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
4648    ///
4649    /// </pre>
4650    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
4651    #[inline(always)]
4652    pub unsafe fn fill_2a(
4653        &self,
4654        t: *const *mut crate::QAbstractAspect,
4655        size: ::std::os::raw::c_int,
4656    ) -> ::cpp_core::Ref<crate::QVectorOfQAbstractAspect> {
4657        let ffi_result = {
4658            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_fill(
4659                self as *const crate::QVectorOfQAbstractAspect
4660                    as *mut crate::QVectorOfQAbstractAspect,
4661                t,
4662                size,
4663            )
4664        };
4665        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
4666    }
4667
4668    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
4669    ///
4670    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>& QVector<Qt3DCore::QAbstractAspect*>::fill(const Qt3DCore::QAbstractAspect*& t)```</span>.
4671    ///
4672    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
4673    /// <p>Example:</p>
4674    /// <pre class="cpp">
4675    ///
4676    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
4677    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
4678    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
4679    ///
4680    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
4681    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
4682    ///
4683    /// </pre>
4684    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
4685    #[inline(always)]
4686    pub unsafe fn fill_1a(
4687        &self,
4688        t: *const *mut crate::QAbstractAspect,
4689    ) -> ::cpp_core::Ref<crate::QVectorOfQAbstractAspect> {
4690        let ffi_result = {
4691            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_fill1(
4692                self as *const crate::QVectorOfQAbstractAspect
4693                    as *mut crate::QVectorOfQAbstractAspect,
4694                t,
4695            )
4696        };
4697        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
4698    }
4699
4700    /// <p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
4701    ///
4702    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::first()```</span>.
4703    ///
4704    /// <a href="http://doc.qt.io/qt-5/qvector.html#first">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
4705    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>().</p></div>
4706    #[inline(always)]
4707    pub unsafe fn first_mut(&self) -> *mut *mut crate::QAbstractAspect {
4708        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_first(
4709            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4710        )
4711    }
4712
4713    /// <p>This is an overloaded function.</p>
4714    ///
4715    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::first() const```</span>.
4716    ///
4717    /// <a href="http://doc.qt.io/qt-5/qvector.html#first-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
4718    #[inline(always)]
4719    pub unsafe fn first(&self) -> *const *mut crate::QAbstractAspect {
4720        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_first1(
4721            self as *const crate::QVectorOfQAbstractAspect,
4722        )
4723    }
4724
4725    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p>
4726    ///
4727    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::front()```</span>.
4728    ///
4729    /// <a href="http://doc.qt.io/qt-5/qvector.html#front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
4730    #[inline(always)]
4731    pub unsafe fn front_mut(&self) -> *mut *mut crate::QAbstractAspect {
4732        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_front(
4733            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4734        )
4735    }
4736
4737    /// <p>This is an overloaded function.</p>
4738    ///
4739    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::front() const```</span>.
4740    ///
4741    /// <a href="http://doc.qt.io/qt-5/qvector.html#front-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
4742    #[inline(always)]
4743    pub unsafe fn front(&self) -> *const *mut crate::QAbstractAspect {
4744        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_front1(
4745            self as *const crate::QVectorOfQAbstractAspect,
4746        )
4747    }
4748
4749    /// <p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
4750    ///
4751    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::operator[](int i)```</span>.
4752    ///
4753    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
4754    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
4755    /// <p>Note that using non-const operators can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy.</p>
4756    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>().</p></div>
4757    #[inline(always)]
4758    pub unsafe fn index_mut(&self, i: ::std::os::raw::c_int) -> *mut *mut crate::QAbstractAspect {
4759        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator__2(
4760            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4761            i,
4762        )
4763    }
4764
4765    /// <p>This is an overloaded function.</p>
4766    ///
4767    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::operator[](int i) const```</span>.
4768    ///
4769    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
4770    /// <p>Same as at(<i>i</i>).</p></div>
4771    #[inline(always)]
4772    pub unsafe fn index(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QAbstractAspect {
4773        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator__3(
4774            self as *const crate::QVectorOfQAbstractAspect,
4775            i,
4776        )
4777    }
4778
4779    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
4780    ///
4781    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::indexOf(const Qt3DCore::QAbstractAspect*& t, int from = …) const```</span>.
4782    ///
4783    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
4784    /// <p>Example:</p>
4785    /// <pre class="cpp">
4786    ///
4787    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
4788    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
4789    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
4790    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
4791    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
4792    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
4793    ///
4794    /// </pre>
4795    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
4796    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
4797    #[inline(always)]
4798    pub unsafe fn index_of_2a(
4799        &self,
4800        t: *const *mut crate::QAbstractAspect,
4801        from: ::std::os::raw::c_int,
4802    ) -> ::std::os::raw::c_int {
4803        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_indexOf(
4804            self as *const crate::QVectorOfQAbstractAspect,
4805            t,
4806            from,
4807        )
4808    }
4809
4810    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
4811    ///
4812    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::indexOf(const Qt3DCore::QAbstractAspect*& t) const```</span>.
4813    ///
4814    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
4815    /// <p>Example:</p>
4816    /// <pre class="cpp">
4817    ///
4818    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
4819    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
4820    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
4821    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
4822    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
4823    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
4824    ///
4825    /// </pre>
4826    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
4827    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
4828    #[inline(always)]
4829    pub unsafe fn index_of_1a(
4830        &self,
4831        t: *const *mut crate::QAbstractAspect,
4832    ) -> ::std::os::raw::c_int {
4833        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_indexOf1(
4834            self as *const crate::QVectorOfQAbstractAspect,
4835            t,
4836        )
4837    }
4838
4839    /// <p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
4840    ///
4841    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::insert(int i, const Qt3DCore::QAbstractAspect*& t)```</span>.
4842    ///
4843    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
4844    /// <p>Example:</p>
4845    /// <pre class="cpp">
4846    ///
4847    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
4848    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"alpha"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"beta"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"delta"</span>;
4849    ///   vector<span class="operator">.</span>insert(<span class="number">2</span><span class="operator">,</span> <span class="string">"gamma"</span>);
4850    ///   <span class="comment">// vector: ["alpha", "beta", "gamma", "delta"]</span>
4851    ///
4852    /// </pre>
4853    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items at indexes <i>i</i> and above by one position further in memory. If you want a container class that provides a fast insert() function, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
4854    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
4855    #[inline(always)]
4856    pub unsafe fn insert_2a(
4857        &self,
4858        i: ::std::os::raw::c_int,
4859        t: *const *mut crate::QAbstractAspect,
4860    ) {
4861        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_insert(
4862            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4863            i,
4864            t,
4865        )
4866    }
4867
4868    /// <p>This is an overloaded function.</p>
4869    ///
4870    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::insert(int i, int n, const Qt3DCore::QAbstractAspect*& t)```</span>.
4871    ///
4872    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
4873    /// <p>Inserts <i>count</i> copies of <i>value</i> at index position <i>i</i> in the vector.</p>
4874    /// <p>Example:</p>
4875    /// <pre class="cpp">
4876    ///
4877    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">double</span><span class="operator">&gt;</span> vector;
4878    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2.718</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1.442</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">0.4342</span>;
4879    ///   vector<span class="operator">.</span>insert(<span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">9.9</span>);
4880    ///   <span class="comment">// vector: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]</span>
4881    ///
4882    /// </pre></div>
4883    #[inline(always)]
4884    pub unsafe fn insert_3a(
4885        &self,
4886        i: ::std::os::raw::c_int,
4887        n: ::std::os::raw::c_int,
4888        t: *const *mut crate::QAbstractAspect,
4889    ) {
4890        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_insert1(
4891            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4892            i,
4893            n,
4894            t,
4895        )
4896    }
4897
4898    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::isDetached() const```</span>.
4899    #[inline(always)]
4900    pub unsafe fn is_detached(&self) -> bool {
4901        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_isDetached(
4902            self as *const crate::QVectorOfQAbstractAspect,
4903        )
4904    }
4905
4906    /// <p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
4907    ///
4908    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::isEmpty() const```</span>.
4909    ///
4910    /// <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
4911    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
4912    #[inline(always)]
4913    pub unsafe fn is_empty(&self) -> bool {
4914        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_isEmpty(
4915            self as *const crate::QVectorOfQAbstractAspect,
4916        )
4917    }
4918
4919    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::isSharedWith(const QVector<Qt3DCore::QAbstractAspect*>& other) const```</span>.
4920    #[inline(always)]
4921    pub unsafe fn is_shared_with(
4922        &self,
4923        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
4924    ) -> bool {
4925        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_isSharedWith(
4926            self as *const crate::QVectorOfQAbstractAspect,
4927            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(
4928                other,
4929            )
4930            .as_raw_ptr(),
4931        )
4932    }
4933
4934    /// <p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
4935    ///
4936    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::last()```</span>.
4937    ///
4938    /// <a href="http://doc.qt.io/qt-5/qvector.html#last">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
4939    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>().</p></div>
4940    #[inline(always)]
4941    pub unsafe fn last_mut(&self) -> *mut *mut crate::QAbstractAspect {
4942        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_last(
4943            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
4944        )
4945    }
4946
4947    /// <p>This is an overloaded function.</p>
4948    ///
4949    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect*& QVector<Qt3DCore::QAbstractAspect*>::last() const```</span>.
4950    ///
4951    /// <a href="http://doc.qt.io/qt-5/qvector.html#last-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
4952    #[inline(always)]
4953    pub unsafe fn last(&self) -> *const *mut crate::QAbstractAspect {
4954        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_last1(
4955            self as *const crate::QVectorOfQAbstractAspect,
4956        )
4957    }
4958
4959    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
4960    ///
4961    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::lastIndexOf(const Qt3DCore::QAbstractAspect*& t, int from = …) const```</span>.
4962    ///
4963    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
4964    /// <p>Example:</p>
4965    /// <pre class="cpp">
4966    ///
4967    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
4968    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
4969    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
4970    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
4971    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
4972    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
4973    ///
4974    /// </pre>
4975    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
4976    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
4977    #[inline(always)]
4978    pub unsafe fn last_index_of_2a(
4979        &self,
4980        t: *const *mut crate::QAbstractAspect,
4981        from: ::std::os::raw::c_int,
4982    ) -> ::std::os::raw::c_int {
4983        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_lastIndexOf(
4984            self as *const crate::QVectorOfQAbstractAspect,
4985            t,
4986            from,
4987        )
4988    }
4989
4990    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
4991    ///
4992    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::lastIndexOf(const Qt3DCore::QAbstractAspect*& t) const```</span>.
4993    ///
4994    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
4995    /// <p>Example:</p>
4996    /// <pre class="cpp">
4997    ///
4998    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
4999    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
5000    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
5001    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
5002    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
5003    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
5004    ///
5005    /// </pre>
5006    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
5007    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
5008    #[inline(always)]
5009    pub unsafe fn last_index_of_1a(
5010        &self,
5011        t: *const *mut crate::QAbstractAspect,
5012    ) -> ::std::os::raw::c_int {
5013        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_lastIndexOf1(
5014            self as *const crate::QVectorOfQAbstractAspect,
5015            t,
5016        )
5017    }
5018
5019    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
5020    ///
5021    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::length() const```</span>.
5022    ///
5023    /// <a href="http://doc.qt.io/qt-5/qvector.html#length">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
5024    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
5025    /// <p>This function was introduced in  Qt 5.2.</p>
5026    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#length">QList::length</a>().</p></div>
5027    #[inline(always)]
5028    pub unsafe fn length(&self) -> ::std::os::raw::c_int {
5029        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_length(
5030            self as *const crate::QVectorOfQAbstractAspect,
5031        )
5032    }
5033
5034    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
5035    ///
5036    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*> QVector<Qt3DCore::QAbstractAspect*>::mid(int pos, int len = …) const```</span>.
5037    ///
5038    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
5039    #[inline(always)]
5040    pub unsafe fn mid_2a(
5041        &self,
5042        pos: ::std::os::raw::c_int,
5043        len: ::std::os::raw::c_int,
5044    ) -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
5045        let ffi_result = {
5046            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_mid(
5047                self as *const crate::QVectorOfQAbstractAspect,
5048                pos,
5049                len,
5050            )
5051        };
5052        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
5053    }
5054
5055    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
5056    ///
5057    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*> QVector<Qt3DCore::QAbstractAspect*>::mid(int pos) const```</span>.
5058    ///
5059    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
5060    #[inline(always)]
5061    pub unsafe fn mid_1a(
5062        &self,
5063        pos: ::std::os::raw::c_int,
5064    ) -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
5065        let ffi_result = {
5066            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_mid1(
5067                self as *const crate::QVectorOfQAbstractAspect,
5068                pos,
5069            )
5070        };
5071        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
5072    }
5073
5074    /// <p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
5075    ///
5076    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::move(int from, int to)```</span>.
5077    ///
5078    /// <a href="http://doc.qt.io/qt-5/qvector.html#move">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
5079    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
5080    /// <p>This function was introduced in  Qt 5.6.</p>
5081    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qlist.html#move">QList::move</a>().</p></div>
5082    #[inline(always)]
5083    pub unsafe fn move_(&self, from: ::std::os::raw::c_int, to: ::std::os::raw::c_int) {
5084        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_move(
5085            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5086            from,
5087            to,
5088        )
5089    }
5090
5091    /// <p>Constructs an empty vector.</p>
5092    ///
5093    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QAbstractAspect*>::QVector()```</span>.
5094    ///
5095    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs an empty vector.</p>
5096    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
5097    #[inline(always)]
5098    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
5099        let ffi_result =
5100            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_QVector() };
5101        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
5102    }
5103
5104    /// <p>Constructs a vector with an initial size of <i>size</i> elements.</p>
5105    ///
5106    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QAbstractAspect*>::QVector(int size)```</span>.
5107    ///
5108    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements.</p>
5109    /// <p>The elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>.</p>
5110    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
5111    #[inline(always)]
5112    pub unsafe fn new_1a(
5113        size: ::std::os::raw::c_int,
5114    ) -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
5115        let ffi_result = {
5116            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_QVector1(size)
5117        };
5118        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
5119    }
5120
5121    /// <p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
5122    ///
5123    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QAbstractAspect*>::QVector(int size, const Qt3DCore::QAbstractAspect*& t)```</span>.
5124    ///
5125    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
5126    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
5127    #[inline(always)]
5128    pub unsafe fn new_2a(
5129        size: ::std::os::raw::c_int,
5130        t: *const *mut crate::QAbstractAspect,
5131    ) -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
5132        let ffi_result = {
5133            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_QVector2(size, t)
5134        };
5135        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
5136    }
5137
5138    /// <p>Constructs a copy of <i>other</i>.</p>
5139    ///
5140    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QAbstractAspect*>::QVector(const QVector<Qt3DCore::QAbstractAspect*>& v)```</span>.
5141    ///
5142    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-3">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a copy of <i>other</i>.</p>
5143    /// <p>This operation takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a>, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicitly shared</a>. This makes returning a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">linear time</a>.</p>
5144    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">operator=</a>().</p></div>
5145    #[inline(always)]
5146    pub unsafe fn new_copy(
5147        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
5148    ) -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
5149        let ffi_result = {
5150            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_QVector3(::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(v).as_raw_ptr())
5151        };
5152        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
5153    }
5154
5155    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p>
5156    ///
5157    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::pop_back()```</span>.
5158    ///
5159    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
5160    #[inline(always)]
5161    pub unsafe fn pop_back(&self) {
5162        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_pop_back(
5163            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5164        )
5165    }
5166
5167    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p>
5168    ///
5169    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::pop_front()```</span>.
5170    ///
5171    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
5172    #[inline(always)]
5173    pub unsafe fn pop_front(&self) {
5174        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_pop_front(
5175            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5176        )
5177    }
5178
5179    /// <p>Inserts <i>value</i> at the beginning of the vector.</p>
5180    ///
5181    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::prepend(const Qt3DCore::QAbstractAspect*& t)```</span>.
5182    ///
5183    /// <a href="http://doc.qt.io/qt-5/qvector.html#prepend">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the beginning of the vector.</p>
5184    /// <p>Example:</p>
5185    /// <pre class="cpp">
5186    ///
5187    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
5188    ///   vector<span class="operator">.</span>prepend(<span class="string">"one"</span>);
5189    ///   vector<span class="operator">.</span>prepend(<span class="string">"two"</span>);
5190    ///   vector<span class="operator">.</span>prepend(<span class="string">"three"</span>);
5191    ///   <span class="comment">// vector: ["three", "two", "one"]</span>
5192    ///
5193    /// </pre>
5194    /// <p>This is the same as vector.insert(0, <i>value</i>).</p>
5195    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items in the vector by one position further in memory. If you want a container class that provides a fast prepend() function, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
5196    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
5197    #[inline(always)]
5198    pub unsafe fn prepend(&self, t: *const *mut crate::QAbstractAspect) {
5199        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_prepend(
5200            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5201            t,
5202        )
5203    }
5204
5205    /// <p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p>
5206    ///
5207    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::push_back(const Qt3DCore::QAbstractAspect*& t)```</span>.
5208    ///
5209    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p></div>
5210    #[inline(always)]
5211    pub unsafe fn push_back(&self, t: *const *mut crate::QAbstractAspect) {
5212        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_push_back(
5213            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5214            t,
5215        )
5216    }
5217
5218    /// <p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p>
5219    ///
5220    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::push_front(const Qt3DCore::QAbstractAspect*& t)```</span>.
5221    ///
5222    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p></div>
5223    #[inline(always)]
5224    pub unsafe fn push_front(&self, t: *const *mut crate::QAbstractAspect) {
5225        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_push_front(
5226            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5227            t,
5228        )
5229    }
5230
5231    /// <p>This is an overloaded function.</p>
5232    ///
5233    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::remove(int i)```</span>.
5234    ///
5235    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
5236    /// <p>Removes the element at index position <i>i</i>.</p>
5237    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
5238    #[inline(always)]
5239    pub unsafe fn remove_1a(&self, i: ::std::os::raw::c_int) {
5240        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_remove(
5241            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5242            i,
5243        )
5244    }
5245
5246    /// <p>This is an overloaded function.</p>
5247    ///
5248    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::remove(int i, int n)```</span>.
5249    ///
5250    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
5251    /// <p>Removes <i>count</i> elements from the middle of the vector, starting at index position <i>i</i>.</p>
5252    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
5253    #[inline(always)]
5254    pub unsafe fn remove_2a(&self, i: ::std::os::raw::c_int, n: ::std::os::raw::c_int) {
5255        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_remove1(
5256            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5257            i,
5258            n,
5259        )
5260    }
5261
5262    /// <p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
5263    ///
5264    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::removeAll(const Qt3DCore::QAbstractAspect*& t)```</span>.
5265    ///
5266    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAll">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
5267    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
5268    /// <p>This function was introduced in  Qt 5.4.</p>
5269    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeOne">removeOne</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAll">QList::removeAll</a>().</p></div>
5270    #[inline(always)]
5271    pub unsafe fn remove_all(
5272        &self,
5273        t: *const *mut crate::QAbstractAspect,
5274    ) -> ::std::os::raw::c_int {
5275        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_removeAll(
5276            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5277            t,
5278        )
5279    }
5280
5281    /// <p>Removes the element at index position <i>i</i>. Equivalent to</p>
5282    ///
5283    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::removeAt(int i)```</span>.
5284    ///
5285    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i>. Equivalent to</p>
5286    /// <pre class="cpp">
5287    ///
5288    ///   remove(i);
5289    ///
5290    /// </pre>
5291    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
5292    /// <p>This function was introduced in  Qt 5.2.</p>
5293    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAt">QList::removeAt</a>().</p></div>
5294    #[inline(always)]
5295    pub unsafe fn remove_at(&self, i: ::std::os::raw::c_int) {
5296        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_removeAt(
5297            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5298            i,
5299        )
5300    }
5301
5302    /// <p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5303    ///
5304    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::removeFirst()```</span>.
5305    ///
5306    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5307    /// <p>This function was introduced in  Qt 5.1.</p>
5308    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
5309    #[inline(always)]
5310    pub unsafe fn remove_first(&self) {
5311        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_removeFirst(
5312            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5313        )
5314    }
5315
5316    /// <p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5317    ///
5318    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::removeLast()```</span>.
5319    ///
5320    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5321    /// <p>This function was introduced in  Qt 5.1.</p>
5322    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
5323    #[inline(always)]
5324    pub unsafe fn remove_last(&self) {
5325        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_removeLast(
5326            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5327        )
5328    }
5329
5330    /// <p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
5331    ///
5332    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::removeOne(const Qt3DCore::QAbstractAspect*& t)```</span>.
5333    ///
5334    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeOne">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
5335    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
5336    /// <p>This function was introduced in  Qt 5.4.</p>
5337    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeAll">removeAll</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeOne">QList::removeOne</a>().</p></div>
5338    #[inline(always)]
5339    pub unsafe fn remove_one(&self, t: *const *mut crate::QAbstractAspect) -> bool {
5340        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_removeOne(
5341            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5342            t,
5343        )
5344    }
5345
5346    /// <p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
5347    ///
5348    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::replace(int i, const Qt3DCore::QAbstractAspect*& t)```</span>.
5349    ///
5350    /// <a href="http://doc.qt.io/qt-5/qvector.html#replace">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
5351    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
5352    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
5353    #[inline(always)]
5354    pub unsafe fn replace(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QAbstractAspect) {
5355        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_replace(
5356            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5357            i,
5358            t,
5359        )
5360    }
5361
5362    /// <p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
5363    ///
5364    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::reserve(int size)```</span>.
5365    ///
5366    /// <a href="http://doc.qt.io/qt-5/qvector.html#reserve">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
5367    /// <p>If <i>size</i> is an underestimate, the worst that will happen is that the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will be a bit slower. If <i>size</i> is an overestimate, you may have used more memory than the normal <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> growth strategy would have allocated—or you may have used less.</p>
5368    /// <p>An alternative to reserve() is calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). Whether or not that is faster than reserve() depends on the element type, because <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() default-constructs all elements, and requires assignment to existing entries rather than calling <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), which copy- or move-constructs. For simple types, like <code>int</code> or <code>double</code>, <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() is typically faster, but for anything more complex, you should prefer reserve().</p>
5369    /// <p><b>Warning:</b> If the size passed to <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() was underestimated, you run out of allocated space and into undefined behavior. This problem does not exist with reserve(), because it treats the size as just a hint.</p>
5370    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
5371    #[inline(always)]
5372    pub unsafe fn reserve(&self, size: ::std::os::raw::c_int) {
5373        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_reserve(
5374            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5375            size,
5376        )
5377    }
5378
5379    /// <p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
5380    ///
5381    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::resize(int size)```</span>.
5382    ///
5383    /// <a href="http://doc.qt.io/qt-5/qvector.html#resize">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
5384    /// <p>Since Qt 5.6, resize() doesn't shrink the capacity anymore. To shed excess capacity, use <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
5385    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
5386    #[inline(always)]
5387    pub unsafe fn resize(&self, size: ::std::os::raw::c_int) {
5388        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_resize(
5389            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5390            size,
5391        )
5392    }
5393
5394    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::setSharable(bool sharable)```</span>.
5395    #[inline(always)]
5396    pub unsafe fn set_sharable(&self, sharable: bool) {
5397        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_setSharable(
5398            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5399            sharable,
5400        )
5401    }
5402
5403    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
5404    ///
5405    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::shrink_to_fit()```</span>.
5406    ///
5407    /// <a href="http://doc.qt.io/qt-5/qvector.html#shrink_to_fit">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
5408    /// <p>This function was introduced in  Qt 5.10.</p></div>
5409    #[inline(always)]
5410    #[cfg_attr(
5411        feature = "ritual_rustdoc_nightly",
5412        doc(cfg(any(
5413            cpp_lib_version = "5.11.3",
5414            cpp_lib_version = "5.12.2",
5415            cpp_lib_version = "5.13.0",
5416            cpp_lib_version = "5.14.0"
5417        )))
5418    )]
5419    #[cfg(any(
5420        any(
5421            cpp_lib_version = "5.11.3",
5422            cpp_lib_version = "5.12.2",
5423            cpp_lib_version = "5.13.0",
5424            cpp_lib_version = "5.14.0"
5425        ),
5426        feature = "ritual_rustdoc"
5427    ))]
5428    pub unsafe fn shrink_to_fit(&self) {
5429        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_shrink_to_fit(
5430            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5431        )
5432    }
5433
5434    /// <p>Returns the number of items in the vector.</p>
5435    ///
5436    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::size() const```</span>.
5437    ///
5438    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
5439    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
5440    #[inline(always)]
5441    pub unsafe fn size(&self) -> ::std::os::raw::c_int {
5442        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_size(
5443            self as *const crate::QVectorOfQAbstractAspect,
5444        )
5445    }
5446
5447    /// <p>Releases any memory not required to store the items.</p>
5448    ///
5449    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::squeeze()```</span>.
5450    ///
5451    /// <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Releases any memory not required to store the items.</p>
5452    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function.</p>
5453    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
5454    #[inline(always)]
5455    pub unsafe fn squeeze(&self) {
5456        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_squeeze(
5457            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5458        )
5459    }
5460
5461    /// <p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
5462    ///
5463    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::startsWith(const Qt3DCore::QAbstractAspect*& t) const```</span>.
5464    ///
5465    /// <a href="http://doc.qt.io/qt-5/qvector.html#startsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
5466    /// <p>This function was introduced in  Qt 4.5.</p>
5467    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
5468    #[inline(always)]
5469    pub unsafe fn starts_with(&self, t: *const *mut crate::QAbstractAspect) -> bool {
5470        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_startsWith(
5471            self as *const crate::QVectorOfQAbstractAspect,
5472            t,
5473        )
5474    }
5475
5476    /// <p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
5477    ///
5478    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::swap(QVector<Qt3DCore::QAbstractAspect*>& other)```</span>.
5479    ///
5480    /// <a href="http://doc.qt.io/qt-5/qvector.html#swap">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
5481    /// <p>This function was introduced in  Qt 4.8.</p></div>
5482    #[inline(always)]
5483    pub unsafe fn swap(
5484        &self,
5485        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
5486    ) {
5487        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_swap(
5488            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5489            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(
5490                other,
5491            )
5492            .as_raw_ptr() as *mut crate::QVectorOfQAbstractAspect,
5493        )
5494    }
5495
5496    /// <p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
5497    ///
5498    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QAbstractAspect*>::swapItemsAt(int i, int j)```</span>.
5499    ///
5500    /// <a href="http://doc.qt.io/qt-5/qvector.html#swapItemsAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
5501    /// <p>This function was introduced in  Qt 5.14.</p></div>
5502    #[inline(always)]
5503    #[cfg_attr(
5504        feature = "ritual_rustdoc_nightly",
5505        doc(cfg(cpp_lib_version = "5.14.0"))
5506    )]
5507    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
5508    pub unsafe fn swap_items_at(&self, i: ::std::os::raw::c_int, j: ::std::os::raw::c_int) {
5509        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_swapItemsAt(
5510            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
5511            i,
5512            j,
5513        )
5514    }
5515
5516    /// <p>Removes the element at index position <i>i</i> and returns it.</p>
5517    ///
5518    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect* QVector<Qt3DCore::QAbstractAspect*>::takeAt(int i)```</span>.
5519    ///
5520    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i> and returns it.</p>
5521    /// <p>Equivalent to</p>
5522    /// <pre class="cpp">
5523    ///
5524    ///   T t <span class="operator">=</span> at(i);
5525    ///   remove(i);
5526    ///   <span class="keyword">return</span> t;
5527    ///
5528    /// </pre>
5529    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
5530    /// <p>This function was introduced in  Qt 5.2.</p>
5531    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#takeAt">QList::takeAt</a>().</p></div>
5532    #[inline(always)]
5533    pub unsafe fn take_at(
5534        &self,
5535        i: ::std::os::raw::c_int,
5536    ) -> ::qt_core::QPtr<crate::QAbstractAspect> {
5537        let ffi_result = {
5538            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_takeAt(
5539                self as *const crate::QVectorOfQAbstractAspect
5540                    as *mut crate::QVectorOfQAbstractAspect,
5541                i,
5542            )
5543        };
5544        ::qt_core::QPtr::from_raw(ffi_result)
5545    }
5546
5547    /// <p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5548    ///
5549    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect* QVector<Qt3DCore::QAbstractAspect*>::takeFirst()```</span>.
5550    ///
5551    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5552    /// <p>This function was introduced in  Qt 5.1.</p>
5553    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
5554    #[inline(always)]
5555    pub unsafe fn take_first(&self) -> ::qt_core::QPtr<crate::QAbstractAspect> {
5556        let ffi_result = {
5557            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_takeFirst(
5558                self as *const crate::QVectorOfQAbstractAspect
5559                    as *mut crate::QVectorOfQAbstractAspect,
5560            )
5561        };
5562        ::qt_core::QPtr::from_raw(ffi_result)
5563    }
5564
5565    /// <p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5566    ///
5567    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect* QVector<Qt3DCore::QAbstractAspect*>::takeLast()```</span>.
5568    ///
5569    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
5570    /// <p>If you don't use the return value, <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>() is more efficient.</p>
5571    /// <p>This function was introduced in  Qt 5.1.</p>
5572    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
5573    #[inline(always)]
5574    pub unsafe fn take_last(&self) -> ::qt_core::QPtr<crate::QAbstractAspect> {
5575        let ffi_result = {
5576            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_takeLast(
5577                self as *const crate::QVectorOfQAbstractAspect
5578                    as *mut crate::QVectorOfQAbstractAspect,
5579            )
5580        };
5581        ::qt_core::QPtr::from_raw(ffi_result)
5582    }
5583
5584    /// <p>Returns the value at index position <i>i</i> in the vector.</p>
5585    ///
5586    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect* QVector<Qt3DCore::QAbstractAspect*>::value(int i) const```</span>.
5587    ///
5588    /// <a href="http://doc.qt.io/qt-5/qvector.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value at index position <i>i</i> in the vector.</p>
5589    /// <p>If the index <i>i</i> is out of bounds, the function returns a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you are certain that <i>i</i> is within bounds, you can use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() instead, which is slightly faster.</p>
5590    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
5591    #[inline(always)]
5592    pub unsafe fn value_1a(
5593        &self,
5594        i: ::std::os::raw::c_int,
5595    ) -> ::qt_core::QPtr<crate::QAbstractAspect> {
5596        let ffi_result = {
5597            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_value(
5598                self as *const crate::QVectorOfQAbstractAspect,
5599                i,
5600            )
5601        };
5602        ::qt_core::QPtr::from_raw(ffi_result)
5603    }
5604
5605    /// <p>This is an overloaded function.</p>
5606    ///
5607    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect* QVector<Qt3DCore::QAbstractAspect*>::value(int i, const Qt3DCore::QAbstractAspect*& defaultValue) const```</span>.
5608    ///
5609    /// <a href="http://doc.qt.io/qt-5/qvector.html#value-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
5610    /// <p>If the index <i>i</i> is out of bounds, the function returns <i>defaultValue</i>.</p></div>
5611    #[inline(always)]
5612    pub unsafe fn value_2a(
5613        &self,
5614        i: ::std::os::raw::c_int,
5615        default_value: *const *mut crate::QAbstractAspect,
5616    ) -> ::qt_core::QPtr<crate::QAbstractAspect> {
5617        let ffi_result = {
5618            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_value1(
5619                self as *const crate::QVectorOfQAbstractAspect,
5620                i,
5621                default_value,
5622            )
5623        };
5624        ::qt_core::QPtr::from_raw(ffi_result)
5625    }
5626}
5627
5628impl From<crate::ChangeFlag> for ::qt_core::QFlags<crate::ChangeFlag> {
5629    fn from(value: crate::ChangeFlag) -> Self {
5630        Self::from(value.to_int())
5631    }
5632}
5633
5634impl<T: Into<::qt_core::QFlags<crate::ChangeFlag>>> std::ops::BitOr<T> for crate::ChangeFlag {
5635    type Output = ::qt_core::QFlags<crate::ChangeFlag>;
5636    fn bitor(self, rhs: T) -> ::qt_core::QFlags<crate::ChangeFlag> {
5637        Into::<::qt_core::QFlags<crate::ChangeFlag>>::into(self) | rhs
5638    }
5639}
5640
5641/// <p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
5642///
5643/// C++ class: <span style='color: green;'>```QVector<Qt3DCore::QNode*>```</span>.
5644///
5645/// <a href="http://doc.qt.io/qt-5/qvector.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
5646/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; is one of Qt's generic <a href="http://doc.qt.io/qt-5/containers.html">container classes</a>. It stores its items in adjacent memory locations and provides fast index-based access.</p>
5647/// <p><a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt;, and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>&lt;T&gt; provide similar APIs and functionality. They are often interchangeable, but there are performance consequences. Here is an overview of use cases:</p>
5648/// <ul>
5649/// <li><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> should be your default first choice. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; will usually give better performance than <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; always stores its items sequentially in memory, where <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt; will allocate its items on the heap unless <code>sizeof(T) &lt;= sizeof(void*)</code> and T has been declared to be either a <code>Q_MOVABLE_TYPE</code> or a <code>Q_PRIMITIVE_TYPE</code> using <a href="http://doc.qt.io/qt-5/qtglobal.html#Q_DECLARE_TYPEINFO">Q_DECLARE_TYPEINFO</a>. See the <a href="http://marcmutz.wordpress.com/effective-qt/containers/#containers-qlist">Pros and Cons of Using QList</a> for an explanation.</li>
5650/// <li>However, <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> is used throughout the Qt APIs for passing parameters and for returning values. Use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> to interface with those APIs.</li>
5651/// <li>If you need a real linked list, which guarantees <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a> insertions mid-list and uses iterators to items rather than indexes, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>.</li>
5652/// </ul>
5653/// <p><b>Note: </b><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a> both guarantee C-compatible array layout. <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> does not. This might be important if your application must interface with a C API.</p><p><b>Note: </b>Iterators into a <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> and references into heap-allocating QLists remain valid as long as the referenced items remain in the container. This is not true for iterators and references into a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and non-heap-allocating QLists.</p><p>Here's an example of a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores integers and a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores <a href="http://doc.qt.io/qt-5/qstring.html">QString</a> values:</p>
5654/// <pre class="cpp">
5655///
5656///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> integerVector;
5657///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> stringVector;
5658///
5659/// </pre>
5660/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> stores its items in a vector (array). Typically, vectors are created with an initial size. For example, the following code constructs a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> with 200 elements:</p>
5661/// <pre class="cpp">
5662///
5663///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span>);
5664///
5665/// </pre>
5666/// <p>The elements are automatically initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you want to initialize the vector with a different value, pass that value as the second argument to the constructor:</p>
5667/// <pre class="cpp">
5668///
5669///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span><span class="operator">,</span> <span class="string">"Pass"</span>);
5670///
5671/// </pre>
5672/// <p>You can also call <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>() at any time to fill the vector with a value.</p>
5673/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> uses 0-based indexes, just like C++ arrays. To access the item at a particular index position, you can use operator[](). On non-const vectors, operator[]() returns a reference to the item that can be used on the left side of an assignment:</p>
5674/// <pre class="cpp">
5675///
5676///   <span class="keyword">if</span> (vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span><span class="operator">=</span> <span class="string">"Liz"</span>)
5677/// &#32;     vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="string">"Elizabeth"</span>;
5678///
5679/// </pre>
5680/// <p>For read-only access, an alternative syntax is to use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>():</p>
5681/// <pre class="cpp">
5682///
5683///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> vector<span class="operator">.</span>size(); <span class="operator">+</span><span class="operator">+</span>i) {
5684/// &#32;     <span class="keyword">if</span> (vector<span class="operator">.</span>at(i) <span class="operator">=</span><span class="operator">=</span> <span class="string">"Alfonso"</span>)
5685/// &#32;   &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"Found Alfonso at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
5686///   }
5687///
5688/// </pre>
5689/// <p><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() can be faster than operator[](), because it never causes a <a href="http://doc.qt.io/qt-5/implicit-sharing.html#deep-copy">deep copy</a> to occur.</p>
5690/// <p>Another way to access the data stored in a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is to call <a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>(). The function returns a pointer to the first item in the vector. You can use the pointer to directly access and modify the elements stored in the vector. The pointer is also useful if you need to pass a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to a function that accepts a plain C++ array.</p>
5691/// <p>If you want to find all occurrences of a particular value in a vector, use <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() or <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>(). The former searches forward starting from a given index position, the latter searches backward. Both return the index of the matching item if they found one; otherwise, they return -1. For example:</p>
5692/// <pre class="cpp">
5693///
5694///   <span class="type">int</span> i <span class="operator">=</span> vector<span class="operator">.</span>indexOf(<span class="string">"Harumi"</span>);
5695///   <span class="keyword">if</span> (i <span class="operator">!</span><span class="operator">=</span> <span class="operator">-</span><span class="number">1</span>)
5696/// &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"First occurrence of Harumi is at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
5697///
5698/// </pre>
5699/// <p>If you simply want to check whether a vector contains a particular value, use <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>(). If you want to find out how many times a particular value occurs in the vector, use <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
5700/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides these basic functions to add, move, and remove items: <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(). With the exception of <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), these functions can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>) for large vectors, because they require moving many items in the vector by one position in memory. If you want a container class that provides fast insertion/removal in the middle, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
5701/// <p>Unlike plain C++ arrays, QVectors can be resized at any time by calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). If the new size is larger than the old size, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> might need to reallocate the whole vector. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> tries to reduce the number of reallocations by preallocating up to twice as much memory as the actual data needs.</p>
5702/// <p>If you know in advance approximately how many items the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will contain, you can call <a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>(), asking <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to preallocate a certain amount of memory. You can also call <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>() to find out how much memory <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> actually allocated.</p>
5703/// <p>Note that using non-const operators and functions can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy of the data. This is due to <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicit sharing</a>.</p>
5704/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s value type must be an <a href="http://doc.qt.io/qt-5/containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> as a value; instead, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> *. A few functions have additional requirements; for example, <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() expect the value type to support <code>operator==()</code>. These requirements are documented on a per-function basis.</p>
5705/// <p>Like the other container classes, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides <a href="http://doc.qt.io/qt-5/containers.html#java-style-iterators">Java-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvectoriterator.html">QVectorIterator</a> and <a href="http://doc.qt.io/qt-5/qmutablevectoriterator.html">QMutableVectorIterator</a>) and <a href="http://doc.qt.io/qt-5/containers.html#stl-style-iterators">STL-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvector.html#const_iterator-typedef">QVector::const_iterator</a> and <a href="http://doc.qt.io/qt-5/qvector.html#iterator-typedefx">QVector::iterator</a>). In practice, these are rarely used, because you can use indexes into the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>.</p>
5706/// <p>In addition to <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>, Qt also provides <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>, a very low-level class with little functionality that is optimized for speed.</p>
5707/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> does <i>not</i> support inserting, prepending, appending or replacing with references to its own values. Doing so will cause your application to abort with an error message.</p>
5708/// <a name="more-information-on-using-qt-containers"></a>
5709/// <h4>More Information on Using Qt Containers</h4>
5710/// <p>For a detailed discussion comparing Qt containers with each other and with STL containers, see <a href="http://marcmutz.wordpress.com/effective-qt/containers/">Understand the Qt Containers</a>.</p></div>
5711#[repr(C)]
5712pub struct QVectorOfQNode {
5713    _unused: u8,
5714}
5715impl QVectorOfQNode {
5716    /// <p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
5717    ///
5718    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*>& QVector<Qt3DCore::QNode*>::operator+=(const QVector<Qt3DCore::QNode*>& l)```</span>.
5719    ///
5720    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
5721    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">operator+</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>().</p></div>
5722    #[inline(always)]
5723    pub unsafe fn add_assign_q_vector_of_q_node(
5724        &self,
5725        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
5726    ) -> ::cpp_core::Ref<crate::QVectorOfQNode> {
5727        let ffi_result = {
5728            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator__4(
5729                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
5730                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(l)
5731                    .as_raw_ptr(),
5732            )
5733        };
5734        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
5735    }
5736
5737    /// <p>This is an overloaded function.</p>
5738    ///
5739    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*>& QVector<Qt3DCore::QNode*>::operator+=(const Qt3DCore::QNode*& t)```</span>.
5740    ///
5741    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
5742    /// <p>Appends <i>value</i> to the vector.</p>
5743    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>().</p></div>
5744    #[inline(always)]
5745    pub unsafe fn add_assign_q_node(
5746        &self,
5747        t: *const *mut crate::QNode,
5748    ) -> ::cpp_core::Ref<crate::QVectorOfQNode> {
5749        let ffi_result = {
5750            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator__5(
5751                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
5752                t,
5753            )
5754        };
5755        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
5756    }
5757
5758    /// <p>Inserts <i>value</i> at the end of the vector.</p>
5759    ///
5760    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::append(const Qt3DCore::QNode*& t)```</span>.
5761    ///
5762    /// <a href="http://doc.qt.io/qt-5/qvector.html#append">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the end of the vector.</p>
5763    /// <p>Example:</p>
5764    /// <pre class="cpp">
5765    ///
5766    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
5767    ///   vector<span class="operator">.</span>append(<span class="string">"one"</span>);
5768    ///   vector<span class="operator">.</span>append(<span class="string">"two"</span>);
5769    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> three <span class="operator">=</span> <span class="string">"three"</span>;
5770    ///   vector<span class="operator">.</span>append(three);
5771    ///   <span class="comment">// vector: ["one", "two", "three"]</span>
5772    ///   <span class="comment">// three: "three"</span>
5773    ///
5774    /// </pre>
5775    /// <p>This is the same as calling resize(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() + 1) and assigning <i>value</i> to the new last element in the vector.</p>
5776    /// <p>This operation is relatively fast, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> typically allocates more memory than necessary, so it can grow without reallocating the entire vector each time.</p>
5777    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
5778    #[inline(always)]
5779    pub unsafe fn append_q_node(&self, t: *const *mut crate::QNode) {
5780        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_append(
5781            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
5782            t,
5783        )
5784    }
5785
5786    /// <p>This is an overloaded function.</p>
5787    ///
5788    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::append(const QVector<Qt3DCore::QNode*>& l)```</span>.
5789    ///
5790    /// <a href="http://doc.qt.io/qt-5/qvector.html#append-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
5791    /// <p>Appends the items of the <i>value</i> vector to this vector.</p>
5792    /// <p>This function was introduced in  Qt 5.5.</p>
5793    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
5794    #[inline(always)]
5795    pub unsafe fn append_q_vector_of_q_node(
5796        &self,
5797        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
5798    ) {
5799        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_append2(
5800            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
5801            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(l)
5802                .as_raw_ptr(),
5803        )
5804    }
5805
5806    /// <p>Returns the item at index position <i>i</i> in the vector.</p>
5807    ///
5808    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::at(int i) const```</span>.
5809    ///
5810    /// <a href="http://doc.qt.io/qt-5/qvector.html#at">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> in the vector.</p>
5811    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
5812    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
5813    #[inline(always)]
5814    pub unsafe fn at(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QNode {
5815        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_at(
5816            self as *const crate::QVectorOfQNode,
5817            i,
5818        )
5819    }
5820
5821    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p>
5822    ///
5823    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::back()```</span>.
5824    ///
5825    /// <a href="http://doc.qt.io/qt-5/qvector.html#back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
5826    #[inline(always)]
5827    pub unsafe fn back_mut(&self) -> *mut *mut crate::QNode {
5828        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_back(
5829            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
5830        )
5831    }
5832
5833    /// <p>This is an overloaded function.</p>
5834    ///
5835    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::back() const```</span>.
5836    ///
5837    /// <a href="http://doc.qt.io/qt-5/qvector.html#back-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
5838    #[inline(always)]
5839    pub unsafe fn back(&self) -> *const *mut crate::QNode {
5840        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_back1(
5841            self as *const crate::QVectorOfQNode,
5842        )
5843    }
5844
5845    /// <p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
5846    ///
5847    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::capacity() const```</span>.
5848    ///
5849    /// <a href="http://doc.qt.io/qt-5/qvector.html#capacity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
5850    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function. If you want to know how many items are in the vector, call <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
5851    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
5852    #[inline(always)]
5853    pub unsafe fn capacity(&self) -> ::std::os::raw::c_int {
5854        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_capacity(
5855            self as *const crate::QVectorOfQNode,
5856        )
5857    }
5858
5859    /// <p>Removes all the elements from the vector.</p>
5860    ///
5861    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::clear()```</span>.
5862    ///
5863    /// <a href="http://doc.qt.io/qt-5/qvector.html#clear">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all the elements from the vector.</p>
5864    /// <p><b>Note: </b>Until Qt 5.6, this also released the memory used by the vector. From Qt 5.7, the capacity is preserved. To shed all capacity, swap with a default-constructed vector:</p><pre class="cpp">
5865    ///
5866    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span> v <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>;
5867    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span>()<span class="operator">.</span>swap(v);
5868    ///   Q_ASSERT(v<span class="operator">.</span>capacity() <span class="operator">=</span><span class="operator">=</span> <span class="number">0</span>);
5869    ///
5870    /// </pre>
5871    /// <p>or call <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
5872    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
5873    #[inline(always)]
5874    pub unsafe fn clear(&self) {
5875        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_clear(
5876            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
5877        )
5878    }
5879
5880    /// <p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
5881    ///
5882    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode** QVector<Qt3DCore::QNode*>::constData() const```</span>.
5883    ///
5884    /// <a href="http://doc.qt.io/qt-5/qvector.html#constData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
5885    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
5886    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
5887    #[inline(always)]
5888    pub unsafe fn const_data(&self) -> *const *mut crate::QNode {
5889        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_constData(
5890            self as *const crate::QVectorOfQNode,
5891        )
5892    }
5893
5894    /// <p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
5895    ///
5896    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::constFirst() const```</span>.
5897    ///
5898    /// <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
5899    /// <p>This function was introduced in  Qt 5.6.</p>
5900    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
5901    #[inline(always)]
5902    pub unsafe fn const_first(&self) -> *const *mut crate::QNode {
5903        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_constFirst(
5904            self as *const crate::QVectorOfQNode,
5905        )
5906    }
5907
5908    /// <p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
5909    ///
5910    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::constLast() const```</span>.
5911    ///
5912    /// <a href="http://doc.qt.io/qt-5/qvector.html#constLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
5913    /// <p>This function was introduced in  Qt 5.6.</p>
5914    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
5915    #[inline(always)]
5916    pub unsafe fn const_last(&self) -> *const *mut crate::QNode {
5917        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_constLast(
5918            self as *const crate::QVectorOfQNode,
5919        )
5920    }
5921
5922    /// <p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
5923    ///
5924    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::contains(const Qt3DCore::QNode*& t) const```</span>.
5925    ///
5926    /// <a href="http://doc.qt.io/qt-5/qvector.html#contains">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
5927    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
5928    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p></div>
5929    #[inline(always)]
5930    pub unsafe fn contains(&self, t: *const *mut crate::QNode) -> bool {
5931        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_contains(
5932            self as *const crate::QVectorOfQNode,
5933            t,
5934        )
5935    }
5936
5937    /// <p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p>
5938    ///
5939    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*>& QVector<Qt3DCore::QNode*>::operator=(const QVector<Qt3DCore::QNode*>& v)```</span>.
5940    ///
5941    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p></div>
5942    #[inline(always)]
5943    pub unsafe fn copy_from(
5944        &self,
5945        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
5946    ) -> ::cpp_core::Ref<crate::QVectorOfQNode> {
5947        let ffi_result = {
5948            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator_(
5949                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
5950                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(v)
5951                    .as_raw_ptr(),
5952            )
5953        };
5954        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
5955    }
5956
5957    /// <p>Returns the number of occurrences of <i>value</i> in the vector.</p>
5958    ///
5959    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::count(const Qt3DCore::QNode*& t) const```</span>.
5960    ///
5961    /// <a href="http://doc.qt.io/qt-5/qvector.html#count">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of occurrences of <i>value</i> in the vector.</p>
5962    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
5963    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
5964    #[inline(always)]
5965    pub unsafe fn count_1a(&self, t: *const *mut crate::QNode) -> ::std::os::raw::c_int {
5966        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_count(
5967            self as *const crate::QVectorOfQNode,
5968            t,
5969        )
5970    }
5971
5972    /// <p>This is an overloaded function.</p>
5973    ///
5974    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::count() const```</span>.
5975    ///
5976    /// <a href="http://doc.qt.io/qt-5/qvector.html#count-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
5977    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
5978    #[inline(always)]
5979    pub unsafe fn count_0a(&self) -> ::std::os::raw::c_int {
5980        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_count1(
5981            self as *const crate::QVectorOfQNode,
5982        )
5983    }
5984
5985    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
5986    ///
5987    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode** QVector<Qt3DCore::QNode*>::data()```</span>.
5988    ///
5989    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
5990    /// <p>Example:</p>
5991    /// <pre class="cpp">
5992    ///
5993    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
5994    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
5995    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
5996    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
5997    ///
5998    /// </pre>
5999    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
6000    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
6001    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
6002    #[inline(always)]
6003    pub unsafe fn data_mut(&self) -> *mut *mut crate::QNode {
6004        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_data(
6005            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6006        )
6007    }
6008
6009    /// <p>This is an overloaded function.</p>
6010    ///
6011    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode** QVector<Qt3DCore::QNode*>::data() const```</span>.
6012    ///
6013    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
6014    #[inline(always)]
6015    pub unsafe fn data(&self) -> *const *mut crate::QNode {
6016        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_data1(
6017            self as *const crate::QVectorOfQNode,
6018        )
6019    }
6020
6021    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::detach()```</span>.
6022    #[inline(always)]
6023    pub unsafe fn detach(&self) {
6024        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_detach(
6025            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6026        )
6027    }
6028
6029    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p>
6030    ///
6031    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::empty() const```</span>.
6032    ///
6033    /// <a href="http://doc.qt.io/qt-5/qvector.html#empty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p></div>
6034    #[inline(always)]
6035    pub unsafe fn empty(&self) -> bool {
6036        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_empty(
6037            self as *const crate::QVectorOfQNode,
6038        )
6039    }
6040
6041    /// <p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
6042    ///
6043    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::endsWith(const Qt3DCore::QNode*& t) const```</span>.
6044    ///
6045    /// <a href="http://doc.qt.io/qt-5/qvector.html#endsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
6046    /// <p>This function was introduced in  Qt 4.5.</p>
6047    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
6048    #[inline(always)]
6049    pub unsafe fn ends_with(&self, t: *const *mut crate::QNode) -> bool {
6050        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_endsWith(
6051            self as *const crate::QVectorOfQNode,
6052            t,
6053        )
6054    }
6055
6056    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
6057    ///
6058    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*>& QVector<Qt3DCore::QNode*>::fill(const Qt3DCore::QNode*& t, int size = …)```</span>.
6059    ///
6060    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
6061    /// <p>Example:</p>
6062    /// <pre class="cpp">
6063    ///
6064    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
6065    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
6066    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
6067    ///
6068    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
6069    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
6070    ///
6071    /// </pre>
6072    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
6073    #[inline(always)]
6074    pub unsafe fn fill_2a(
6075        &self,
6076        t: *const *mut crate::QNode,
6077        size: ::std::os::raw::c_int,
6078    ) -> ::cpp_core::Ref<crate::QVectorOfQNode> {
6079        let ffi_result = {
6080            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_fill(
6081                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6082                t,
6083                size,
6084            )
6085        };
6086        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
6087    }
6088
6089    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
6090    ///
6091    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*>& QVector<Qt3DCore::QNode*>::fill(const Qt3DCore::QNode*& t)```</span>.
6092    ///
6093    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
6094    /// <p>Example:</p>
6095    /// <pre class="cpp">
6096    ///
6097    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
6098    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
6099    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
6100    ///
6101    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
6102    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
6103    ///
6104    /// </pre>
6105    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
6106    #[inline(always)]
6107    pub unsafe fn fill_1a(
6108        &self,
6109        t: *const *mut crate::QNode,
6110    ) -> ::cpp_core::Ref<crate::QVectorOfQNode> {
6111        let ffi_result = {
6112            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_fill1(
6113                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6114                t,
6115            )
6116        };
6117        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
6118    }
6119
6120    /// <p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
6121    ///
6122    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::first()```</span>.
6123    ///
6124    /// <a href="http://doc.qt.io/qt-5/qvector.html#first">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
6125    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>().</p></div>
6126    #[inline(always)]
6127    pub unsafe fn first_mut(&self) -> *mut *mut crate::QNode {
6128        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_first(
6129            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6130        )
6131    }
6132
6133    /// <p>This is an overloaded function.</p>
6134    ///
6135    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::first() const```</span>.
6136    ///
6137    /// <a href="http://doc.qt.io/qt-5/qvector.html#first-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
6138    #[inline(always)]
6139    pub unsafe fn first(&self) -> *const *mut crate::QNode {
6140        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_first1(
6141            self as *const crate::QVectorOfQNode,
6142        )
6143    }
6144
6145    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p>
6146    ///
6147    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::front()```</span>.
6148    ///
6149    /// <a href="http://doc.qt.io/qt-5/qvector.html#front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
6150    #[inline(always)]
6151    pub unsafe fn front_mut(&self) -> *mut *mut crate::QNode {
6152        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_front(
6153            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6154        )
6155    }
6156
6157    /// <p>This is an overloaded function.</p>
6158    ///
6159    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::front() const```</span>.
6160    ///
6161    /// <a href="http://doc.qt.io/qt-5/qvector.html#front-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
6162    #[inline(always)]
6163    pub unsafe fn front(&self) -> *const *mut crate::QNode {
6164        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_front1(
6165            self as *const crate::QVectorOfQNode,
6166        )
6167    }
6168
6169    /// <p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
6170    ///
6171    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::operator[](int i)```</span>.
6172    ///
6173    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
6174    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
6175    /// <p>Note that using non-const operators can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy.</p>
6176    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>().</p></div>
6177    #[inline(always)]
6178    pub unsafe fn index_mut(&self, i: ::std::os::raw::c_int) -> *mut *mut crate::QNode {
6179        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator__2(
6180            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6181            i,
6182        )
6183    }
6184
6185    /// <p>This is an overloaded function.</p>
6186    ///
6187    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::operator[](int i) const```</span>.
6188    ///
6189    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
6190    /// <p>Same as at(<i>i</i>).</p></div>
6191    #[inline(always)]
6192    pub unsafe fn index(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QNode {
6193        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator__3(
6194            self as *const crate::QVectorOfQNode,
6195            i,
6196        )
6197    }
6198
6199    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
6200    ///
6201    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::indexOf(const Qt3DCore::QNode*& t, int from = …) const```</span>.
6202    ///
6203    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
6204    /// <p>Example:</p>
6205    /// <pre class="cpp">
6206    ///
6207    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
6208    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
6209    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
6210    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
6211    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
6212    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
6213    ///
6214    /// </pre>
6215    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
6216    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
6217    #[inline(always)]
6218    pub unsafe fn index_of_2a(
6219        &self,
6220        t: *const *mut crate::QNode,
6221        from: ::std::os::raw::c_int,
6222    ) -> ::std::os::raw::c_int {
6223        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_indexOf(
6224            self as *const crate::QVectorOfQNode,
6225            t,
6226            from,
6227        )
6228    }
6229
6230    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
6231    ///
6232    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::indexOf(const Qt3DCore::QNode*& t) const```</span>.
6233    ///
6234    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
6235    /// <p>Example:</p>
6236    /// <pre class="cpp">
6237    ///
6238    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
6239    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
6240    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
6241    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
6242    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
6243    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
6244    ///
6245    /// </pre>
6246    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
6247    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
6248    #[inline(always)]
6249    pub unsafe fn index_of_1a(&self, t: *const *mut crate::QNode) -> ::std::os::raw::c_int {
6250        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_indexOf1(
6251            self as *const crate::QVectorOfQNode,
6252            t,
6253        )
6254    }
6255
6256    /// <p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
6257    ///
6258    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::insert(int i, const Qt3DCore::QNode*& t)```</span>.
6259    ///
6260    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
6261    /// <p>Example:</p>
6262    /// <pre class="cpp">
6263    ///
6264    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
6265    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"alpha"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"beta"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"delta"</span>;
6266    ///   vector<span class="operator">.</span>insert(<span class="number">2</span><span class="operator">,</span> <span class="string">"gamma"</span>);
6267    ///   <span class="comment">// vector: ["alpha", "beta", "gamma", "delta"]</span>
6268    ///
6269    /// </pre>
6270    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items at indexes <i>i</i> and above by one position further in memory. If you want a container class that provides a fast insert() function, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
6271    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
6272    #[inline(always)]
6273    pub unsafe fn insert_2a(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QNode) {
6274        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_insert(
6275            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6276            i,
6277            t,
6278        )
6279    }
6280
6281    /// <p>This is an overloaded function.</p>
6282    ///
6283    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::insert(int i, int n, const Qt3DCore::QNode*& t)```</span>.
6284    ///
6285    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
6286    /// <p>Inserts <i>count</i> copies of <i>value</i> at index position <i>i</i> in the vector.</p>
6287    /// <p>Example:</p>
6288    /// <pre class="cpp">
6289    ///
6290    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">double</span><span class="operator">&gt;</span> vector;
6291    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2.718</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1.442</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">0.4342</span>;
6292    ///   vector<span class="operator">.</span>insert(<span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">9.9</span>);
6293    ///   <span class="comment">// vector: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]</span>
6294    ///
6295    /// </pre></div>
6296    #[inline(always)]
6297    pub unsafe fn insert_3a(
6298        &self,
6299        i: ::std::os::raw::c_int,
6300        n: ::std::os::raw::c_int,
6301        t: *const *mut crate::QNode,
6302    ) {
6303        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_insert1(
6304            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6305            i,
6306            n,
6307            t,
6308        )
6309    }
6310
6311    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::isDetached() const```</span>.
6312    #[inline(always)]
6313    pub unsafe fn is_detached(&self) -> bool {
6314        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_isDetached(
6315            self as *const crate::QVectorOfQNode,
6316        )
6317    }
6318
6319    /// <p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
6320    ///
6321    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::isEmpty() const```</span>.
6322    ///
6323    /// <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
6324    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
6325    #[inline(always)]
6326    pub unsafe fn is_empty(&self) -> bool {
6327        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_isEmpty(
6328            self as *const crate::QVectorOfQNode,
6329        )
6330    }
6331
6332    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::isSharedWith(const QVector<Qt3DCore::QNode*>& other) const```</span>.
6333    #[inline(always)]
6334    pub unsafe fn is_shared_with(
6335        &self,
6336        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
6337    ) -> bool {
6338        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_isSharedWith(
6339            self as *const crate::QVectorOfQNode,
6340            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(other)
6341                .as_raw_ptr(),
6342        )
6343    }
6344
6345    /// <p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
6346    ///
6347    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::last()```</span>.
6348    ///
6349    /// <a href="http://doc.qt.io/qt-5/qvector.html#last">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
6350    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>().</p></div>
6351    #[inline(always)]
6352    pub unsafe fn last_mut(&self) -> *mut *mut crate::QNode {
6353        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_last(
6354            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6355        )
6356    }
6357
6358    /// <p>This is an overloaded function.</p>
6359    ///
6360    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode*& QVector<Qt3DCore::QNode*>::last() const```</span>.
6361    ///
6362    /// <a href="http://doc.qt.io/qt-5/qvector.html#last-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
6363    #[inline(always)]
6364    pub unsafe fn last(&self) -> *const *mut crate::QNode {
6365        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_last1(
6366            self as *const crate::QVectorOfQNode,
6367        )
6368    }
6369
6370    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
6371    ///
6372    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::lastIndexOf(const Qt3DCore::QNode*& t, int from = …) const```</span>.
6373    ///
6374    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
6375    /// <p>Example:</p>
6376    /// <pre class="cpp">
6377    ///
6378    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
6379    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
6380    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
6381    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
6382    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
6383    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
6384    ///
6385    /// </pre>
6386    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
6387    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
6388    #[inline(always)]
6389    pub unsafe fn last_index_of_2a(
6390        &self,
6391        t: *const *mut crate::QNode,
6392        from: ::std::os::raw::c_int,
6393    ) -> ::std::os::raw::c_int {
6394        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_lastIndexOf(
6395            self as *const crate::QVectorOfQNode,
6396            t,
6397            from,
6398        )
6399    }
6400
6401    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
6402    ///
6403    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::lastIndexOf(const Qt3DCore::QNode*& t) const```</span>.
6404    ///
6405    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
6406    /// <p>Example:</p>
6407    /// <pre class="cpp">
6408    ///
6409    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
6410    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
6411    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
6412    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
6413    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
6414    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
6415    ///
6416    /// </pre>
6417    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
6418    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
6419    #[inline(always)]
6420    pub unsafe fn last_index_of_1a(&self, t: *const *mut crate::QNode) -> ::std::os::raw::c_int {
6421        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_lastIndexOf1(
6422            self as *const crate::QVectorOfQNode,
6423            t,
6424        )
6425    }
6426
6427    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
6428    ///
6429    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::length() const```</span>.
6430    ///
6431    /// <a href="http://doc.qt.io/qt-5/qvector.html#length">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
6432    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
6433    /// <p>This function was introduced in  Qt 5.2.</p>
6434    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#length">QList::length</a>().</p></div>
6435    #[inline(always)]
6436    pub unsafe fn length(&self) -> ::std::os::raw::c_int {
6437        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_length(
6438            self as *const crate::QVectorOfQNode,
6439        )
6440    }
6441
6442    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
6443    ///
6444    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*> QVector<Qt3DCore::QNode*>::mid(int pos, int len = …) const```</span>.
6445    ///
6446    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
6447    #[inline(always)]
6448    pub unsafe fn mid_2a(
6449        &self,
6450        pos: ::std::os::raw::c_int,
6451        len: ::std::os::raw::c_int,
6452    ) -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
6453        let ffi_result = {
6454            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_mid(
6455                self as *const crate::QVectorOfQNode,
6456                pos,
6457                len,
6458            )
6459        };
6460        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
6461    }
6462
6463    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
6464    ///
6465    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*> QVector<Qt3DCore::QNode*>::mid(int pos) const```</span>.
6466    ///
6467    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
6468    #[inline(always)]
6469    pub unsafe fn mid_1a(
6470        &self,
6471        pos: ::std::os::raw::c_int,
6472    ) -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
6473        let ffi_result = {
6474            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_mid1(
6475                self as *const crate::QVectorOfQNode,
6476                pos,
6477            )
6478        };
6479        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
6480    }
6481
6482    /// <p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
6483    ///
6484    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::move(int from, int to)```</span>.
6485    ///
6486    /// <a href="http://doc.qt.io/qt-5/qvector.html#move">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
6487    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
6488    /// <p>This function was introduced in  Qt 5.6.</p>
6489    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qlist.html#move">QList::move</a>().</p></div>
6490    #[inline(always)]
6491    pub unsafe fn move_(&self, from: ::std::os::raw::c_int, to: ::std::os::raw::c_int) {
6492        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_move(
6493            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6494            from,
6495            to,
6496        )
6497    }
6498
6499    /// <p>Constructs an empty vector.</p>
6500    ///
6501    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNode*>::QVector()```</span>.
6502    ///
6503    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs an empty vector.</p>
6504    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
6505    #[inline(always)]
6506    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
6507        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_QVector() };
6508        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
6509    }
6510
6511    /// <p>Constructs a vector with an initial size of <i>size</i> elements.</p>
6512    ///
6513    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNode*>::QVector(int size)```</span>.
6514    ///
6515    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements.</p>
6516    /// <p>The elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>.</p>
6517    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
6518    #[inline(always)]
6519    pub unsafe fn new_1a(size: ::std::os::raw::c_int) -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
6520        let ffi_result =
6521            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_QVector1(size) };
6522        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
6523    }
6524
6525    /// <p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
6526    ///
6527    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNode*>::QVector(int size, const Qt3DCore::QNode*& t)```</span>.
6528    ///
6529    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
6530    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
6531    #[inline(always)]
6532    pub unsafe fn new_2a(
6533        size: ::std::os::raw::c_int,
6534        t: *const *mut crate::QNode,
6535    ) -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
6536        let ffi_result =
6537            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_QVector2(size, t) };
6538        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
6539    }
6540
6541    /// <p>Constructs a copy of <i>other</i>.</p>
6542    ///
6543    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNode*>::QVector(const QVector<Qt3DCore::QNode*>& v)```</span>.
6544    ///
6545    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-3">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a copy of <i>other</i>.</p>
6546    /// <p>This operation takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a>, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicitly shared</a>. This makes returning a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">linear time</a>.</p>
6547    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">operator=</a>().</p></div>
6548    #[inline(always)]
6549    pub unsafe fn new_copy(
6550        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
6551    ) -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
6552        let ffi_result = {
6553            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_QVector3(
6554                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(v)
6555                    .as_raw_ptr(),
6556            )
6557        };
6558        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
6559    }
6560
6561    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p>
6562    ///
6563    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::pop_back()```</span>.
6564    ///
6565    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
6566    #[inline(always)]
6567    pub unsafe fn pop_back(&self) {
6568        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_pop_back(
6569            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6570        )
6571    }
6572
6573    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p>
6574    ///
6575    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::pop_front()```</span>.
6576    ///
6577    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
6578    #[inline(always)]
6579    pub unsafe fn pop_front(&self) {
6580        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_pop_front(
6581            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6582        )
6583    }
6584
6585    /// <p>Inserts <i>value</i> at the beginning of the vector.</p>
6586    ///
6587    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::prepend(const Qt3DCore::QNode*& t)```</span>.
6588    ///
6589    /// <a href="http://doc.qt.io/qt-5/qvector.html#prepend">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the beginning of the vector.</p>
6590    /// <p>Example:</p>
6591    /// <pre class="cpp">
6592    ///
6593    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
6594    ///   vector<span class="operator">.</span>prepend(<span class="string">"one"</span>);
6595    ///   vector<span class="operator">.</span>prepend(<span class="string">"two"</span>);
6596    ///   vector<span class="operator">.</span>prepend(<span class="string">"three"</span>);
6597    ///   <span class="comment">// vector: ["three", "two", "one"]</span>
6598    ///
6599    /// </pre>
6600    /// <p>This is the same as vector.insert(0, <i>value</i>).</p>
6601    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items in the vector by one position further in memory. If you want a container class that provides a fast prepend() function, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
6602    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
6603    #[inline(always)]
6604    pub unsafe fn prepend(&self, t: *const *mut crate::QNode) {
6605        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_prepend(
6606            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6607            t,
6608        )
6609    }
6610
6611    /// <p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p>
6612    ///
6613    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::push_back(const Qt3DCore::QNode*& t)```</span>.
6614    ///
6615    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p></div>
6616    #[inline(always)]
6617    pub unsafe fn push_back(&self, t: *const *mut crate::QNode) {
6618        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_push_back(
6619            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6620            t,
6621        )
6622    }
6623
6624    /// <p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p>
6625    ///
6626    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::push_front(const Qt3DCore::QNode*& t)```</span>.
6627    ///
6628    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p></div>
6629    #[inline(always)]
6630    pub unsafe fn push_front(&self, t: *const *mut crate::QNode) {
6631        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_push_front(
6632            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6633            t,
6634        )
6635    }
6636
6637    /// <p>This is an overloaded function.</p>
6638    ///
6639    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::remove(int i)```</span>.
6640    ///
6641    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
6642    /// <p>Removes the element at index position <i>i</i>.</p>
6643    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
6644    #[inline(always)]
6645    pub unsafe fn remove_1a(&self, i: ::std::os::raw::c_int) {
6646        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_remove(
6647            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6648            i,
6649        )
6650    }
6651
6652    /// <p>This is an overloaded function.</p>
6653    ///
6654    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::remove(int i, int n)```</span>.
6655    ///
6656    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
6657    /// <p>Removes <i>count</i> elements from the middle of the vector, starting at index position <i>i</i>.</p>
6658    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
6659    #[inline(always)]
6660    pub unsafe fn remove_2a(&self, i: ::std::os::raw::c_int, n: ::std::os::raw::c_int) {
6661        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_remove1(
6662            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6663            i,
6664            n,
6665        )
6666    }
6667
6668    /// <p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
6669    ///
6670    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::removeAll(const Qt3DCore::QNode*& t)```</span>.
6671    ///
6672    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAll">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
6673    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
6674    /// <p>This function was introduced in  Qt 5.4.</p>
6675    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeOne">removeOne</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAll">QList::removeAll</a>().</p></div>
6676    #[inline(always)]
6677    pub unsafe fn remove_all(&self, t: *const *mut crate::QNode) -> ::std::os::raw::c_int {
6678        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_removeAll(
6679            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6680            t,
6681        )
6682    }
6683
6684    /// <p>Removes the element at index position <i>i</i>. Equivalent to</p>
6685    ///
6686    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::removeAt(int i)```</span>.
6687    ///
6688    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i>. Equivalent to</p>
6689    /// <pre class="cpp">
6690    ///
6691    ///   remove(i);
6692    ///
6693    /// </pre>
6694    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
6695    /// <p>This function was introduced in  Qt 5.2.</p>
6696    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAt">QList::removeAt</a>().</p></div>
6697    #[inline(always)]
6698    pub unsafe fn remove_at(&self, i: ::std::os::raw::c_int) {
6699        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_removeAt(
6700            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6701            i,
6702        )
6703    }
6704
6705    /// <p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6706    ///
6707    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::removeFirst()```</span>.
6708    ///
6709    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6710    /// <p>This function was introduced in  Qt 5.1.</p>
6711    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
6712    #[inline(always)]
6713    pub unsafe fn remove_first(&self) {
6714        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_removeFirst(
6715            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6716        )
6717    }
6718
6719    /// <p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6720    ///
6721    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::removeLast()```</span>.
6722    ///
6723    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6724    /// <p>This function was introduced in  Qt 5.1.</p>
6725    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
6726    #[inline(always)]
6727    pub unsafe fn remove_last(&self) {
6728        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_removeLast(
6729            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6730        )
6731    }
6732
6733    /// <p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
6734    ///
6735    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::removeOne(const Qt3DCore::QNode*& t)```</span>.
6736    ///
6737    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeOne">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
6738    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
6739    /// <p>This function was introduced in  Qt 5.4.</p>
6740    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeAll">removeAll</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeOne">QList::removeOne</a>().</p></div>
6741    #[inline(always)]
6742    pub unsafe fn remove_one(&self, t: *const *mut crate::QNode) -> bool {
6743        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_removeOne(
6744            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6745            t,
6746        )
6747    }
6748
6749    /// <p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
6750    ///
6751    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::replace(int i, const Qt3DCore::QNode*& t)```</span>.
6752    ///
6753    /// <a href="http://doc.qt.io/qt-5/qvector.html#replace">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
6754    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
6755    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
6756    #[inline(always)]
6757    pub unsafe fn replace(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QNode) {
6758        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_replace(
6759            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6760            i,
6761            t,
6762        )
6763    }
6764
6765    /// <p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
6766    ///
6767    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::reserve(int size)```</span>.
6768    ///
6769    /// <a href="http://doc.qt.io/qt-5/qvector.html#reserve">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
6770    /// <p>If <i>size</i> is an underestimate, the worst that will happen is that the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will be a bit slower. If <i>size</i> is an overestimate, you may have used more memory than the normal <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> growth strategy would have allocated—or you may have used less.</p>
6771    /// <p>An alternative to reserve() is calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). Whether or not that is faster than reserve() depends on the element type, because <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() default-constructs all elements, and requires assignment to existing entries rather than calling <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), which copy- or move-constructs. For simple types, like <code>int</code> or <code>double</code>, <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() is typically faster, but for anything more complex, you should prefer reserve().</p>
6772    /// <p><b>Warning:</b> If the size passed to <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() was underestimated, you run out of allocated space and into undefined behavior. This problem does not exist with reserve(), because it treats the size as just a hint.</p>
6773    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
6774    #[inline(always)]
6775    pub unsafe fn reserve(&self, size: ::std::os::raw::c_int) {
6776        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_reserve(
6777            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6778            size,
6779        )
6780    }
6781
6782    /// <p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
6783    ///
6784    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::resize(int size)```</span>.
6785    ///
6786    /// <a href="http://doc.qt.io/qt-5/qvector.html#resize">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
6787    /// <p>Since Qt 5.6, resize() doesn't shrink the capacity anymore. To shed excess capacity, use <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
6788    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
6789    #[inline(always)]
6790    pub unsafe fn resize(&self, size: ::std::os::raw::c_int) {
6791        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_resize(
6792            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6793            size,
6794        )
6795    }
6796
6797    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::setSharable(bool sharable)```</span>.
6798    #[inline(always)]
6799    pub unsafe fn set_sharable(&self, sharable: bool) {
6800        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_setSharable(
6801            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6802            sharable,
6803        )
6804    }
6805
6806    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
6807    ///
6808    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::shrink_to_fit()```</span>.
6809    ///
6810    /// <a href="http://doc.qt.io/qt-5/qvector.html#shrink_to_fit">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
6811    /// <p>This function was introduced in  Qt 5.10.</p></div>
6812    #[inline(always)]
6813    #[cfg_attr(
6814        feature = "ritual_rustdoc_nightly",
6815        doc(cfg(any(
6816            cpp_lib_version = "5.11.3",
6817            cpp_lib_version = "5.12.2",
6818            cpp_lib_version = "5.13.0",
6819            cpp_lib_version = "5.14.0"
6820        )))
6821    )]
6822    #[cfg(any(
6823        any(
6824            cpp_lib_version = "5.11.3",
6825            cpp_lib_version = "5.12.2",
6826            cpp_lib_version = "5.13.0",
6827            cpp_lib_version = "5.14.0"
6828        ),
6829        feature = "ritual_rustdoc"
6830    ))]
6831    pub unsafe fn shrink_to_fit(&self) {
6832        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_shrink_to_fit(
6833            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6834        )
6835    }
6836
6837    /// <p>Returns the number of items in the vector.</p>
6838    ///
6839    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::size() const```</span>.
6840    ///
6841    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
6842    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
6843    #[inline(always)]
6844    pub unsafe fn size(&self) -> ::std::os::raw::c_int {
6845        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_size(
6846            self as *const crate::QVectorOfQNode,
6847        )
6848    }
6849
6850    /// <p>Releases any memory not required to store the items.</p>
6851    ///
6852    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::squeeze()```</span>.
6853    ///
6854    /// <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Releases any memory not required to store the items.</p>
6855    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function.</p>
6856    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
6857    #[inline(always)]
6858    pub unsafe fn squeeze(&self) {
6859        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_squeeze(
6860            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6861        )
6862    }
6863
6864    /// <p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
6865    ///
6866    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::startsWith(const Qt3DCore::QNode*& t) const```</span>.
6867    ///
6868    /// <a href="http://doc.qt.io/qt-5/qvector.html#startsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
6869    /// <p>This function was introduced in  Qt 4.5.</p>
6870    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
6871    #[inline(always)]
6872    pub unsafe fn starts_with(&self, t: *const *mut crate::QNode) -> bool {
6873        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_startsWith(
6874            self as *const crate::QVectorOfQNode,
6875            t,
6876        )
6877    }
6878
6879    /// <p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
6880    ///
6881    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::swap(QVector<Qt3DCore::QNode*>& other)```</span>.
6882    ///
6883    /// <a href="http://doc.qt.io/qt-5/qvector.html#swap">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
6884    /// <p>This function was introduced in  Qt 4.8.</p></div>
6885    #[inline(always)]
6886    pub unsafe fn swap(
6887        &self,
6888        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
6889    ) {
6890        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_swap(
6891            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6892            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(other)
6893                .as_raw_ptr() as *mut crate::QVectorOfQNode,
6894        )
6895    }
6896
6897    /// <p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
6898    ///
6899    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNode*>::swapItemsAt(int i, int j)```</span>.
6900    ///
6901    /// <a href="http://doc.qt.io/qt-5/qvector.html#swapItemsAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
6902    /// <p>This function was introduced in  Qt 5.14.</p></div>
6903    #[inline(always)]
6904    #[cfg_attr(
6905        feature = "ritual_rustdoc_nightly",
6906        doc(cfg(cpp_lib_version = "5.14.0"))
6907    )]
6908    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
6909    pub unsafe fn swap_items_at(&self, i: ::std::os::raw::c_int, j: ::std::os::raw::c_int) {
6910        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_swapItemsAt(
6911            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6912            i,
6913            j,
6914        )
6915    }
6916
6917    /// <p>Removes the element at index position <i>i</i> and returns it.</p>
6918    ///
6919    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* QVector<Qt3DCore::QNode*>::takeAt(int i)```</span>.
6920    ///
6921    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i> and returns it.</p>
6922    /// <p>Equivalent to</p>
6923    /// <pre class="cpp">
6924    ///
6925    ///   T t <span class="operator">=</span> at(i);
6926    ///   remove(i);
6927    ///   <span class="keyword">return</span> t;
6928    ///
6929    /// </pre>
6930    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
6931    /// <p>This function was introduced in  Qt 5.2.</p>
6932    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#takeAt">QList::takeAt</a>().</p></div>
6933    #[inline(always)]
6934    pub unsafe fn take_at(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QNode> {
6935        let ffi_result = {
6936            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_takeAt(
6937                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6938                i,
6939            )
6940        };
6941        ::qt_core::QPtr::from_raw(ffi_result)
6942    }
6943
6944    /// <p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6945    ///
6946    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* QVector<Qt3DCore::QNode*>::takeFirst()```</span>.
6947    ///
6948    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6949    /// <p>This function was introduced in  Qt 5.1.</p>
6950    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
6951    #[inline(always)]
6952    pub unsafe fn take_first(&self) -> ::qt_core::QPtr<crate::QNode> {
6953        let ffi_result = {
6954            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_takeFirst(
6955                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6956            )
6957        };
6958        ::qt_core::QPtr::from_raw(ffi_result)
6959    }
6960
6961    /// <p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6962    ///
6963    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* QVector<Qt3DCore::QNode*>::takeLast()```</span>.
6964    ///
6965    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
6966    /// <p>If you don't use the return value, <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>() is more efficient.</p>
6967    /// <p>This function was introduced in  Qt 5.1.</p>
6968    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
6969    #[inline(always)]
6970    pub unsafe fn take_last(&self) -> ::qt_core::QPtr<crate::QNode> {
6971        let ffi_result = {
6972            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_takeLast(
6973                self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
6974            )
6975        };
6976        ::qt_core::QPtr::from_raw(ffi_result)
6977    }
6978
6979    /// <p>Returns the value at index position <i>i</i> in the vector.</p>
6980    ///
6981    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* QVector<Qt3DCore::QNode*>::value(int i) const```</span>.
6982    ///
6983    /// <a href="http://doc.qt.io/qt-5/qvector.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value at index position <i>i</i> in the vector.</p>
6984    /// <p>If the index <i>i</i> is out of bounds, the function returns a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you are certain that <i>i</i> is within bounds, you can use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() instead, which is slightly faster.</p>
6985    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
6986    #[inline(always)]
6987    pub unsafe fn value_1a(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QNode> {
6988        let ffi_result = {
6989            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_value(
6990                self as *const crate::QVectorOfQNode,
6991                i,
6992            )
6993        };
6994        ::qt_core::QPtr::from_raw(ffi_result)
6995    }
6996
6997    /// <p>This is an overloaded function.</p>
6998    ///
6999    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* QVector<Qt3DCore::QNode*>::value(int i, const Qt3DCore::QNode*& defaultValue) const```</span>.
7000    ///
7001    /// <a href="http://doc.qt.io/qt-5/qvector.html#value-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
7002    /// <p>If the index <i>i</i> is out of bounds, the function returns <i>defaultValue</i>.</p></div>
7003    #[inline(always)]
7004    pub unsafe fn value_2a(
7005        &self,
7006        i: ::std::os::raw::c_int,
7007        default_value: *const *mut crate::QNode,
7008    ) -> ::qt_core::QPtr<crate::QNode> {
7009        let ffi_result = {
7010            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_value1(
7011                self as *const crate::QVectorOfQNode,
7012                i,
7013                default_value,
7014            )
7015        };
7016        ::qt_core::QPtr::from_raw(ffi_result)
7017    }
7018}
7019
7020/// <p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
7021///
7022/// C++ class: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>```</span>.
7023///
7024/// <a href="http://doc.qt.io/qt-5/qvector.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
7025/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; is one of Qt's generic <a href="http://doc.qt.io/qt-5/containers.html">container classes</a>. It stores its items in adjacent memory locations and provides fast index-based access.</p>
7026/// <p><a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt;, and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>&lt;T&gt; provide similar APIs and functionality. They are often interchangeable, but there are performance consequences. Here is an overview of use cases:</p>
7027/// <ul>
7028/// <li><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> should be your default first choice. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; will usually give better performance than <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; always stores its items sequentially in memory, where <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt; will allocate its items on the heap unless <code>sizeof(T) &lt;= sizeof(void*)</code> and T has been declared to be either a <code>Q_MOVABLE_TYPE</code> or a <code>Q_PRIMITIVE_TYPE</code> using <a href="http://doc.qt.io/qt-5/qtglobal.html#Q_DECLARE_TYPEINFO">Q_DECLARE_TYPEINFO</a>. See the <a href="http://marcmutz.wordpress.com/effective-qt/containers/#containers-qlist">Pros and Cons of Using QList</a> for an explanation.</li>
7029/// <li>However, <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> is used throughout the Qt APIs for passing parameters and for returning values. Use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> to interface with those APIs.</li>
7030/// <li>If you need a real linked list, which guarantees <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a> insertions mid-list and uses iterators to items rather than indexes, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>.</li>
7031/// </ul>
7032/// <p><b>Note: </b><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a> both guarantee C-compatible array layout. <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> does not. This might be important if your application must interface with a C API.</p><p><b>Note: </b>Iterators into a <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> and references into heap-allocating QLists remain valid as long as the referenced items remain in the container. This is not true for iterators and references into a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and non-heap-allocating QLists.</p><p>Here's an example of a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores integers and a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores <a href="http://doc.qt.io/qt-5/qstring.html">QString</a> values:</p>
7033/// <pre class="cpp">
7034///
7035///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> integerVector;
7036///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> stringVector;
7037///
7038/// </pre>
7039/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> stores its items in a vector (array). Typically, vectors are created with an initial size. For example, the following code constructs a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> with 200 elements:</p>
7040/// <pre class="cpp">
7041///
7042///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span>);
7043///
7044/// </pre>
7045/// <p>The elements are automatically initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you want to initialize the vector with a different value, pass that value as the second argument to the constructor:</p>
7046/// <pre class="cpp">
7047///
7048///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span><span class="operator">,</span> <span class="string">"Pass"</span>);
7049///
7050/// </pre>
7051/// <p>You can also call <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>() at any time to fill the vector with a value.</p>
7052/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> uses 0-based indexes, just like C++ arrays. To access the item at a particular index position, you can use operator[](). On non-const vectors, operator[]() returns a reference to the item that can be used on the left side of an assignment:</p>
7053/// <pre class="cpp">
7054///
7055///   <span class="keyword">if</span> (vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span><span class="operator">=</span> <span class="string">"Liz"</span>)
7056/// &#32;     vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="string">"Elizabeth"</span>;
7057///
7058/// </pre>
7059/// <p>For read-only access, an alternative syntax is to use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>():</p>
7060/// <pre class="cpp">
7061///
7062///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> vector<span class="operator">.</span>size(); <span class="operator">+</span><span class="operator">+</span>i) {
7063/// &#32;     <span class="keyword">if</span> (vector<span class="operator">.</span>at(i) <span class="operator">=</span><span class="operator">=</span> <span class="string">"Alfonso"</span>)
7064/// &#32;   &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"Found Alfonso at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
7065///   }
7066///
7067/// </pre>
7068/// <p><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() can be faster than operator[](), because it never causes a <a href="http://doc.qt.io/qt-5/implicit-sharing.html#deep-copy">deep copy</a> to occur.</p>
7069/// <p>Another way to access the data stored in a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is to call <a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>(). The function returns a pointer to the first item in the vector. You can use the pointer to directly access and modify the elements stored in the vector. The pointer is also useful if you need to pass a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to a function that accepts a plain C++ array.</p>
7070/// <p>If you want to find all occurrences of a particular value in a vector, use <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() or <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>(). The former searches forward starting from a given index position, the latter searches backward. Both return the index of the matching item if they found one; otherwise, they return -1. For example:</p>
7071/// <pre class="cpp">
7072///
7073///   <span class="type">int</span> i <span class="operator">=</span> vector<span class="operator">.</span>indexOf(<span class="string">"Harumi"</span>);
7074///   <span class="keyword">if</span> (i <span class="operator">!</span><span class="operator">=</span> <span class="operator">-</span><span class="number">1</span>)
7075/// &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"First occurrence of Harumi is at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
7076///
7077/// </pre>
7078/// <p>If you simply want to check whether a vector contains a particular value, use <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>(). If you want to find out how many times a particular value occurs in the vector, use <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
7079/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides these basic functions to add, move, and remove items: <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(). With the exception of <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), these functions can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>) for large vectors, because they require moving many items in the vector by one position in memory. If you want a container class that provides fast insertion/removal in the middle, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
7080/// <p>Unlike plain C++ arrays, QVectors can be resized at any time by calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). If the new size is larger than the old size, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> might need to reallocate the whole vector. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> tries to reduce the number of reallocations by preallocating up to twice as much memory as the actual data needs.</p>
7081/// <p>If you know in advance approximately how many items the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will contain, you can call <a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>(), asking <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to preallocate a certain amount of memory. You can also call <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>() to find out how much memory <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> actually allocated.</p>
7082/// <p>Note that using non-const operators and functions can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy of the data. This is due to <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicit sharing</a>.</p>
7083/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s value type must be an <a href="http://doc.qt.io/qt-5/containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> as a value; instead, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> *. A few functions have additional requirements; for example, <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() expect the value type to support <code>operator==()</code>. These requirements are documented on a per-function basis.</p>
7084/// <p>Like the other container classes, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides <a href="http://doc.qt.io/qt-5/containers.html#java-style-iterators">Java-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvectoriterator.html">QVectorIterator</a> and <a href="http://doc.qt.io/qt-5/qmutablevectoriterator.html">QMutableVectorIterator</a>) and <a href="http://doc.qt.io/qt-5/containers.html#stl-style-iterators">STL-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvector.html#const_iterator-typedef">QVector::const_iterator</a> and <a href="http://doc.qt.io/qt-5/qvector.html#iterator-typedefx">QVector::iterator</a>). In practice, these are rarely used, because you can use indexes into the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>.</p>
7085/// <p>In addition to <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>, Qt also provides <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>, a very low-level class with little functionality that is optimized for speed.</p>
7086/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> does <i>not</i> support inserting, prepending, appending or replacing with references to its own values. Doing so will cause your application to abort with an error message.</p>
7087/// <a name="more-information-on-using-qt-containers"></a>
7088/// <h4>More Information on Using Qt Containers</h4>
7089/// <p>For a detailed discussion comparing Qt containers with each other and with STL containers, see <a href="http://marcmutz.wordpress.com/effective-qt/containers/">Understand the Qt Containers</a>.</p></div>
7090#[repr(C)]
7091pub struct QVectorOfQNodeId {
7092    _unused: u8,
7093}
7094impl QVectorOfQNodeId {
7095    /// <p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
7096    ///
7097    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>& QVector<Qt3DCore::QNodeId>::operator+=(const QVector<Qt3DCore::QNodeId>& l)```</span>.
7098    ///
7099    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
7100    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">operator+</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>().</p></div>
7101    #[inline(always)]
7102    pub unsafe fn add_assign_q_vector_of_q_node_id(
7103        &self,
7104        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
7105    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeId> {
7106        let ffi_result = {
7107            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator__4(
7108                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7109                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(l)
7110                    .as_raw_ptr(),
7111            )
7112        };
7113        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7114    }
7115
7116    /// <p>This is an overloaded function.</p>
7117    ///
7118    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>& QVector<Qt3DCore::QNodeId>::operator+=(const Qt3DCore::QNodeId& t)```</span>.
7119    ///
7120    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
7121    /// <p>Appends <i>value</i> to the vector.</p>
7122    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>().</p></div>
7123    #[inline(always)]
7124    pub unsafe fn add_assign_q_node_id(
7125        &self,
7126        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7127    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeId> {
7128        let ffi_result = {
7129            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator__5(
7130                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7131                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7132            )
7133        };
7134        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7135    }
7136
7137    /// <p>Inserts <i>value</i> at the end of the vector.</p>
7138    ///
7139    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::append(const Qt3DCore::QNodeId& t)```</span>.
7140    ///
7141    /// <a href="http://doc.qt.io/qt-5/qvector.html#append">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the end of the vector.</p>
7142    /// <p>Example:</p>
7143    /// <pre class="cpp">
7144    ///
7145    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
7146    ///   vector<span class="operator">.</span>append(<span class="string">"one"</span>);
7147    ///   vector<span class="operator">.</span>append(<span class="string">"two"</span>);
7148    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> three <span class="operator">=</span> <span class="string">"three"</span>;
7149    ///   vector<span class="operator">.</span>append(three);
7150    ///   <span class="comment">// vector: ["one", "two", "three"]</span>
7151    ///   <span class="comment">// three: "three"</span>
7152    ///
7153    /// </pre>
7154    /// <p>This is the same as calling resize(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() + 1) and assigning <i>value</i> to the new last element in the vector.</p>
7155    /// <p>This operation is relatively fast, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> typically allocates more memory than necessary, so it can grow without reallocating the entire vector each time.</p>
7156    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
7157    #[inline(always)]
7158    pub unsafe fn append_q_node_id(
7159        &self,
7160        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7161    ) {
7162        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_append(
7163            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7164            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7165        )
7166    }
7167
7168    /// <p>This is an overloaded function.</p>
7169    ///
7170    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::append(const QVector<Qt3DCore::QNodeId>& l)```</span>.
7171    ///
7172    /// <a href="http://doc.qt.io/qt-5/qvector.html#append-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
7173    /// <p>Appends the items of the <i>value</i> vector to this vector.</p>
7174    /// <p>This function was introduced in  Qt 5.5.</p>
7175    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
7176    #[inline(always)]
7177    pub unsafe fn append_q_vector_of_q_node_id(
7178        &self,
7179        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
7180    ) {
7181        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_append2(
7182            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7183            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(l)
7184                .as_raw_ptr(),
7185        )
7186    }
7187
7188    /// <p>Returns the item at index position <i>i</i> in the vector.</p>
7189    ///
7190    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::at(int i) const```</span>.
7191    ///
7192    /// <a href="http://doc.qt.io/qt-5/qvector.html#at">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> in the vector.</p>
7193    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
7194    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
7195    #[inline(always)]
7196    pub unsafe fn at(&self, i: ::std::os::raw::c_int) -> ::cpp_core::Ref<crate::QNodeId> {
7197        let ffi_result = {
7198            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_at(
7199                self as *const crate::QVectorOfQNodeId,
7200                i,
7201            )
7202        };
7203        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7204            .expect("attempted to construct a null Ref")
7205    }
7206
7207    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p>
7208    ///
7209    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::back()```</span>.
7210    ///
7211    /// <a href="http://doc.qt.io/qt-5/qvector.html#back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
7212    #[inline(always)]
7213    pub unsafe fn back_mut(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7214        let ffi_result = {
7215            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_back(
7216                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7217            )
7218        };
7219        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7220    }
7221
7222    /// <p>This is an overloaded function.</p>
7223    ///
7224    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::back() const```</span>.
7225    ///
7226    /// <a href="http://doc.qt.io/qt-5/qvector.html#back-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
7227    #[inline(always)]
7228    pub unsafe fn back(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7229        let ffi_result = {
7230            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_back1(
7231                self as *const crate::QVectorOfQNodeId,
7232            )
7233        };
7234        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7235            .expect("attempted to construct a null Ref")
7236    }
7237
7238    /// <p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
7239    ///
7240    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::capacity() const```</span>.
7241    ///
7242    /// <a href="http://doc.qt.io/qt-5/qvector.html#capacity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
7243    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function. If you want to know how many items are in the vector, call <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
7244    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
7245    #[inline(always)]
7246    pub unsafe fn capacity(&self) -> ::std::os::raw::c_int {
7247        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_capacity(
7248            self as *const crate::QVectorOfQNodeId,
7249        )
7250    }
7251
7252    /// <p>Removes all the elements from the vector.</p>
7253    ///
7254    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::clear()```</span>.
7255    ///
7256    /// <a href="http://doc.qt.io/qt-5/qvector.html#clear">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all the elements from the vector.</p>
7257    /// <p><b>Note: </b>Until Qt 5.6, this also released the memory used by the vector. From Qt 5.7, the capacity is preserved. To shed all capacity, swap with a default-constructed vector:</p><pre class="cpp">
7258    ///
7259    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span> v <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>;
7260    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span>()<span class="operator">.</span>swap(v);
7261    ///   Q_ASSERT(v<span class="operator">.</span>capacity() <span class="operator">=</span><span class="operator">=</span> <span class="number">0</span>);
7262    ///
7263    /// </pre>
7264    /// <p>or call <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
7265    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
7266    #[inline(always)]
7267    pub unsafe fn clear(&self) {
7268        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_clear(
7269            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7270        )
7271    }
7272
7273    /// <p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
7274    ///
7275    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId* QVector<Qt3DCore::QNodeId>::constData() const```</span>.
7276    ///
7277    /// <a href="http://doc.qt.io/qt-5/qvector.html#constData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
7278    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
7279    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
7280    #[inline(always)]
7281    pub unsafe fn const_data(&self) -> ::cpp_core::Ptr<crate::QNodeId> {
7282        let ffi_result = {
7283            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_constData(
7284                self as *const crate::QVectorOfQNodeId,
7285            )
7286        };
7287        ::cpp_core::Ptr::from_raw(ffi_result as *mut crate::QNodeId)
7288    }
7289
7290    /// <p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
7291    ///
7292    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::constFirst() const```</span>.
7293    ///
7294    /// <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
7295    /// <p>This function was introduced in  Qt 5.6.</p>
7296    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
7297    #[inline(always)]
7298    pub unsafe fn const_first(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7299        let ffi_result = {
7300            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_constFirst(
7301                self as *const crate::QVectorOfQNodeId,
7302            )
7303        };
7304        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7305            .expect("attempted to construct a null Ref")
7306    }
7307
7308    /// <p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
7309    ///
7310    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::constLast() const```</span>.
7311    ///
7312    /// <a href="http://doc.qt.io/qt-5/qvector.html#constLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
7313    /// <p>This function was introduced in  Qt 5.6.</p>
7314    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
7315    #[inline(always)]
7316    pub unsafe fn const_last(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7317        let ffi_result = {
7318            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_constLast(
7319                self as *const crate::QVectorOfQNodeId,
7320            )
7321        };
7322        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7323            .expect("attempted to construct a null Ref")
7324    }
7325
7326    /// <p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
7327    ///
7328    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::contains(const Qt3DCore::QNodeId& t) const```</span>.
7329    ///
7330    /// <a href="http://doc.qt.io/qt-5/qvector.html#contains">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
7331    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
7332    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p></div>
7333    #[inline(always)]
7334    pub unsafe fn contains(
7335        &self,
7336        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7337    ) -> bool {
7338        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_contains(
7339            self as *const crate::QVectorOfQNodeId,
7340            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7341        )
7342    }
7343
7344    /// <p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p>
7345    ///
7346    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>& QVector<Qt3DCore::QNodeId>::operator=(const QVector<Qt3DCore::QNodeId>& v)```</span>.
7347    ///
7348    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p></div>
7349    #[inline(always)]
7350    pub unsafe fn copy_from(
7351        &self,
7352        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
7353    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeId> {
7354        let ffi_result = {
7355            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator_(
7356                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7357                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(v)
7358                    .as_raw_ptr(),
7359            )
7360        };
7361        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7362    }
7363
7364    /// <p>Returns the number of occurrences of <i>value</i> in the vector.</p>
7365    ///
7366    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::count(const Qt3DCore::QNodeId& t) const```</span>.
7367    ///
7368    /// <a href="http://doc.qt.io/qt-5/qvector.html#count">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of occurrences of <i>value</i> in the vector.</p>
7369    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
7370    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
7371    #[inline(always)]
7372    pub unsafe fn count_1a(
7373        &self,
7374        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7375    ) -> ::std::os::raw::c_int {
7376        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_count(
7377            self as *const crate::QVectorOfQNodeId,
7378            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7379        )
7380    }
7381
7382    /// <p>This is an overloaded function.</p>
7383    ///
7384    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::count() const```</span>.
7385    ///
7386    /// <a href="http://doc.qt.io/qt-5/qvector.html#count-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
7387    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
7388    #[inline(always)]
7389    pub unsafe fn count_0a(&self) -> ::std::os::raw::c_int {
7390        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_count1(
7391            self as *const crate::QVectorOfQNodeId,
7392        )
7393    }
7394
7395    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
7396    ///
7397    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId* QVector<Qt3DCore::QNodeId>::data()```</span>.
7398    ///
7399    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
7400    /// <p>Example:</p>
7401    /// <pre class="cpp">
7402    ///
7403    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
7404    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
7405    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
7406    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
7407    ///
7408    /// </pre>
7409    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
7410    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
7411    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
7412    #[inline(always)]
7413    pub unsafe fn data_mut(&self) -> ::cpp_core::Ptr<crate::QNodeId> {
7414        let ffi_result = {
7415            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_data(
7416                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7417            )
7418        };
7419        ::cpp_core::Ptr::from_raw(ffi_result)
7420    }
7421
7422    /// <p>This is an overloaded function.</p>
7423    ///
7424    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId* QVector<Qt3DCore::QNodeId>::data() const```</span>.
7425    ///
7426    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
7427    #[inline(always)]
7428    pub unsafe fn data(&self) -> ::cpp_core::Ptr<crate::QNodeId> {
7429        let ffi_result = {
7430            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_data1(
7431                self as *const crate::QVectorOfQNodeId,
7432            )
7433        };
7434        ::cpp_core::Ptr::from_raw(ffi_result as *mut crate::QNodeId)
7435    }
7436
7437    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::detach()```</span>.
7438    #[inline(always)]
7439    pub unsafe fn detach(&self) {
7440        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_detach(
7441            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7442        )
7443    }
7444
7445    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p>
7446    ///
7447    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::empty() const```</span>.
7448    ///
7449    /// <a href="http://doc.qt.io/qt-5/qvector.html#empty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p></div>
7450    #[inline(always)]
7451    pub unsafe fn empty(&self) -> bool {
7452        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_empty(
7453            self as *const crate::QVectorOfQNodeId,
7454        )
7455    }
7456
7457    /// <p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
7458    ///
7459    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::endsWith(const Qt3DCore::QNodeId& t) const```</span>.
7460    ///
7461    /// <a href="http://doc.qt.io/qt-5/qvector.html#endsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
7462    /// <p>This function was introduced in  Qt 4.5.</p>
7463    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
7464    #[inline(always)]
7465    pub unsafe fn ends_with(
7466        &self,
7467        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7468    ) -> bool {
7469        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_endsWith(
7470            self as *const crate::QVectorOfQNodeId,
7471            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7472        )
7473    }
7474
7475    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
7476    ///
7477    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>& QVector<Qt3DCore::QNodeId>::fill(const Qt3DCore::QNodeId& t, int size = …)```</span>.
7478    ///
7479    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
7480    /// <p>Example:</p>
7481    /// <pre class="cpp">
7482    ///
7483    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
7484    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
7485    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
7486    ///
7487    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
7488    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
7489    ///
7490    /// </pre>
7491    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
7492    #[inline(always)]
7493    pub unsafe fn fill_2a(
7494        &self,
7495        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7496        size: ::std::os::raw::c_int,
7497    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeId> {
7498        let ffi_result = {
7499            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_fill(
7500                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7501                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7502                size,
7503            )
7504        };
7505        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7506    }
7507
7508    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
7509    ///
7510    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>& QVector<Qt3DCore::QNodeId>::fill(const Qt3DCore::QNodeId& t)```</span>.
7511    ///
7512    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
7513    /// <p>Example:</p>
7514    /// <pre class="cpp">
7515    ///
7516    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
7517    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
7518    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
7519    ///
7520    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
7521    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
7522    ///
7523    /// </pre>
7524    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
7525    #[inline(always)]
7526    pub unsafe fn fill_1a(
7527        &self,
7528        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7529    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeId> {
7530        let ffi_result = {
7531            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_fill1(
7532                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7533                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7534            )
7535        };
7536        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7537    }
7538
7539    /// <p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
7540    ///
7541    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::first()```</span>.
7542    ///
7543    /// <a href="http://doc.qt.io/qt-5/qvector.html#first">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
7544    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>().</p></div>
7545    #[inline(always)]
7546    pub unsafe fn first_mut(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7547        let ffi_result = {
7548            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_first(
7549                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7550            )
7551        };
7552        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7553    }
7554
7555    /// <p>This is an overloaded function.</p>
7556    ///
7557    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::first() const```</span>.
7558    ///
7559    /// <a href="http://doc.qt.io/qt-5/qvector.html#first-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
7560    #[inline(always)]
7561    pub unsafe fn first(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7562        let ffi_result = {
7563            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_first1(
7564                self as *const crate::QVectorOfQNodeId,
7565            )
7566        };
7567        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7568            .expect("attempted to construct a null Ref")
7569    }
7570
7571    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p>
7572    ///
7573    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::front()```</span>.
7574    ///
7575    /// <a href="http://doc.qt.io/qt-5/qvector.html#front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
7576    #[inline(always)]
7577    pub unsafe fn front_mut(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7578        let ffi_result = {
7579            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_front(
7580                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7581            )
7582        };
7583        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7584    }
7585
7586    /// <p>This is an overloaded function.</p>
7587    ///
7588    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::front() const```</span>.
7589    ///
7590    /// <a href="http://doc.qt.io/qt-5/qvector.html#front-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
7591    #[inline(always)]
7592    pub unsafe fn front(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7593        let ffi_result = {
7594            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_front1(
7595                self as *const crate::QVectorOfQNodeId,
7596            )
7597        };
7598        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7599            .expect("attempted to construct a null Ref")
7600    }
7601
7602    /// <p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
7603    ///
7604    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::operator[](int i)```</span>.
7605    ///
7606    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
7607    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
7608    /// <p>Note that using non-const operators can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy.</p>
7609    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>().</p></div>
7610    #[inline(always)]
7611    pub unsafe fn index_mut(&self, i: ::std::os::raw::c_int) -> ::cpp_core::Ref<crate::QNodeId> {
7612        let ffi_result = {
7613            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator__2(
7614                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7615                i,
7616            )
7617        };
7618        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7619    }
7620
7621    /// <p>This is an overloaded function.</p>
7622    ///
7623    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::operator[](int i) const```</span>.
7624    ///
7625    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
7626    /// <p>Same as at(<i>i</i>).</p></div>
7627    #[inline(always)]
7628    pub unsafe fn index(&self, i: ::std::os::raw::c_int) -> ::cpp_core::Ref<crate::QNodeId> {
7629        let ffi_result = {
7630            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator__3(
7631                self as *const crate::QVectorOfQNodeId,
7632                i,
7633            )
7634        };
7635        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7636            .expect("attempted to construct a null Ref")
7637    }
7638
7639    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
7640    ///
7641    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::indexOf(const Qt3DCore::QNodeId& t, int from = …) const```</span>.
7642    ///
7643    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
7644    /// <p>Example:</p>
7645    /// <pre class="cpp">
7646    ///
7647    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
7648    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
7649    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
7650    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
7651    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
7652    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
7653    ///
7654    /// </pre>
7655    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
7656    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
7657    #[inline(always)]
7658    pub unsafe fn index_of_2a(
7659        &self,
7660        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7661        from: ::std::os::raw::c_int,
7662    ) -> ::std::os::raw::c_int {
7663        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_indexOf(
7664            self as *const crate::QVectorOfQNodeId,
7665            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7666            from,
7667        )
7668    }
7669
7670    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
7671    ///
7672    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::indexOf(const Qt3DCore::QNodeId& t) const```</span>.
7673    ///
7674    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
7675    /// <p>Example:</p>
7676    /// <pre class="cpp">
7677    ///
7678    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
7679    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
7680    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
7681    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
7682    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
7683    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
7684    ///
7685    /// </pre>
7686    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
7687    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
7688    #[inline(always)]
7689    pub unsafe fn index_of_1a(
7690        &self,
7691        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7692    ) -> ::std::os::raw::c_int {
7693        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_indexOf1(
7694            self as *const crate::QVectorOfQNodeId,
7695            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7696        )
7697    }
7698
7699    /// <p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
7700    ///
7701    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::insert(int i, const Qt3DCore::QNodeId& t)```</span>.
7702    ///
7703    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
7704    /// <p>Example:</p>
7705    /// <pre class="cpp">
7706    ///
7707    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
7708    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"alpha"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"beta"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"delta"</span>;
7709    ///   vector<span class="operator">.</span>insert(<span class="number">2</span><span class="operator">,</span> <span class="string">"gamma"</span>);
7710    ///   <span class="comment">// vector: ["alpha", "beta", "gamma", "delta"]</span>
7711    ///
7712    /// </pre>
7713    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items at indexes <i>i</i> and above by one position further in memory. If you want a container class that provides a fast insert() function, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
7714    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
7715    #[inline(always)]
7716    pub unsafe fn insert_2a(
7717        &self,
7718        i: ::std::os::raw::c_int,
7719        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7720    ) {
7721        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_insert(
7722            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7723            i,
7724            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7725        )
7726    }
7727
7728    /// <p>This is an overloaded function.</p>
7729    ///
7730    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::insert(int i, int n, const Qt3DCore::QNodeId& t)```</span>.
7731    ///
7732    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
7733    /// <p>Inserts <i>count</i> copies of <i>value</i> at index position <i>i</i> in the vector.</p>
7734    /// <p>Example:</p>
7735    /// <pre class="cpp">
7736    ///
7737    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">double</span><span class="operator">&gt;</span> vector;
7738    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2.718</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1.442</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">0.4342</span>;
7739    ///   vector<span class="operator">.</span>insert(<span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">9.9</span>);
7740    ///   <span class="comment">// vector: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]</span>
7741    ///
7742    /// </pre></div>
7743    #[inline(always)]
7744    pub unsafe fn insert_3a(
7745        &self,
7746        i: ::std::os::raw::c_int,
7747        n: ::std::os::raw::c_int,
7748        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7749    ) {
7750        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_insert1(
7751            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7752            i,
7753            n,
7754            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7755        )
7756    }
7757
7758    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::isDetached() const```</span>.
7759    #[inline(always)]
7760    pub unsafe fn is_detached(&self) -> bool {
7761        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_isDetached(
7762            self as *const crate::QVectorOfQNodeId,
7763        )
7764    }
7765
7766    /// <p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
7767    ///
7768    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::isEmpty() const```</span>.
7769    ///
7770    /// <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
7771    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
7772    #[inline(always)]
7773    pub unsafe fn is_empty(&self) -> bool {
7774        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_isEmpty(
7775            self as *const crate::QVectorOfQNodeId,
7776        )
7777    }
7778
7779    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::isSharedWith(const QVector<Qt3DCore::QNodeId>& other) const```</span>.
7780    #[inline(always)]
7781    pub unsafe fn is_shared_with(
7782        &self,
7783        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
7784    ) -> bool {
7785        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_isSharedWith(
7786            self as *const crate::QVectorOfQNodeId,
7787            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(other)
7788                .as_raw_ptr(),
7789        )
7790    }
7791
7792    /// <p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
7793    ///
7794    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::last()```</span>.
7795    ///
7796    /// <a href="http://doc.qt.io/qt-5/qvector.html#last">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
7797    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>().</p></div>
7798    #[inline(always)]
7799    pub unsafe fn last_mut(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7800        let ffi_result = {
7801            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_last(
7802                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7803            )
7804        };
7805        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
7806    }
7807
7808    /// <p>This is an overloaded function.</p>
7809    ///
7810    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId& QVector<Qt3DCore::QNodeId>::last() const```</span>.
7811    ///
7812    /// <a href="http://doc.qt.io/qt-5/qvector.html#last-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
7813    #[inline(always)]
7814    pub unsafe fn last(&self) -> ::cpp_core::Ref<crate::QNodeId> {
7815        let ffi_result = {
7816            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_last1(
7817                self as *const crate::QVectorOfQNodeId,
7818            )
7819        };
7820        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeId)
7821            .expect("attempted to construct a null Ref")
7822    }
7823
7824    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
7825    ///
7826    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::lastIndexOf(const Qt3DCore::QNodeId& t, int from = …) const```</span>.
7827    ///
7828    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
7829    /// <p>Example:</p>
7830    /// <pre class="cpp">
7831    ///
7832    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
7833    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
7834    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
7835    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
7836    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
7837    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
7838    ///
7839    /// </pre>
7840    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
7841    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
7842    #[inline(always)]
7843    pub unsafe fn last_index_of_2a(
7844        &self,
7845        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7846        from: ::std::os::raw::c_int,
7847    ) -> ::std::os::raw::c_int {
7848        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_lastIndexOf(
7849            self as *const crate::QVectorOfQNodeId,
7850            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7851            from,
7852        )
7853    }
7854
7855    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
7856    ///
7857    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::lastIndexOf(const Qt3DCore::QNodeId& t) const```</span>.
7858    ///
7859    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
7860    /// <p>Example:</p>
7861    /// <pre class="cpp">
7862    ///
7863    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
7864    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
7865    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
7866    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
7867    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
7868    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
7869    ///
7870    /// </pre>
7871    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
7872    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
7873    #[inline(always)]
7874    pub unsafe fn last_index_of_1a(
7875        &self,
7876        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7877    ) -> ::std::os::raw::c_int {
7878        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_lastIndexOf1(
7879            self as *const crate::QVectorOfQNodeId,
7880            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7881        )
7882    }
7883
7884    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
7885    ///
7886    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::length() const```</span>.
7887    ///
7888    /// <a href="http://doc.qt.io/qt-5/qvector.html#length">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
7889    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
7890    /// <p>This function was introduced in  Qt 5.2.</p>
7891    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#length">QList::length</a>().</p></div>
7892    #[inline(always)]
7893    pub unsafe fn length(&self) -> ::std::os::raw::c_int {
7894        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_length(
7895            self as *const crate::QVectorOfQNodeId,
7896        )
7897    }
7898
7899    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
7900    ///
7901    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId> QVector<Qt3DCore::QNodeId>::mid(int pos, int len = …) const```</span>.
7902    ///
7903    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
7904    #[inline(always)]
7905    pub unsafe fn mid_2a(
7906        &self,
7907        pos: ::std::os::raw::c_int,
7908        len: ::std::os::raw::c_int,
7909    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeId> {
7910        let ffi_result = {
7911            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_mid(
7912                self as *const crate::QVectorOfQNodeId,
7913                pos,
7914                len,
7915            )
7916        };
7917        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
7918    }
7919
7920    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
7921    ///
7922    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId> QVector<Qt3DCore::QNodeId>::mid(int pos) const```</span>.
7923    ///
7924    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
7925    #[inline(always)]
7926    pub unsafe fn mid_1a(
7927        &self,
7928        pos: ::std::os::raw::c_int,
7929    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeId> {
7930        let ffi_result = {
7931            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_mid1(
7932                self as *const crate::QVectorOfQNodeId,
7933                pos,
7934            )
7935        };
7936        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
7937    }
7938
7939    /// <p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
7940    ///
7941    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::move(int from, int to)```</span>.
7942    ///
7943    /// <a href="http://doc.qt.io/qt-5/qvector.html#move">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
7944    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
7945    /// <p>This function was introduced in  Qt 5.6.</p>
7946    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qlist.html#move">QList::move</a>().</p></div>
7947    #[inline(always)]
7948    pub unsafe fn move_(&self, from: ::std::os::raw::c_int, to: ::std::os::raw::c_int) {
7949        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_move(
7950            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
7951            from,
7952            to,
7953        )
7954    }
7955
7956    /// <p>Constructs an empty vector.</p>
7957    ///
7958    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeId>::QVector()```</span>.
7959    ///
7960    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs an empty vector.</p>
7961    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
7962    #[inline(always)]
7963    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QVectorOfQNodeId> {
7964        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_QVector() };
7965        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
7966    }
7967
7968    /// <p>Constructs a vector with an initial size of <i>size</i> elements.</p>
7969    ///
7970    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeId>::QVector(int size)```</span>.
7971    ///
7972    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements.</p>
7973    /// <p>The elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>.</p>
7974    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
7975    #[inline(always)]
7976    pub unsafe fn new_1a(
7977        size: ::std::os::raw::c_int,
7978    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeId> {
7979        let ffi_result =
7980            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_QVector1(size) };
7981        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
7982    }
7983
7984    /// <p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
7985    ///
7986    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeId>::QVector(int size, const Qt3DCore::QNodeId& t)```</span>.
7987    ///
7988    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
7989    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
7990    #[inline(always)]
7991    pub unsafe fn new_2a(
7992        size: ::std::os::raw::c_int,
7993        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
7994    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeId> {
7995        let ffi_result = {
7996            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_QVector2(
7997                size,
7998                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
7999            )
8000        };
8001        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
8002    }
8003
8004    /// <p>Constructs a copy of <i>other</i>.</p>
8005    ///
8006    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeId>::QVector(const QVector<Qt3DCore::QNodeId>& v)```</span>.
8007    ///
8008    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-3">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a copy of <i>other</i>.</p>
8009    /// <p>This operation takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a>, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicitly shared</a>. This makes returning a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">linear time</a>.</p>
8010    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">operator=</a>().</p></div>
8011    #[inline(always)]
8012    pub unsafe fn new_copy(
8013        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
8014    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeId> {
8015        let ffi_result = {
8016            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_QVector3(
8017                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(v)
8018                    .as_raw_ptr(),
8019            )
8020        };
8021        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
8022    }
8023
8024    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p>
8025    ///
8026    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::pop_back()```</span>.
8027    ///
8028    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
8029    #[inline(always)]
8030    pub unsafe fn pop_back(&self) {
8031        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_pop_back(
8032            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8033        )
8034    }
8035
8036    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p>
8037    ///
8038    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::pop_front()```</span>.
8039    ///
8040    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
8041    #[inline(always)]
8042    pub unsafe fn pop_front(&self) {
8043        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_pop_front(
8044            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8045        )
8046    }
8047
8048    /// <p>Inserts <i>value</i> at the beginning of the vector.</p>
8049    ///
8050    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::prepend(const Qt3DCore::QNodeId& t)```</span>.
8051    ///
8052    /// <a href="http://doc.qt.io/qt-5/qvector.html#prepend">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the beginning of the vector.</p>
8053    /// <p>Example:</p>
8054    /// <pre class="cpp">
8055    ///
8056    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
8057    ///   vector<span class="operator">.</span>prepend(<span class="string">"one"</span>);
8058    ///   vector<span class="operator">.</span>prepend(<span class="string">"two"</span>);
8059    ///   vector<span class="operator">.</span>prepend(<span class="string">"three"</span>);
8060    ///   <span class="comment">// vector: ["three", "two", "one"]</span>
8061    ///
8062    /// </pre>
8063    /// <p>This is the same as vector.insert(0, <i>value</i>).</p>
8064    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items in the vector by one position further in memory. If you want a container class that provides a fast prepend() function, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
8065    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
8066    #[inline(always)]
8067    pub unsafe fn prepend(&self, t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>) {
8068        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_prepend(
8069            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8070            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
8071        )
8072    }
8073
8074    /// <p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p>
8075    ///
8076    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::push_back(const Qt3DCore::QNodeId& t)```</span>.
8077    ///
8078    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p></div>
8079    #[inline(always)]
8080    pub unsafe fn push_back(&self, t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>) {
8081        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_push_back(
8082            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8083            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
8084        )
8085    }
8086
8087    /// <p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p>
8088    ///
8089    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::push_front(const Qt3DCore::QNodeId& t)```</span>.
8090    ///
8091    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p></div>
8092    #[inline(always)]
8093    pub unsafe fn push_front(&self, t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>) {
8094        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_push_front(
8095            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8096            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
8097        )
8098    }
8099
8100    /// <p>This is an overloaded function.</p>
8101    ///
8102    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::remove(int i)```</span>.
8103    ///
8104    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
8105    /// <p>Removes the element at index position <i>i</i>.</p>
8106    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
8107    #[inline(always)]
8108    pub unsafe fn remove_1a(&self, i: ::std::os::raw::c_int) {
8109        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_remove(
8110            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8111            i,
8112        )
8113    }
8114
8115    /// <p>This is an overloaded function.</p>
8116    ///
8117    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::remove(int i, int n)```</span>.
8118    ///
8119    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
8120    /// <p>Removes <i>count</i> elements from the middle of the vector, starting at index position <i>i</i>.</p>
8121    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
8122    #[inline(always)]
8123    pub unsafe fn remove_2a(&self, i: ::std::os::raw::c_int, n: ::std::os::raw::c_int) {
8124        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_remove1(
8125            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8126            i,
8127            n,
8128        )
8129    }
8130
8131    /// <p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
8132    ///
8133    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::removeAll(const Qt3DCore::QNodeId& t)```</span>.
8134    ///
8135    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAll">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
8136    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
8137    /// <p>This function was introduced in  Qt 5.4.</p>
8138    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeOne">removeOne</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAll">QList::removeAll</a>().</p></div>
8139    #[inline(always)]
8140    pub unsafe fn remove_all(
8141        &self,
8142        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
8143    ) -> ::std::os::raw::c_int {
8144        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_removeAll(
8145            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8146            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
8147        )
8148    }
8149
8150    /// <p>Removes the element at index position <i>i</i>. Equivalent to</p>
8151    ///
8152    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::removeAt(int i)```</span>.
8153    ///
8154    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i>. Equivalent to</p>
8155    /// <pre class="cpp">
8156    ///
8157    ///   remove(i);
8158    ///
8159    /// </pre>
8160    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
8161    /// <p>This function was introduced in  Qt 5.2.</p>
8162    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAt">QList::removeAt</a>().</p></div>
8163    #[inline(always)]
8164    pub unsafe fn remove_at(&self, i: ::std::os::raw::c_int) {
8165        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_removeAt(
8166            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8167            i,
8168        )
8169    }
8170
8171    /// <p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8172    ///
8173    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::removeFirst()```</span>.
8174    ///
8175    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8176    /// <p>This function was introduced in  Qt 5.1.</p>
8177    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
8178    #[inline(always)]
8179    pub unsafe fn remove_first(&self) {
8180        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_removeFirst(
8181            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8182        )
8183    }
8184
8185    /// <p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8186    ///
8187    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::removeLast()```</span>.
8188    ///
8189    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8190    /// <p>This function was introduced in  Qt 5.1.</p>
8191    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
8192    #[inline(always)]
8193    pub unsafe fn remove_last(&self) {
8194        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_removeLast(
8195            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8196        )
8197    }
8198
8199    /// <p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
8200    ///
8201    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::removeOne(const Qt3DCore::QNodeId& t)```</span>.
8202    ///
8203    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeOne">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
8204    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
8205    /// <p>This function was introduced in  Qt 5.4.</p>
8206    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeAll">removeAll</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeOne">QList::removeOne</a>().</p></div>
8207    #[inline(always)]
8208    pub unsafe fn remove_one(
8209        &self,
8210        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
8211    ) -> bool {
8212        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_removeOne(
8213            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8214            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
8215        )
8216    }
8217
8218    /// <p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
8219    ///
8220    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::replace(int i, const Qt3DCore::QNodeId& t)```</span>.
8221    ///
8222    /// <a href="http://doc.qt.io/qt-5/qvector.html#replace">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
8223    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
8224    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
8225    #[inline(always)]
8226    pub unsafe fn replace(
8227        &self,
8228        i: ::std::os::raw::c_int,
8229        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
8230    ) {
8231        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_replace(
8232            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8233            i,
8234            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
8235        )
8236    }
8237
8238    /// <p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
8239    ///
8240    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::reserve(int size)```</span>.
8241    ///
8242    /// <a href="http://doc.qt.io/qt-5/qvector.html#reserve">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
8243    /// <p>If <i>size</i> is an underestimate, the worst that will happen is that the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will be a bit slower. If <i>size</i> is an overestimate, you may have used more memory than the normal <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> growth strategy would have allocated—or you may have used less.</p>
8244    /// <p>An alternative to reserve() is calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). Whether or not that is faster than reserve() depends on the element type, because <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() default-constructs all elements, and requires assignment to existing entries rather than calling <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), which copy- or move-constructs. For simple types, like <code>int</code> or <code>double</code>, <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() is typically faster, but for anything more complex, you should prefer reserve().</p>
8245    /// <p><b>Warning:</b> If the size passed to <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() was underestimated, you run out of allocated space and into undefined behavior. This problem does not exist with reserve(), because it treats the size as just a hint.</p>
8246    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
8247    #[inline(always)]
8248    pub unsafe fn reserve(&self, size: ::std::os::raw::c_int) {
8249        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_reserve(
8250            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8251            size,
8252        )
8253    }
8254
8255    /// <p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
8256    ///
8257    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::resize(int size)```</span>.
8258    ///
8259    /// <a href="http://doc.qt.io/qt-5/qvector.html#resize">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
8260    /// <p>Since Qt 5.6, resize() doesn't shrink the capacity anymore. To shed excess capacity, use <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
8261    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
8262    #[inline(always)]
8263    pub unsafe fn resize(&self, size: ::std::os::raw::c_int) {
8264        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_resize(
8265            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8266            size,
8267        )
8268    }
8269
8270    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::setSharable(bool sharable)```</span>.
8271    #[inline(always)]
8272    pub unsafe fn set_sharable(&self, sharable: bool) {
8273        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_setSharable(
8274            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8275            sharable,
8276        )
8277    }
8278
8279    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
8280    ///
8281    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::shrink_to_fit()```</span>.
8282    ///
8283    /// <a href="http://doc.qt.io/qt-5/qvector.html#shrink_to_fit">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
8284    /// <p>This function was introduced in  Qt 5.10.</p></div>
8285    #[inline(always)]
8286    #[cfg_attr(
8287        feature = "ritual_rustdoc_nightly",
8288        doc(cfg(any(
8289            cpp_lib_version = "5.11.3",
8290            cpp_lib_version = "5.12.2",
8291            cpp_lib_version = "5.13.0",
8292            cpp_lib_version = "5.14.0"
8293        )))
8294    )]
8295    #[cfg(any(
8296        any(
8297            cpp_lib_version = "5.11.3",
8298            cpp_lib_version = "5.12.2",
8299            cpp_lib_version = "5.13.0",
8300            cpp_lib_version = "5.14.0"
8301        ),
8302        feature = "ritual_rustdoc"
8303    ))]
8304    pub unsafe fn shrink_to_fit(&self) {
8305        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_shrink_to_fit(
8306            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8307        )
8308    }
8309
8310    /// <p>Returns the number of items in the vector.</p>
8311    ///
8312    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::size() const```</span>.
8313    ///
8314    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
8315    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
8316    #[inline(always)]
8317    pub unsafe fn size(&self) -> ::std::os::raw::c_int {
8318        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_size(
8319            self as *const crate::QVectorOfQNodeId,
8320        )
8321    }
8322
8323    /// <p>Releases any memory not required to store the items.</p>
8324    ///
8325    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::squeeze()```</span>.
8326    ///
8327    /// <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Releases any memory not required to store the items.</p>
8328    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function.</p>
8329    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
8330    #[inline(always)]
8331    pub unsafe fn squeeze(&self) {
8332        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_squeeze(
8333            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8334        )
8335    }
8336
8337    /// <p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
8338    ///
8339    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::startsWith(const Qt3DCore::QNodeId& t) const```</span>.
8340    ///
8341    /// <a href="http://doc.qt.io/qt-5/qvector.html#startsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
8342    /// <p>This function was introduced in  Qt 4.5.</p>
8343    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
8344    #[inline(always)]
8345    pub unsafe fn starts_with(
8346        &self,
8347        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
8348    ) -> bool {
8349        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_startsWith(
8350            self as *const crate::QVectorOfQNodeId,
8351            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(t).as_raw_ptr(),
8352        )
8353    }
8354
8355    /// <p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
8356    ///
8357    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::swap(QVector<Qt3DCore::QNodeId>& other)```</span>.
8358    ///
8359    /// <a href="http://doc.qt.io/qt-5/qvector.html#swap">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
8360    /// <p>This function was introduced in  Qt 4.8.</p></div>
8361    #[inline(always)]
8362    pub unsafe fn swap(
8363        &self,
8364        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
8365    ) {
8366        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_swap(
8367            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8368            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(other)
8369                .as_raw_ptr() as *mut crate::QVectorOfQNodeId,
8370        )
8371    }
8372
8373    /// <p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
8374    ///
8375    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeId>::swapItemsAt(int i, int j)```</span>.
8376    ///
8377    /// <a href="http://doc.qt.io/qt-5/qvector.html#swapItemsAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
8378    /// <p>This function was introduced in  Qt 5.14.</p></div>
8379    #[inline(always)]
8380    #[cfg_attr(
8381        feature = "ritual_rustdoc_nightly",
8382        doc(cfg(cpp_lib_version = "5.14.0"))
8383    )]
8384    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
8385    pub unsafe fn swap_items_at(&self, i: ::std::os::raw::c_int, j: ::std::os::raw::c_int) {
8386        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_swapItemsAt(
8387            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8388            i,
8389            j,
8390        )
8391    }
8392
8393    /// <p>Removes the element at index position <i>i</i> and returns it.</p>
8394    ///
8395    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId QVector<Qt3DCore::QNodeId>::takeAt(int i)```</span>.
8396    ///
8397    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i> and returns it.</p>
8398    /// <p>Equivalent to</p>
8399    /// <pre class="cpp">
8400    ///
8401    ///   T t <span class="operator">=</span> at(i);
8402    ///   remove(i);
8403    ///   <span class="keyword">return</span> t;
8404    ///
8405    /// </pre>
8406    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
8407    /// <p>This function was introduced in  Qt 5.2.</p>
8408    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#takeAt">QList::takeAt</a>().</p></div>
8409    #[inline(always)]
8410    pub unsafe fn take_at(&self, i: ::std::os::raw::c_int) -> ::cpp_core::CppBox<crate::QNodeId> {
8411        let ffi_result = {
8412            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_takeAt(
8413                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8414                i,
8415            )
8416        };
8417        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
8418    }
8419
8420    /// <p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8421    ///
8422    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId QVector<Qt3DCore::QNodeId>::takeFirst()```</span>.
8423    ///
8424    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8425    /// <p>This function was introduced in  Qt 5.1.</p>
8426    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
8427    #[inline(always)]
8428    pub unsafe fn take_first(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
8429        let ffi_result = {
8430            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_takeFirst(
8431                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8432            )
8433        };
8434        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
8435    }
8436
8437    /// <p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8438    ///
8439    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId QVector<Qt3DCore::QNodeId>::takeLast()```</span>.
8440    ///
8441    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
8442    /// <p>If you don't use the return value, <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>() is more efficient.</p>
8443    /// <p>This function was introduced in  Qt 5.1.</p>
8444    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
8445    #[inline(always)]
8446    pub unsafe fn take_last(&self) -> ::cpp_core::CppBox<crate::QNodeId> {
8447        let ffi_result = {
8448            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_takeLast(
8449                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
8450            )
8451        };
8452        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
8453    }
8454
8455    /// <p>Returns the value at index position <i>i</i> in the vector.</p>
8456    ///
8457    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId QVector<Qt3DCore::QNodeId>::value(int i) const```</span>.
8458    ///
8459    /// <a href="http://doc.qt.io/qt-5/qvector.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value at index position <i>i</i> in the vector.</p>
8460    /// <p>If the index <i>i</i> is out of bounds, the function returns a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you are certain that <i>i</i> is within bounds, you can use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() instead, which is slightly faster.</p>
8461    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
8462    #[inline(always)]
8463    pub unsafe fn value_1a(&self, i: ::std::os::raw::c_int) -> ::cpp_core::CppBox<crate::QNodeId> {
8464        let ffi_result = {
8465            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_value(
8466                self as *const crate::QVectorOfQNodeId,
8467                i,
8468            )
8469        };
8470        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
8471    }
8472
8473    /// <p>This is an overloaded function.</p>
8474    ///
8475    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId QVector<Qt3DCore::QNodeId>::value(int i, const Qt3DCore::QNodeId& defaultValue) const```</span>.
8476    ///
8477    /// <a href="http://doc.qt.io/qt-5/qvector.html#value-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
8478    /// <p>If the index <i>i</i> is out of bounds, the function returns <i>defaultValue</i>.</p></div>
8479    #[inline(always)]
8480    pub unsafe fn value_2a(
8481        &self,
8482        i: ::std::os::raw::c_int,
8483        default_value: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
8484    ) -> ::cpp_core::CppBox<crate::QNodeId> {
8485        let ffi_result = {
8486            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_value1(
8487                self as *const crate::QVectorOfQNodeId,
8488                i,
8489                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(default_value)
8490                    .as_raw_ptr(),
8491            )
8492        };
8493        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
8494    }
8495}
8496
8497/// <p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
8498///
8499/// C++ class: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>```</span>.
8500///
8501/// <a href="http://doc.qt.io/qt-5/qvector.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
8502/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; is one of Qt's generic <a href="http://doc.qt.io/qt-5/containers.html">container classes</a>. It stores its items in adjacent memory locations and provides fast index-based access.</p>
8503/// <p><a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt;, and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>&lt;T&gt; provide similar APIs and functionality. They are often interchangeable, but there are performance consequences. Here is an overview of use cases:</p>
8504/// <ul>
8505/// <li><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> should be your default first choice. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; will usually give better performance than <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; always stores its items sequentially in memory, where <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt; will allocate its items on the heap unless <code>sizeof(T) &lt;= sizeof(void*)</code> and T has been declared to be either a <code>Q_MOVABLE_TYPE</code> or a <code>Q_PRIMITIVE_TYPE</code> using <a href="http://doc.qt.io/qt-5/qtglobal.html#Q_DECLARE_TYPEINFO">Q_DECLARE_TYPEINFO</a>. See the <a href="http://marcmutz.wordpress.com/effective-qt/containers/#containers-qlist">Pros and Cons of Using QList</a> for an explanation.</li>
8506/// <li>However, <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> is used throughout the Qt APIs for passing parameters and for returning values. Use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> to interface with those APIs.</li>
8507/// <li>If you need a real linked list, which guarantees <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a> insertions mid-list and uses iterators to items rather than indexes, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>.</li>
8508/// </ul>
8509/// <p><b>Note: </b><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a> both guarantee C-compatible array layout. <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> does not. This might be important if your application must interface with a C API.</p><p><b>Note: </b>Iterators into a <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> and references into heap-allocating QLists remain valid as long as the referenced items remain in the container. This is not true for iterators and references into a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and non-heap-allocating QLists.</p><p>Here's an example of a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores integers and a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores <a href="http://doc.qt.io/qt-5/qstring.html">QString</a> values:</p>
8510/// <pre class="cpp">
8511///
8512///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> integerVector;
8513///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> stringVector;
8514///
8515/// </pre>
8516/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> stores its items in a vector (array). Typically, vectors are created with an initial size. For example, the following code constructs a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> with 200 elements:</p>
8517/// <pre class="cpp">
8518///
8519///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span>);
8520///
8521/// </pre>
8522/// <p>The elements are automatically initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you want to initialize the vector with a different value, pass that value as the second argument to the constructor:</p>
8523/// <pre class="cpp">
8524///
8525///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span><span class="operator">,</span> <span class="string">"Pass"</span>);
8526///
8527/// </pre>
8528/// <p>You can also call <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>() at any time to fill the vector with a value.</p>
8529/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> uses 0-based indexes, just like C++ arrays. To access the item at a particular index position, you can use operator[](). On non-const vectors, operator[]() returns a reference to the item that can be used on the left side of an assignment:</p>
8530/// <pre class="cpp">
8531///
8532///   <span class="keyword">if</span> (vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span><span class="operator">=</span> <span class="string">"Liz"</span>)
8533/// &#32;     vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="string">"Elizabeth"</span>;
8534///
8535/// </pre>
8536/// <p>For read-only access, an alternative syntax is to use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>():</p>
8537/// <pre class="cpp">
8538///
8539///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> vector<span class="operator">.</span>size(); <span class="operator">+</span><span class="operator">+</span>i) {
8540/// &#32;     <span class="keyword">if</span> (vector<span class="operator">.</span>at(i) <span class="operator">=</span><span class="operator">=</span> <span class="string">"Alfonso"</span>)
8541/// &#32;   &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"Found Alfonso at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
8542///   }
8543///
8544/// </pre>
8545/// <p><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() can be faster than operator[](), because it never causes a <a href="http://doc.qt.io/qt-5/implicit-sharing.html#deep-copy">deep copy</a> to occur.</p>
8546/// <p>Another way to access the data stored in a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is to call <a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>(). The function returns a pointer to the first item in the vector. You can use the pointer to directly access and modify the elements stored in the vector. The pointer is also useful if you need to pass a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to a function that accepts a plain C++ array.</p>
8547/// <p>If you want to find all occurrences of a particular value in a vector, use <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() or <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>(). The former searches forward starting from a given index position, the latter searches backward. Both return the index of the matching item if they found one; otherwise, they return -1. For example:</p>
8548/// <pre class="cpp">
8549///
8550///   <span class="type">int</span> i <span class="operator">=</span> vector<span class="operator">.</span>indexOf(<span class="string">"Harumi"</span>);
8551///   <span class="keyword">if</span> (i <span class="operator">!</span><span class="operator">=</span> <span class="operator">-</span><span class="number">1</span>)
8552/// &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"First occurrence of Harumi is at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
8553///
8554/// </pre>
8555/// <p>If you simply want to check whether a vector contains a particular value, use <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>(). If you want to find out how many times a particular value occurs in the vector, use <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
8556/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides these basic functions to add, move, and remove items: <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(). With the exception of <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), these functions can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>) for large vectors, because they require moving many items in the vector by one position in memory. If you want a container class that provides fast insertion/removal in the middle, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
8557/// <p>Unlike plain C++ arrays, QVectors can be resized at any time by calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). If the new size is larger than the old size, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> might need to reallocate the whole vector. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> tries to reduce the number of reallocations by preallocating up to twice as much memory as the actual data needs.</p>
8558/// <p>If you know in advance approximately how many items the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will contain, you can call <a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>(), asking <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to preallocate a certain amount of memory. You can also call <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>() to find out how much memory <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> actually allocated.</p>
8559/// <p>Note that using non-const operators and functions can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy of the data. This is due to <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicit sharing</a>.</p>
8560/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s value type must be an <a href="http://doc.qt.io/qt-5/containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> as a value; instead, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> *. A few functions have additional requirements; for example, <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() expect the value type to support <code>operator==()</code>. These requirements are documented on a per-function basis.</p>
8561/// <p>Like the other container classes, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides <a href="http://doc.qt.io/qt-5/containers.html#java-style-iterators">Java-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvectoriterator.html">QVectorIterator</a> and <a href="http://doc.qt.io/qt-5/qmutablevectoriterator.html">QMutableVectorIterator</a>) and <a href="http://doc.qt.io/qt-5/containers.html#stl-style-iterators">STL-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvector.html#const_iterator-typedef">QVector::const_iterator</a> and <a href="http://doc.qt.io/qt-5/qvector.html#iterator-typedefx">QVector::iterator</a>). In practice, these are rarely used, because you can use indexes into the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>.</p>
8562/// <p>In addition to <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>, Qt also provides <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>, a very low-level class with little functionality that is optimized for speed.</p>
8563/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> does <i>not</i> support inserting, prepending, appending or replacing with references to its own values. Doing so will cause your application to abort with an error message.</p>
8564/// <a name="more-information-on-using-qt-containers"></a>
8565/// <h4>More Information on Using Qt Containers</h4>
8566/// <p>For a detailed discussion comparing Qt containers with each other and with STL containers, see <a href="http://marcmutz.wordpress.com/effective-qt/containers/">Understand the Qt Containers</a>.</p></div>
8567#[repr(C)]
8568pub struct QVectorOfQEntity {
8569    _unused: u8,
8570}
8571impl QVectorOfQEntity {
8572    /// <p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
8573    ///
8574    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>& QVector<Qt3DCore::QEntity*>::operator+=(const QVector<Qt3DCore::QEntity*>& l)```</span>.
8575    ///
8576    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
8577    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">operator+</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>().</p></div>
8578    #[inline(always)]
8579    pub unsafe fn add_assign_q_vector_of_q_entity(
8580        &self,
8581        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
8582    ) -> ::cpp_core::Ref<crate::QVectorOfQEntity> {
8583        let ffi_result = {
8584            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator__4(
8585                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8586                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(l)
8587                    .as_raw_ptr(),
8588            )
8589        };
8590        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
8591    }
8592
8593    /// <p>This is an overloaded function.</p>
8594    ///
8595    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>& QVector<Qt3DCore::QEntity*>::operator+=(const Qt3DCore::QEntity*& t)```</span>.
8596    ///
8597    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
8598    /// <p>Appends <i>value</i> to the vector.</p>
8599    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>().</p></div>
8600    #[inline(always)]
8601    pub unsafe fn add_assign_q_entity(
8602        &self,
8603        t: *const *mut crate::QEntity,
8604    ) -> ::cpp_core::Ref<crate::QVectorOfQEntity> {
8605        let ffi_result = {
8606            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator__5(
8607                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8608                t,
8609            )
8610        };
8611        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
8612    }
8613
8614    /// <p>Inserts <i>value</i> at the end of the vector.</p>
8615    ///
8616    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::append(const Qt3DCore::QEntity*& t)```</span>.
8617    ///
8618    /// <a href="http://doc.qt.io/qt-5/qvector.html#append">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the end of the vector.</p>
8619    /// <p>Example:</p>
8620    /// <pre class="cpp">
8621    ///
8622    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
8623    ///   vector<span class="operator">.</span>append(<span class="string">"one"</span>);
8624    ///   vector<span class="operator">.</span>append(<span class="string">"two"</span>);
8625    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> three <span class="operator">=</span> <span class="string">"three"</span>;
8626    ///   vector<span class="operator">.</span>append(three);
8627    ///   <span class="comment">// vector: ["one", "two", "three"]</span>
8628    ///   <span class="comment">// three: "three"</span>
8629    ///
8630    /// </pre>
8631    /// <p>This is the same as calling resize(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() + 1) and assigning <i>value</i> to the new last element in the vector.</p>
8632    /// <p>This operation is relatively fast, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> typically allocates more memory than necessary, so it can grow without reallocating the entire vector each time.</p>
8633    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
8634    #[inline(always)]
8635    pub unsafe fn append_q_entity(&self, t: *const *mut crate::QEntity) {
8636        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_append(
8637            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8638            t,
8639        )
8640    }
8641
8642    /// <p>This is an overloaded function.</p>
8643    ///
8644    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::append(const QVector<Qt3DCore::QEntity*>& l)```</span>.
8645    ///
8646    /// <a href="http://doc.qt.io/qt-5/qvector.html#append-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
8647    /// <p>Appends the items of the <i>value</i> vector to this vector.</p>
8648    /// <p>This function was introduced in  Qt 5.5.</p>
8649    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
8650    #[inline(always)]
8651    pub unsafe fn append_q_vector_of_q_entity(
8652        &self,
8653        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
8654    ) {
8655        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_append2(
8656            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8657            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(l)
8658                .as_raw_ptr(),
8659        )
8660    }
8661
8662    /// <p>Returns the item at index position <i>i</i> in the vector.</p>
8663    ///
8664    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::at(int i) const```</span>.
8665    ///
8666    /// <a href="http://doc.qt.io/qt-5/qvector.html#at">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> in the vector.</p>
8667    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
8668    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
8669    #[inline(always)]
8670    pub unsafe fn at(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QEntity {
8671        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_at(
8672            self as *const crate::QVectorOfQEntity,
8673            i,
8674        )
8675    }
8676
8677    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p>
8678    ///
8679    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::back()```</span>.
8680    ///
8681    /// <a href="http://doc.qt.io/qt-5/qvector.html#back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
8682    #[inline(always)]
8683    pub unsafe fn back_mut(&self) -> *mut *mut crate::QEntity {
8684        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_back(
8685            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8686        )
8687    }
8688
8689    /// <p>This is an overloaded function.</p>
8690    ///
8691    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::back() const```</span>.
8692    ///
8693    /// <a href="http://doc.qt.io/qt-5/qvector.html#back-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
8694    #[inline(always)]
8695    pub unsafe fn back(&self) -> *const *mut crate::QEntity {
8696        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_back1(
8697            self as *const crate::QVectorOfQEntity,
8698        )
8699    }
8700
8701    /// <p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
8702    ///
8703    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::capacity() const```</span>.
8704    ///
8705    /// <a href="http://doc.qt.io/qt-5/qvector.html#capacity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
8706    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function. If you want to know how many items are in the vector, call <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
8707    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
8708    #[inline(always)]
8709    pub unsafe fn capacity(&self) -> ::std::os::raw::c_int {
8710        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_capacity(
8711            self as *const crate::QVectorOfQEntity,
8712        )
8713    }
8714
8715    /// <p>Removes all the elements from the vector.</p>
8716    ///
8717    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::clear()```</span>.
8718    ///
8719    /// <a href="http://doc.qt.io/qt-5/qvector.html#clear">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all the elements from the vector.</p>
8720    /// <p><b>Note: </b>Until Qt 5.6, this also released the memory used by the vector. From Qt 5.7, the capacity is preserved. To shed all capacity, swap with a default-constructed vector:</p><pre class="cpp">
8721    ///
8722    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span> v <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>;
8723    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span>()<span class="operator">.</span>swap(v);
8724    ///   Q_ASSERT(v<span class="operator">.</span>capacity() <span class="operator">=</span><span class="operator">=</span> <span class="number">0</span>);
8725    ///
8726    /// </pre>
8727    /// <p>or call <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
8728    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
8729    #[inline(always)]
8730    pub unsafe fn clear(&self) {
8731        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_clear(
8732            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8733        )
8734    }
8735
8736    /// <p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
8737    ///
8738    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity** QVector<Qt3DCore::QEntity*>::constData() const```</span>.
8739    ///
8740    /// <a href="http://doc.qt.io/qt-5/qvector.html#constData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
8741    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
8742    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
8743    #[inline(always)]
8744    pub unsafe fn const_data(&self) -> *const *mut crate::QEntity {
8745        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_constData(
8746            self as *const crate::QVectorOfQEntity,
8747        )
8748    }
8749
8750    /// <p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
8751    ///
8752    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::constFirst() const```</span>.
8753    ///
8754    /// <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
8755    /// <p>This function was introduced in  Qt 5.6.</p>
8756    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
8757    #[inline(always)]
8758    pub unsafe fn const_first(&self) -> *const *mut crate::QEntity {
8759        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_constFirst(
8760            self as *const crate::QVectorOfQEntity,
8761        )
8762    }
8763
8764    /// <p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
8765    ///
8766    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::constLast() const```</span>.
8767    ///
8768    /// <a href="http://doc.qt.io/qt-5/qvector.html#constLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
8769    /// <p>This function was introduced in  Qt 5.6.</p>
8770    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
8771    #[inline(always)]
8772    pub unsafe fn const_last(&self) -> *const *mut crate::QEntity {
8773        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_constLast(
8774            self as *const crate::QVectorOfQEntity,
8775        )
8776    }
8777
8778    /// <p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
8779    ///
8780    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::contains(const Qt3DCore::QEntity*& t) const```</span>.
8781    ///
8782    /// <a href="http://doc.qt.io/qt-5/qvector.html#contains">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
8783    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
8784    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p></div>
8785    #[inline(always)]
8786    pub unsafe fn contains(&self, t: *const *mut crate::QEntity) -> bool {
8787        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_contains(
8788            self as *const crate::QVectorOfQEntity,
8789            t,
8790        )
8791    }
8792
8793    /// <p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p>
8794    ///
8795    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>& QVector<Qt3DCore::QEntity*>::operator=(const QVector<Qt3DCore::QEntity*>& v)```</span>.
8796    ///
8797    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p></div>
8798    #[inline(always)]
8799    pub unsafe fn copy_from(
8800        &self,
8801        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
8802    ) -> ::cpp_core::Ref<crate::QVectorOfQEntity> {
8803        let ffi_result = {
8804            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator_(
8805                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8806                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(v)
8807                    .as_raw_ptr(),
8808            )
8809        };
8810        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
8811    }
8812
8813    /// <p>Returns the number of occurrences of <i>value</i> in the vector.</p>
8814    ///
8815    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::count(const Qt3DCore::QEntity*& t) const```</span>.
8816    ///
8817    /// <a href="http://doc.qt.io/qt-5/qvector.html#count">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of occurrences of <i>value</i> in the vector.</p>
8818    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
8819    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
8820    #[inline(always)]
8821    pub unsafe fn count_1a(&self, t: *const *mut crate::QEntity) -> ::std::os::raw::c_int {
8822        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_count(
8823            self as *const crate::QVectorOfQEntity,
8824            t,
8825        )
8826    }
8827
8828    /// <p>This is an overloaded function.</p>
8829    ///
8830    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::count() const```</span>.
8831    ///
8832    /// <a href="http://doc.qt.io/qt-5/qvector.html#count-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
8833    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
8834    #[inline(always)]
8835    pub unsafe fn count_0a(&self) -> ::std::os::raw::c_int {
8836        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_count1(
8837            self as *const crate::QVectorOfQEntity,
8838        )
8839    }
8840
8841    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
8842    ///
8843    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity** QVector<Qt3DCore::QEntity*>::data()```</span>.
8844    ///
8845    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
8846    /// <p>Example:</p>
8847    /// <pre class="cpp">
8848    ///
8849    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
8850    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
8851    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
8852    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
8853    ///
8854    /// </pre>
8855    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
8856    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
8857    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
8858    #[inline(always)]
8859    pub unsafe fn data_mut(&self) -> *mut *mut crate::QEntity {
8860        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_data(
8861            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8862        )
8863    }
8864
8865    /// <p>This is an overloaded function.</p>
8866    ///
8867    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity** QVector<Qt3DCore::QEntity*>::data() const```</span>.
8868    ///
8869    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
8870    #[inline(always)]
8871    pub unsafe fn data(&self) -> *const *mut crate::QEntity {
8872        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_data1(
8873            self as *const crate::QVectorOfQEntity,
8874        )
8875    }
8876
8877    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::detach()```</span>.
8878    #[inline(always)]
8879    pub unsafe fn detach(&self) {
8880        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_detach(
8881            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8882        )
8883    }
8884
8885    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p>
8886    ///
8887    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::empty() const```</span>.
8888    ///
8889    /// <a href="http://doc.qt.io/qt-5/qvector.html#empty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p></div>
8890    #[inline(always)]
8891    pub unsafe fn empty(&self) -> bool {
8892        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_empty(
8893            self as *const crate::QVectorOfQEntity,
8894        )
8895    }
8896
8897    /// <p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
8898    ///
8899    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::endsWith(const Qt3DCore::QEntity*& t) const```</span>.
8900    ///
8901    /// <a href="http://doc.qt.io/qt-5/qvector.html#endsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
8902    /// <p>This function was introduced in  Qt 4.5.</p>
8903    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
8904    #[inline(always)]
8905    pub unsafe fn ends_with(&self, t: *const *mut crate::QEntity) -> bool {
8906        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_endsWith(
8907            self as *const crate::QVectorOfQEntity,
8908            t,
8909        )
8910    }
8911
8912    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
8913    ///
8914    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>& QVector<Qt3DCore::QEntity*>::fill(const Qt3DCore::QEntity*& t, int size = …)```</span>.
8915    ///
8916    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
8917    /// <p>Example:</p>
8918    /// <pre class="cpp">
8919    ///
8920    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
8921    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
8922    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
8923    ///
8924    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
8925    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
8926    ///
8927    /// </pre>
8928    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
8929    #[inline(always)]
8930    pub unsafe fn fill_2a(
8931        &self,
8932        t: *const *mut crate::QEntity,
8933        size: ::std::os::raw::c_int,
8934    ) -> ::cpp_core::Ref<crate::QVectorOfQEntity> {
8935        let ffi_result = {
8936            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_fill(
8937                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8938                t,
8939                size,
8940            )
8941        };
8942        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
8943    }
8944
8945    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
8946    ///
8947    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>& QVector<Qt3DCore::QEntity*>::fill(const Qt3DCore::QEntity*& t)```</span>.
8948    ///
8949    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
8950    /// <p>Example:</p>
8951    /// <pre class="cpp">
8952    ///
8953    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
8954    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
8955    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
8956    ///
8957    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
8958    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
8959    ///
8960    /// </pre>
8961    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
8962    #[inline(always)]
8963    pub unsafe fn fill_1a(
8964        &self,
8965        t: *const *mut crate::QEntity,
8966    ) -> ::cpp_core::Ref<crate::QVectorOfQEntity> {
8967        let ffi_result = {
8968            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_fill1(
8969                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8970                t,
8971            )
8972        };
8973        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
8974    }
8975
8976    /// <p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
8977    ///
8978    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::first()```</span>.
8979    ///
8980    /// <a href="http://doc.qt.io/qt-5/qvector.html#first">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
8981    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>().</p></div>
8982    #[inline(always)]
8983    pub unsafe fn first_mut(&self) -> *mut *mut crate::QEntity {
8984        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_first(
8985            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
8986        )
8987    }
8988
8989    /// <p>This is an overloaded function.</p>
8990    ///
8991    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::first() const```</span>.
8992    ///
8993    /// <a href="http://doc.qt.io/qt-5/qvector.html#first-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
8994    #[inline(always)]
8995    pub unsafe fn first(&self) -> *const *mut crate::QEntity {
8996        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_first1(
8997            self as *const crate::QVectorOfQEntity,
8998        )
8999    }
9000
9001    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p>
9002    ///
9003    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::front()```</span>.
9004    ///
9005    /// <a href="http://doc.qt.io/qt-5/qvector.html#front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
9006    #[inline(always)]
9007    pub unsafe fn front_mut(&self) -> *mut *mut crate::QEntity {
9008        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_front(
9009            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9010        )
9011    }
9012
9013    /// <p>This is an overloaded function.</p>
9014    ///
9015    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::front() const```</span>.
9016    ///
9017    /// <a href="http://doc.qt.io/qt-5/qvector.html#front-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
9018    #[inline(always)]
9019    pub unsafe fn front(&self) -> *const *mut crate::QEntity {
9020        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_front1(
9021            self as *const crate::QVectorOfQEntity,
9022        )
9023    }
9024
9025    /// <p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
9026    ///
9027    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::operator[](int i)```</span>.
9028    ///
9029    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
9030    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
9031    /// <p>Note that using non-const operators can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy.</p>
9032    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>().</p></div>
9033    #[inline(always)]
9034    pub unsafe fn index_mut(&self, i: ::std::os::raw::c_int) -> *mut *mut crate::QEntity {
9035        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator__2(
9036            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9037            i,
9038        )
9039    }
9040
9041    /// <p>This is an overloaded function.</p>
9042    ///
9043    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::operator[](int i) const```</span>.
9044    ///
9045    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
9046    /// <p>Same as at(<i>i</i>).</p></div>
9047    #[inline(always)]
9048    pub unsafe fn index(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QEntity {
9049        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator__3(
9050            self as *const crate::QVectorOfQEntity,
9051            i,
9052        )
9053    }
9054
9055    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
9056    ///
9057    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::indexOf(const Qt3DCore::QEntity*& t, int from = …) const```</span>.
9058    ///
9059    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
9060    /// <p>Example:</p>
9061    /// <pre class="cpp">
9062    ///
9063    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
9064    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
9065    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
9066    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
9067    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
9068    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
9069    ///
9070    /// </pre>
9071    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
9072    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
9073    #[inline(always)]
9074    pub unsafe fn index_of_2a(
9075        &self,
9076        t: *const *mut crate::QEntity,
9077        from: ::std::os::raw::c_int,
9078    ) -> ::std::os::raw::c_int {
9079        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_indexOf(
9080            self as *const crate::QVectorOfQEntity,
9081            t,
9082            from,
9083        )
9084    }
9085
9086    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
9087    ///
9088    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::indexOf(const Qt3DCore::QEntity*& t) const```</span>.
9089    ///
9090    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
9091    /// <p>Example:</p>
9092    /// <pre class="cpp">
9093    ///
9094    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
9095    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
9096    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
9097    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
9098    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
9099    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
9100    ///
9101    /// </pre>
9102    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
9103    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
9104    #[inline(always)]
9105    pub unsafe fn index_of_1a(&self, t: *const *mut crate::QEntity) -> ::std::os::raw::c_int {
9106        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_indexOf1(
9107            self as *const crate::QVectorOfQEntity,
9108            t,
9109        )
9110    }
9111
9112    /// <p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
9113    ///
9114    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::insert(int i, const Qt3DCore::QEntity*& t)```</span>.
9115    ///
9116    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
9117    /// <p>Example:</p>
9118    /// <pre class="cpp">
9119    ///
9120    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
9121    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"alpha"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"beta"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"delta"</span>;
9122    ///   vector<span class="operator">.</span>insert(<span class="number">2</span><span class="operator">,</span> <span class="string">"gamma"</span>);
9123    ///   <span class="comment">// vector: ["alpha", "beta", "gamma", "delta"]</span>
9124    ///
9125    /// </pre>
9126    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items at indexes <i>i</i> and above by one position further in memory. If you want a container class that provides a fast insert() function, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
9127    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
9128    #[inline(always)]
9129    pub unsafe fn insert_2a(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QEntity) {
9130        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_insert(
9131            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9132            i,
9133            t,
9134        )
9135    }
9136
9137    /// <p>This is an overloaded function.</p>
9138    ///
9139    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::insert(int i, int n, const Qt3DCore::QEntity*& t)```</span>.
9140    ///
9141    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
9142    /// <p>Inserts <i>count</i> copies of <i>value</i> at index position <i>i</i> in the vector.</p>
9143    /// <p>Example:</p>
9144    /// <pre class="cpp">
9145    ///
9146    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">double</span><span class="operator">&gt;</span> vector;
9147    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2.718</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1.442</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">0.4342</span>;
9148    ///   vector<span class="operator">.</span>insert(<span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">9.9</span>);
9149    ///   <span class="comment">// vector: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]</span>
9150    ///
9151    /// </pre></div>
9152    #[inline(always)]
9153    pub unsafe fn insert_3a(
9154        &self,
9155        i: ::std::os::raw::c_int,
9156        n: ::std::os::raw::c_int,
9157        t: *const *mut crate::QEntity,
9158    ) {
9159        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_insert1(
9160            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9161            i,
9162            n,
9163            t,
9164        )
9165    }
9166
9167    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::isDetached() const```</span>.
9168    #[inline(always)]
9169    pub unsafe fn is_detached(&self) -> bool {
9170        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_isDetached(
9171            self as *const crate::QVectorOfQEntity,
9172        )
9173    }
9174
9175    /// <p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
9176    ///
9177    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::isEmpty() const```</span>.
9178    ///
9179    /// <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
9180    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
9181    #[inline(always)]
9182    pub unsafe fn is_empty(&self) -> bool {
9183        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_isEmpty(
9184            self as *const crate::QVectorOfQEntity,
9185        )
9186    }
9187
9188    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::isSharedWith(const QVector<Qt3DCore::QEntity*>& other) const```</span>.
9189    #[inline(always)]
9190    pub unsafe fn is_shared_with(
9191        &self,
9192        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
9193    ) -> bool {
9194        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_isSharedWith(
9195            self as *const crate::QVectorOfQEntity,
9196            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(other)
9197                .as_raw_ptr(),
9198        )
9199    }
9200
9201    /// <p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
9202    ///
9203    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::last()```</span>.
9204    ///
9205    /// <a href="http://doc.qt.io/qt-5/qvector.html#last">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
9206    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>().</p></div>
9207    #[inline(always)]
9208    pub unsafe fn last_mut(&self) -> *mut *mut crate::QEntity {
9209        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_last(
9210            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9211        )
9212    }
9213
9214    /// <p>This is an overloaded function.</p>
9215    ///
9216    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity*& QVector<Qt3DCore::QEntity*>::last() const```</span>.
9217    ///
9218    /// <a href="http://doc.qt.io/qt-5/qvector.html#last-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
9219    #[inline(always)]
9220    pub unsafe fn last(&self) -> *const *mut crate::QEntity {
9221        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_last1(
9222            self as *const crate::QVectorOfQEntity,
9223        )
9224    }
9225
9226    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
9227    ///
9228    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::lastIndexOf(const Qt3DCore::QEntity*& t, int from = …) const```</span>.
9229    ///
9230    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
9231    /// <p>Example:</p>
9232    /// <pre class="cpp">
9233    ///
9234    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
9235    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
9236    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
9237    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
9238    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
9239    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
9240    ///
9241    /// </pre>
9242    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
9243    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
9244    #[inline(always)]
9245    pub unsafe fn last_index_of_2a(
9246        &self,
9247        t: *const *mut crate::QEntity,
9248        from: ::std::os::raw::c_int,
9249    ) -> ::std::os::raw::c_int {
9250        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_lastIndexOf(
9251            self as *const crate::QVectorOfQEntity,
9252            t,
9253            from,
9254        )
9255    }
9256
9257    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
9258    ///
9259    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::lastIndexOf(const Qt3DCore::QEntity*& t) const```</span>.
9260    ///
9261    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
9262    /// <p>Example:</p>
9263    /// <pre class="cpp">
9264    ///
9265    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
9266    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
9267    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
9268    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
9269    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
9270    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
9271    ///
9272    /// </pre>
9273    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
9274    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
9275    #[inline(always)]
9276    pub unsafe fn last_index_of_1a(&self, t: *const *mut crate::QEntity) -> ::std::os::raw::c_int {
9277        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_lastIndexOf1(
9278            self as *const crate::QVectorOfQEntity,
9279            t,
9280        )
9281    }
9282
9283    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
9284    ///
9285    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::length() const```</span>.
9286    ///
9287    /// <a href="http://doc.qt.io/qt-5/qvector.html#length">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
9288    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
9289    /// <p>This function was introduced in  Qt 5.2.</p>
9290    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#length">QList::length</a>().</p></div>
9291    #[inline(always)]
9292    pub unsafe fn length(&self) -> ::std::os::raw::c_int {
9293        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_length(
9294            self as *const crate::QVectorOfQEntity,
9295        )
9296    }
9297
9298    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
9299    ///
9300    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*> QVector<Qt3DCore::QEntity*>::mid(int pos, int len = …) const```</span>.
9301    ///
9302    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
9303    #[inline(always)]
9304    pub unsafe fn mid_2a(
9305        &self,
9306        pos: ::std::os::raw::c_int,
9307        len: ::std::os::raw::c_int,
9308    ) -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
9309        let ffi_result = {
9310            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_mid(
9311                self as *const crate::QVectorOfQEntity,
9312                pos,
9313                len,
9314            )
9315        };
9316        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
9317    }
9318
9319    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
9320    ///
9321    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*> QVector<Qt3DCore::QEntity*>::mid(int pos) const```</span>.
9322    ///
9323    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
9324    #[inline(always)]
9325    pub unsafe fn mid_1a(
9326        &self,
9327        pos: ::std::os::raw::c_int,
9328    ) -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
9329        let ffi_result = {
9330            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_mid1(
9331                self as *const crate::QVectorOfQEntity,
9332                pos,
9333            )
9334        };
9335        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
9336    }
9337
9338    /// <p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
9339    ///
9340    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::move(int from, int to)```</span>.
9341    ///
9342    /// <a href="http://doc.qt.io/qt-5/qvector.html#move">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
9343    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
9344    /// <p>This function was introduced in  Qt 5.6.</p>
9345    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qlist.html#move">QList::move</a>().</p></div>
9346    #[inline(always)]
9347    pub unsafe fn move_(&self, from: ::std::os::raw::c_int, to: ::std::os::raw::c_int) {
9348        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_move(
9349            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9350            from,
9351            to,
9352        )
9353    }
9354
9355    /// <p>Constructs an empty vector.</p>
9356    ///
9357    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QEntity*>::QVector()```</span>.
9358    ///
9359    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs an empty vector.</p>
9360    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
9361    #[inline(always)]
9362    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
9363        let ffi_result =
9364            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_QVector() };
9365        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
9366    }
9367
9368    /// <p>Constructs a vector with an initial size of <i>size</i> elements.</p>
9369    ///
9370    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QEntity*>::QVector(int size)```</span>.
9371    ///
9372    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements.</p>
9373    /// <p>The elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>.</p>
9374    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
9375    #[inline(always)]
9376    pub unsafe fn new_1a(
9377        size: ::std::os::raw::c_int,
9378    ) -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
9379        let ffi_result =
9380            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_QVector1(size) };
9381        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
9382    }
9383
9384    /// <p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
9385    ///
9386    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QEntity*>::QVector(int size, const Qt3DCore::QEntity*& t)```</span>.
9387    ///
9388    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
9389    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
9390    #[inline(always)]
9391    pub unsafe fn new_2a(
9392        size: ::std::os::raw::c_int,
9393        t: *const *mut crate::QEntity,
9394    ) -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
9395        let ffi_result =
9396            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_QVector2(size, t) };
9397        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
9398    }
9399
9400    /// <p>Constructs a copy of <i>other</i>.</p>
9401    ///
9402    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QEntity*>::QVector(const QVector<Qt3DCore::QEntity*>& v)```</span>.
9403    ///
9404    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-3">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a copy of <i>other</i>.</p>
9405    /// <p>This operation takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a>, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicitly shared</a>. This makes returning a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">linear time</a>.</p>
9406    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">operator=</a>().</p></div>
9407    #[inline(always)]
9408    pub unsafe fn new_copy(
9409        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
9410    ) -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
9411        let ffi_result = {
9412            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_QVector3(
9413                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(v)
9414                    .as_raw_ptr(),
9415            )
9416        };
9417        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
9418    }
9419
9420    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p>
9421    ///
9422    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::pop_back()```</span>.
9423    ///
9424    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
9425    #[inline(always)]
9426    pub unsafe fn pop_back(&self) {
9427        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_pop_back(
9428            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9429        )
9430    }
9431
9432    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p>
9433    ///
9434    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::pop_front()```</span>.
9435    ///
9436    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
9437    #[inline(always)]
9438    pub unsafe fn pop_front(&self) {
9439        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_pop_front(
9440            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9441        )
9442    }
9443
9444    /// <p>Inserts <i>value</i> at the beginning of the vector.</p>
9445    ///
9446    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::prepend(const Qt3DCore::QEntity*& t)```</span>.
9447    ///
9448    /// <a href="http://doc.qt.io/qt-5/qvector.html#prepend">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the beginning of the vector.</p>
9449    /// <p>Example:</p>
9450    /// <pre class="cpp">
9451    ///
9452    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
9453    ///   vector<span class="operator">.</span>prepend(<span class="string">"one"</span>);
9454    ///   vector<span class="operator">.</span>prepend(<span class="string">"two"</span>);
9455    ///   vector<span class="operator">.</span>prepend(<span class="string">"three"</span>);
9456    ///   <span class="comment">// vector: ["three", "two", "one"]</span>
9457    ///
9458    /// </pre>
9459    /// <p>This is the same as vector.insert(0, <i>value</i>).</p>
9460    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items in the vector by one position further in memory. If you want a container class that provides a fast prepend() function, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
9461    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
9462    #[inline(always)]
9463    pub unsafe fn prepend(&self, t: *const *mut crate::QEntity) {
9464        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_prepend(
9465            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9466            t,
9467        )
9468    }
9469
9470    /// <p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p>
9471    ///
9472    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::push_back(const Qt3DCore::QEntity*& t)```</span>.
9473    ///
9474    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p></div>
9475    #[inline(always)]
9476    pub unsafe fn push_back(&self, t: *const *mut crate::QEntity) {
9477        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_push_back(
9478            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9479            t,
9480        )
9481    }
9482
9483    /// <p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p>
9484    ///
9485    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::push_front(const Qt3DCore::QEntity*& t)```</span>.
9486    ///
9487    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p></div>
9488    #[inline(always)]
9489    pub unsafe fn push_front(&self, t: *const *mut crate::QEntity) {
9490        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_push_front(
9491            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9492            t,
9493        )
9494    }
9495
9496    /// <p>This is an overloaded function.</p>
9497    ///
9498    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::remove(int i)```</span>.
9499    ///
9500    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
9501    /// <p>Removes the element at index position <i>i</i>.</p>
9502    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
9503    #[inline(always)]
9504    pub unsafe fn remove_1a(&self, i: ::std::os::raw::c_int) {
9505        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_remove(
9506            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9507            i,
9508        )
9509    }
9510
9511    /// <p>This is an overloaded function.</p>
9512    ///
9513    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::remove(int i, int n)```</span>.
9514    ///
9515    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
9516    /// <p>Removes <i>count</i> elements from the middle of the vector, starting at index position <i>i</i>.</p>
9517    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
9518    #[inline(always)]
9519    pub unsafe fn remove_2a(&self, i: ::std::os::raw::c_int, n: ::std::os::raw::c_int) {
9520        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_remove1(
9521            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9522            i,
9523            n,
9524        )
9525    }
9526
9527    /// <p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
9528    ///
9529    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::removeAll(const Qt3DCore::QEntity*& t)```</span>.
9530    ///
9531    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAll">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
9532    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
9533    /// <p>This function was introduced in  Qt 5.4.</p>
9534    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeOne">removeOne</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAll">QList::removeAll</a>().</p></div>
9535    #[inline(always)]
9536    pub unsafe fn remove_all(&self, t: *const *mut crate::QEntity) -> ::std::os::raw::c_int {
9537        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_removeAll(
9538            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9539            t,
9540        )
9541    }
9542
9543    /// <p>Removes the element at index position <i>i</i>. Equivalent to</p>
9544    ///
9545    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::removeAt(int i)```</span>.
9546    ///
9547    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i>. Equivalent to</p>
9548    /// <pre class="cpp">
9549    ///
9550    ///   remove(i);
9551    ///
9552    /// </pre>
9553    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
9554    /// <p>This function was introduced in  Qt 5.2.</p>
9555    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAt">QList::removeAt</a>().</p></div>
9556    #[inline(always)]
9557    pub unsafe fn remove_at(&self, i: ::std::os::raw::c_int) {
9558        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_removeAt(
9559            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9560            i,
9561        )
9562    }
9563
9564    /// <p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9565    ///
9566    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::removeFirst()```</span>.
9567    ///
9568    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9569    /// <p>This function was introduced in  Qt 5.1.</p>
9570    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
9571    #[inline(always)]
9572    pub unsafe fn remove_first(&self) {
9573        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_removeFirst(
9574            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9575        )
9576    }
9577
9578    /// <p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9579    ///
9580    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::removeLast()```</span>.
9581    ///
9582    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9583    /// <p>This function was introduced in  Qt 5.1.</p>
9584    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
9585    #[inline(always)]
9586    pub unsafe fn remove_last(&self) {
9587        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_removeLast(
9588            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9589        )
9590    }
9591
9592    /// <p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
9593    ///
9594    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::removeOne(const Qt3DCore::QEntity*& t)```</span>.
9595    ///
9596    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeOne">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
9597    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
9598    /// <p>This function was introduced in  Qt 5.4.</p>
9599    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeAll">removeAll</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeOne">QList::removeOne</a>().</p></div>
9600    #[inline(always)]
9601    pub unsafe fn remove_one(&self, t: *const *mut crate::QEntity) -> bool {
9602        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_removeOne(
9603            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9604            t,
9605        )
9606    }
9607
9608    /// <p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
9609    ///
9610    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::replace(int i, const Qt3DCore::QEntity*& t)```</span>.
9611    ///
9612    /// <a href="http://doc.qt.io/qt-5/qvector.html#replace">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
9613    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
9614    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
9615    #[inline(always)]
9616    pub unsafe fn replace(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QEntity) {
9617        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_replace(
9618            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9619            i,
9620            t,
9621        )
9622    }
9623
9624    /// <p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
9625    ///
9626    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::reserve(int size)```</span>.
9627    ///
9628    /// <a href="http://doc.qt.io/qt-5/qvector.html#reserve">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
9629    /// <p>If <i>size</i> is an underestimate, the worst that will happen is that the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will be a bit slower. If <i>size</i> is an overestimate, you may have used more memory than the normal <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> growth strategy would have allocated—or you may have used less.</p>
9630    /// <p>An alternative to reserve() is calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). Whether or not that is faster than reserve() depends on the element type, because <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() default-constructs all elements, and requires assignment to existing entries rather than calling <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), which copy- or move-constructs. For simple types, like <code>int</code> or <code>double</code>, <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() is typically faster, but for anything more complex, you should prefer reserve().</p>
9631    /// <p><b>Warning:</b> If the size passed to <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() was underestimated, you run out of allocated space and into undefined behavior. This problem does not exist with reserve(), because it treats the size as just a hint.</p>
9632    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
9633    #[inline(always)]
9634    pub unsafe fn reserve(&self, size: ::std::os::raw::c_int) {
9635        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_reserve(
9636            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9637            size,
9638        )
9639    }
9640
9641    /// <p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
9642    ///
9643    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::resize(int size)```</span>.
9644    ///
9645    /// <a href="http://doc.qt.io/qt-5/qvector.html#resize">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
9646    /// <p>Since Qt 5.6, resize() doesn't shrink the capacity anymore. To shed excess capacity, use <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
9647    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
9648    #[inline(always)]
9649    pub unsafe fn resize(&self, size: ::std::os::raw::c_int) {
9650        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_resize(
9651            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9652            size,
9653        )
9654    }
9655
9656    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::setSharable(bool sharable)```</span>.
9657    #[inline(always)]
9658    pub unsafe fn set_sharable(&self, sharable: bool) {
9659        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_setSharable(
9660            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9661            sharable,
9662        )
9663    }
9664
9665    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
9666    ///
9667    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::shrink_to_fit()```</span>.
9668    ///
9669    /// <a href="http://doc.qt.io/qt-5/qvector.html#shrink_to_fit">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
9670    /// <p>This function was introduced in  Qt 5.10.</p></div>
9671    #[inline(always)]
9672    #[cfg_attr(
9673        feature = "ritual_rustdoc_nightly",
9674        doc(cfg(any(
9675            cpp_lib_version = "5.11.3",
9676            cpp_lib_version = "5.12.2",
9677            cpp_lib_version = "5.13.0",
9678            cpp_lib_version = "5.14.0"
9679        )))
9680    )]
9681    #[cfg(any(
9682        any(
9683            cpp_lib_version = "5.11.3",
9684            cpp_lib_version = "5.12.2",
9685            cpp_lib_version = "5.13.0",
9686            cpp_lib_version = "5.14.0"
9687        ),
9688        feature = "ritual_rustdoc"
9689    ))]
9690    pub unsafe fn shrink_to_fit(&self) {
9691        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_shrink_to_fit(
9692            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9693        )
9694    }
9695
9696    /// <p>Returns the number of items in the vector.</p>
9697    ///
9698    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::size() const```</span>.
9699    ///
9700    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
9701    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
9702    #[inline(always)]
9703    pub unsafe fn size(&self) -> ::std::os::raw::c_int {
9704        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_size(
9705            self as *const crate::QVectorOfQEntity,
9706        )
9707    }
9708
9709    /// <p>Releases any memory not required to store the items.</p>
9710    ///
9711    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::squeeze()```</span>.
9712    ///
9713    /// <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Releases any memory not required to store the items.</p>
9714    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function.</p>
9715    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
9716    #[inline(always)]
9717    pub unsafe fn squeeze(&self) {
9718        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_squeeze(
9719            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9720        )
9721    }
9722
9723    /// <p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
9724    ///
9725    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::startsWith(const Qt3DCore::QEntity*& t) const```</span>.
9726    ///
9727    /// <a href="http://doc.qt.io/qt-5/qvector.html#startsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
9728    /// <p>This function was introduced in  Qt 4.5.</p>
9729    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
9730    #[inline(always)]
9731    pub unsafe fn starts_with(&self, t: *const *mut crate::QEntity) -> bool {
9732        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_startsWith(
9733            self as *const crate::QVectorOfQEntity,
9734            t,
9735        )
9736    }
9737
9738    /// <p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
9739    ///
9740    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::swap(QVector<Qt3DCore::QEntity*>& other)```</span>.
9741    ///
9742    /// <a href="http://doc.qt.io/qt-5/qvector.html#swap">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
9743    /// <p>This function was introduced in  Qt 4.8.</p></div>
9744    #[inline(always)]
9745    pub unsafe fn swap(
9746        &self,
9747        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
9748    ) {
9749        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_swap(
9750            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9751            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(other)
9752                .as_raw_ptr() as *mut crate::QVectorOfQEntity,
9753        )
9754    }
9755
9756    /// <p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
9757    ///
9758    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QEntity*>::swapItemsAt(int i, int j)```</span>.
9759    ///
9760    /// <a href="http://doc.qt.io/qt-5/qvector.html#swapItemsAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
9761    /// <p>This function was introduced in  Qt 5.14.</p></div>
9762    #[inline(always)]
9763    #[cfg_attr(
9764        feature = "ritual_rustdoc_nightly",
9765        doc(cfg(cpp_lib_version = "5.14.0"))
9766    )]
9767    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
9768    pub unsafe fn swap_items_at(&self, i: ::std::os::raw::c_int, j: ::std::os::raw::c_int) {
9769        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_swapItemsAt(
9770            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9771            i,
9772            j,
9773        )
9774    }
9775
9776    /// <p>Removes the element at index position <i>i</i> and returns it.</p>
9777    ///
9778    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* QVector<Qt3DCore::QEntity*>::takeAt(int i)```</span>.
9779    ///
9780    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i> and returns it.</p>
9781    /// <p>Equivalent to</p>
9782    /// <pre class="cpp">
9783    ///
9784    ///   T t <span class="operator">=</span> at(i);
9785    ///   remove(i);
9786    ///   <span class="keyword">return</span> t;
9787    ///
9788    /// </pre>
9789    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
9790    /// <p>This function was introduced in  Qt 5.2.</p>
9791    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#takeAt">QList::takeAt</a>().</p></div>
9792    #[inline(always)]
9793    pub unsafe fn take_at(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QEntity> {
9794        let ffi_result = {
9795            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_takeAt(
9796                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9797                i,
9798            )
9799        };
9800        ::qt_core::QPtr::from_raw(ffi_result)
9801    }
9802
9803    /// <p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9804    ///
9805    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* QVector<Qt3DCore::QEntity*>::takeFirst()```</span>.
9806    ///
9807    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9808    /// <p>This function was introduced in  Qt 5.1.</p>
9809    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
9810    #[inline(always)]
9811    pub unsafe fn take_first(&self) -> ::qt_core::QPtr<crate::QEntity> {
9812        let ffi_result = {
9813            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_takeFirst(
9814                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9815            )
9816        };
9817        ::qt_core::QPtr::from_raw(ffi_result)
9818    }
9819
9820    /// <p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9821    ///
9822    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* QVector<Qt3DCore::QEntity*>::takeLast()```</span>.
9823    ///
9824    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
9825    /// <p>If you don't use the return value, <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>() is more efficient.</p>
9826    /// <p>This function was introduced in  Qt 5.1.</p>
9827    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
9828    #[inline(always)]
9829    pub unsafe fn take_last(&self) -> ::qt_core::QPtr<crate::QEntity> {
9830        let ffi_result = {
9831            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_takeLast(
9832                self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
9833            )
9834        };
9835        ::qt_core::QPtr::from_raw(ffi_result)
9836    }
9837
9838    /// <p>Returns the value at index position <i>i</i> in the vector.</p>
9839    ///
9840    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* QVector<Qt3DCore::QEntity*>::value(int i) const```</span>.
9841    ///
9842    /// <a href="http://doc.qt.io/qt-5/qvector.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value at index position <i>i</i> in the vector.</p>
9843    /// <p>If the index <i>i</i> is out of bounds, the function returns a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you are certain that <i>i</i> is within bounds, you can use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() instead, which is slightly faster.</p>
9844    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
9845    #[inline(always)]
9846    pub unsafe fn value_1a(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QEntity> {
9847        let ffi_result = {
9848            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_value(
9849                self as *const crate::QVectorOfQEntity,
9850                i,
9851            )
9852        };
9853        ::qt_core::QPtr::from_raw(ffi_result)
9854    }
9855
9856    /// <p>This is an overloaded function.</p>
9857    ///
9858    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* QVector<Qt3DCore::QEntity*>::value(int i, const Qt3DCore::QEntity*& defaultValue) const```</span>.
9859    ///
9860    /// <a href="http://doc.qt.io/qt-5/qvector.html#value-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
9861    /// <p>If the index <i>i</i> is out of bounds, the function returns <i>defaultValue</i>.</p></div>
9862    #[inline(always)]
9863    pub unsafe fn value_2a(
9864        &self,
9865        i: ::std::os::raw::c_int,
9866        default_value: *const *mut crate::QEntity,
9867    ) -> ::qt_core::QPtr<crate::QEntity> {
9868        let ffi_result = {
9869            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_value1(
9870                self as *const crate::QVectorOfQEntity,
9871                i,
9872                default_value,
9873            )
9874        };
9875        ::qt_core::QPtr::from_raw(ffi_result)
9876    }
9877}
9878
9879/// <p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
9880///
9881/// C++ class: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>```</span>.
9882///
9883/// <a href="http://doc.qt.io/qt-5/qvector.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
9884/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; is one of Qt's generic <a href="http://doc.qt.io/qt-5/containers.html">container classes</a>. It stores its items in adjacent memory locations and provides fast index-based access.</p>
9885/// <p><a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt;, and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>&lt;T&gt; provide similar APIs and functionality. They are often interchangeable, but there are performance consequences. Here is an overview of use cases:</p>
9886/// <ul>
9887/// <li><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> should be your default first choice. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; will usually give better performance than <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; always stores its items sequentially in memory, where <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt; will allocate its items on the heap unless <code>sizeof(T) &lt;= sizeof(void*)</code> and T has been declared to be either a <code>Q_MOVABLE_TYPE</code> or a <code>Q_PRIMITIVE_TYPE</code> using <a href="http://doc.qt.io/qt-5/qtglobal.html#Q_DECLARE_TYPEINFO">Q_DECLARE_TYPEINFO</a>. See the <a href="http://marcmutz.wordpress.com/effective-qt/containers/#containers-qlist">Pros and Cons of Using QList</a> for an explanation.</li>
9888/// <li>However, <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> is used throughout the Qt APIs for passing parameters and for returning values. Use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> to interface with those APIs.</li>
9889/// <li>If you need a real linked list, which guarantees <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a> insertions mid-list and uses iterators to items rather than indexes, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>.</li>
9890/// </ul>
9891/// <p><b>Note: </b><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a> both guarantee C-compatible array layout. <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> does not. This might be important if your application must interface with a C API.</p><p><b>Note: </b>Iterators into a <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> and references into heap-allocating QLists remain valid as long as the referenced items remain in the container. This is not true for iterators and references into a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and non-heap-allocating QLists.</p><p>Here's an example of a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores integers and a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores <a href="http://doc.qt.io/qt-5/qstring.html">QString</a> values:</p>
9892/// <pre class="cpp">
9893///
9894///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> integerVector;
9895///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> stringVector;
9896///
9897/// </pre>
9898/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> stores its items in a vector (array). Typically, vectors are created with an initial size. For example, the following code constructs a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> with 200 elements:</p>
9899/// <pre class="cpp">
9900///
9901///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span>);
9902///
9903/// </pre>
9904/// <p>The elements are automatically initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you want to initialize the vector with a different value, pass that value as the second argument to the constructor:</p>
9905/// <pre class="cpp">
9906///
9907///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span><span class="operator">,</span> <span class="string">"Pass"</span>);
9908///
9909/// </pre>
9910/// <p>You can also call <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>() at any time to fill the vector with a value.</p>
9911/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> uses 0-based indexes, just like C++ arrays. To access the item at a particular index position, you can use operator[](). On non-const vectors, operator[]() returns a reference to the item that can be used on the left side of an assignment:</p>
9912/// <pre class="cpp">
9913///
9914///   <span class="keyword">if</span> (vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span><span class="operator">=</span> <span class="string">"Liz"</span>)
9915/// &#32;     vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="string">"Elizabeth"</span>;
9916///
9917/// </pre>
9918/// <p>For read-only access, an alternative syntax is to use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>():</p>
9919/// <pre class="cpp">
9920///
9921///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> vector<span class="operator">.</span>size(); <span class="operator">+</span><span class="operator">+</span>i) {
9922/// &#32;     <span class="keyword">if</span> (vector<span class="operator">.</span>at(i) <span class="operator">=</span><span class="operator">=</span> <span class="string">"Alfonso"</span>)
9923/// &#32;   &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"Found Alfonso at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
9924///   }
9925///
9926/// </pre>
9927/// <p><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() can be faster than operator[](), because it never causes a <a href="http://doc.qt.io/qt-5/implicit-sharing.html#deep-copy">deep copy</a> to occur.</p>
9928/// <p>Another way to access the data stored in a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is to call <a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>(). The function returns a pointer to the first item in the vector. You can use the pointer to directly access and modify the elements stored in the vector. The pointer is also useful if you need to pass a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to a function that accepts a plain C++ array.</p>
9929/// <p>If you want to find all occurrences of a particular value in a vector, use <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() or <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>(). The former searches forward starting from a given index position, the latter searches backward. Both return the index of the matching item if they found one; otherwise, they return -1. For example:</p>
9930/// <pre class="cpp">
9931///
9932///   <span class="type">int</span> i <span class="operator">=</span> vector<span class="operator">.</span>indexOf(<span class="string">"Harumi"</span>);
9933///   <span class="keyword">if</span> (i <span class="operator">!</span><span class="operator">=</span> <span class="operator">-</span><span class="number">1</span>)
9934/// &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"First occurrence of Harumi is at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
9935///
9936/// </pre>
9937/// <p>If you simply want to check whether a vector contains a particular value, use <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>(). If you want to find out how many times a particular value occurs in the vector, use <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
9938/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides these basic functions to add, move, and remove items: <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(). With the exception of <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), these functions can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>) for large vectors, because they require moving many items in the vector by one position in memory. If you want a container class that provides fast insertion/removal in the middle, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
9939/// <p>Unlike plain C++ arrays, QVectors can be resized at any time by calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). If the new size is larger than the old size, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> might need to reallocate the whole vector. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> tries to reduce the number of reallocations by preallocating up to twice as much memory as the actual data needs.</p>
9940/// <p>If you know in advance approximately how many items the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will contain, you can call <a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>(), asking <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to preallocate a certain amount of memory. You can also call <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>() to find out how much memory <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> actually allocated.</p>
9941/// <p>Note that using non-const operators and functions can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy of the data. This is due to <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicit sharing</a>.</p>
9942/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s value type must be an <a href="http://doc.qt.io/qt-5/containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> as a value; instead, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> *. A few functions have additional requirements; for example, <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() expect the value type to support <code>operator==()</code>. These requirements are documented on a per-function basis.</p>
9943/// <p>Like the other container classes, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides <a href="http://doc.qt.io/qt-5/containers.html#java-style-iterators">Java-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvectoriterator.html">QVectorIterator</a> and <a href="http://doc.qt.io/qt-5/qmutablevectoriterator.html">QMutableVectorIterator</a>) and <a href="http://doc.qt.io/qt-5/containers.html#stl-style-iterators">STL-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvector.html#const_iterator-typedef">QVector::const_iterator</a> and <a href="http://doc.qt.io/qt-5/qvector.html#iterator-typedefx">QVector::iterator</a>). In practice, these are rarely used, because you can use indexes into the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>.</p>
9944/// <p>In addition to <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>, Qt also provides <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>, a very low-level class with little functionality that is optimized for speed.</p>
9945/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> does <i>not</i> support inserting, prepending, appending or replacing with references to its own values. Doing so will cause your application to abort with an error message.</p>
9946/// <a name="more-information-on-using-qt-containers"></a>
9947/// <h4>More Information on Using Qt Containers</h4>
9948/// <p>For a detailed discussion comparing Qt containers with each other and with STL containers, see <a href="http://marcmutz.wordpress.com/effective-qt/containers/">Understand the Qt Containers</a>.</p></div>
9949#[repr(C)]
9950pub struct QVectorOfQComponent {
9951    _unused: u8,
9952}
9953impl QVectorOfQComponent {
9954    /// <p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
9955    ///
9956    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>& QVector<Qt3DCore::QComponent*>::operator+=(const QVector<Qt3DCore::QComponent*>& l)```</span>.
9957    ///
9958    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
9959    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">operator+</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>().</p></div>
9960    #[inline(always)]
9961    pub unsafe fn add_assign_q_vector_of_q_component(
9962        &self,
9963        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
9964    ) -> ::cpp_core::Ref<crate::QVectorOfQComponent> {
9965        let ffi_result = {
9966            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator__4(
9967                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
9968                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(l)
9969                    .as_raw_ptr(),
9970            )
9971        };
9972        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
9973    }
9974
9975    /// <p>This is an overloaded function.</p>
9976    ///
9977    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>& QVector<Qt3DCore::QComponent*>::operator+=(const Qt3DCore::QComponent*& t)```</span>.
9978    ///
9979    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
9980    /// <p>Appends <i>value</i> to the vector.</p>
9981    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>().</p></div>
9982    #[inline(always)]
9983    pub unsafe fn add_assign_q_component(
9984        &self,
9985        t: *const *mut crate::QComponent,
9986    ) -> ::cpp_core::Ref<crate::QVectorOfQComponent> {
9987        let ffi_result = {
9988            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator__5(
9989                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
9990                t,
9991            )
9992        };
9993        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
9994    }
9995
9996    /// <p>Inserts <i>value</i> at the end of the vector.</p>
9997    ///
9998    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::append(const Qt3DCore::QComponent*& t)```</span>.
9999    ///
10000    /// <a href="http://doc.qt.io/qt-5/qvector.html#append">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the end of the vector.</p>
10001    /// <p>Example:</p>
10002    /// <pre class="cpp">
10003    ///
10004    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
10005    ///   vector<span class="operator">.</span>append(<span class="string">"one"</span>);
10006    ///   vector<span class="operator">.</span>append(<span class="string">"two"</span>);
10007    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> three <span class="operator">=</span> <span class="string">"three"</span>;
10008    ///   vector<span class="operator">.</span>append(three);
10009    ///   <span class="comment">// vector: ["one", "two", "three"]</span>
10010    ///   <span class="comment">// three: "three"</span>
10011    ///
10012    /// </pre>
10013    /// <p>This is the same as calling resize(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() + 1) and assigning <i>value</i> to the new last element in the vector.</p>
10014    /// <p>This operation is relatively fast, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> typically allocates more memory than necessary, so it can grow without reallocating the entire vector each time.</p>
10015    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
10016    #[inline(always)]
10017    pub unsafe fn append_q_component(&self, t: *const *mut crate::QComponent) {
10018        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_append(
10019            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10020            t,
10021        )
10022    }
10023
10024    /// <p>This is an overloaded function.</p>
10025    ///
10026    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::append(const QVector<Qt3DCore::QComponent*>& l)```</span>.
10027    ///
10028    /// <a href="http://doc.qt.io/qt-5/qvector.html#append-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
10029    /// <p>Appends the items of the <i>value</i> vector to this vector.</p>
10030    /// <p>This function was introduced in  Qt 5.5.</p>
10031    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
10032    #[inline(always)]
10033    pub unsafe fn append_q_vector_of_q_component(
10034        &self,
10035        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
10036    ) {
10037        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_append2(
10038            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10039            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(l)
10040                .as_raw_ptr(),
10041        )
10042    }
10043
10044    /// <p>Returns the item at index position <i>i</i> in the vector.</p>
10045    ///
10046    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::at(int i) const```</span>.
10047    ///
10048    /// <a href="http://doc.qt.io/qt-5/qvector.html#at">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> in the vector.</p>
10049    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
10050    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
10051    #[inline(always)]
10052    pub unsafe fn at(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QComponent {
10053        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_at(
10054            self as *const crate::QVectorOfQComponent,
10055            i,
10056        )
10057    }
10058
10059    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p>
10060    ///
10061    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::back()```</span>.
10062    ///
10063    /// <a href="http://doc.qt.io/qt-5/qvector.html#back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
10064    #[inline(always)]
10065    pub unsafe fn back_mut(&self) -> *mut *mut crate::QComponent {
10066        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_back(
10067            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10068        )
10069    }
10070
10071    /// <p>This is an overloaded function.</p>
10072    ///
10073    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::back() const```</span>.
10074    ///
10075    /// <a href="http://doc.qt.io/qt-5/qvector.html#back-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
10076    #[inline(always)]
10077    pub unsafe fn back(&self) -> *const *mut crate::QComponent {
10078        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_back1(
10079            self as *const crate::QVectorOfQComponent,
10080        )
10081    }
10082
10083    /// <p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
10084    ///
10085    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::capacity() const```</span>.
10086    ///
10087    /// <a href="http://doc.qt.io/qt-5/qvector.html#capacity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
10088    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function. If you want to know how many items are in the vector, call <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
10089    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
10090    #[inline(always)]
10091    pub unsafe fn capacity(&self) -> ::std::os::raw::c_int {
10092        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_capacity(
10093            self as *const crate::QVectorOfQComponent,
10094        )
10095    }
10096
10097    /// <p>Removes all the elements from the vector.</p>
10098    ///
10099    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::clear()```</span>.
10100    ///
10101    /// <a href="http://doc.qt.io/qt-5/qvector.html#clear">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all the elements from the vector.</p>
10102    /// <p><b>Note: </b>Until Qt 5.6, this also released the memory used by the vector. From Qt 5.7, the capacity is preserved. To shed all capacity, swap with a default-constructed vector:</p><pre class="cpp">
10103    ///
10104    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span> v <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>;
10105    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span>()<span class="operator">.</span>swap(v);
10106    ///   Q_ASSERT(v<span class="operator">.</span>capacity() <span class="operator">=</span><span class="operator">=</span> <span class="number">0</span>);
10107    ///
10108    /// </pre>
10109    /// <p>or call <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
10110    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
10111    #[inline(always)]
10112    pub unsafe fn clear(&self) {
10113        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_clear(
10114            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10115        )
10116    }
10117
10118    /// <p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
10119    ///
10120    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent** QVector<Qt3DCore::QComponent*>::constData() const```</span>.
10121    ///
10122    /// <a href="http://doc.qt.io/qt-5/qvector.html#constData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
10123    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
10124    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
10125    #[inline(always)]
10126    pub unsafe fn const_data(&self) -> *const *mut crate::QComponent {
10127        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_constData(
10128            self as *const crate::QVectorOfQComponent,
10129        )
10130    }
10131
10132    /// <p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
10133    ///
10134    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::constFirst() const```</span>.
10135    ///
10136    /// <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
10137    /// <p>This function was introduced in  Qt 5.6.</p>
10138    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
10139    #[inline(always)]
10140    pub unsafe fn const_first(&self) -> *const *mut crate::QComponent {
10141        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_constFirst(
10142            self as *const crate::QVectorOfQComponent,
10143        )
10144    }
10145
10146    /// <p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
10147    ///
10148    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::constLast() const```</span>.
10149    ///
10150    /// <a href="http://doc.qt.io/qt-5/qvector.html#constLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
10151    /// <p>This function was introduced in  Qt 5.6.</p>
10152    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
10153    #[inline(always)]
10154    pub unsafe fn const_last(&self) -> *const *mut crate::QComponent {
10155        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_constLast(
10156            self as *const crate::QVectorOfQComponent,
10157        )
10158    }
10159
10160    /// <p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
10161    ///
10162    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::contains(const Qt3DCore::QComponent*& t) const```</span>.
10163    ///
10164    /// <a href="http://doc.qt.io/qt-5/qvector.html#contains">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
10165    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
10166    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p></div>
10167    #[inline(always)]
10168    pub unsafe fn contains(&self, t: *const *mut crate::QComponent) -> bool {
10169        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_contains(
10170            self as *const crate::QVectorOfQComponent,
10171            t,
10172        )
10173    }
10174
10175    /// <p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p>
10176    ///
10177    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>& QVector<Qt3DCore::QComponent*>::operator=(const QVector<Qt3DCore::QComponent*>& v)```</span>.
10178    ///
10179    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p></div>
10180    #[inline(always)]
10181    pub unsafe fn copy_from(
10182        &self,
10183        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
10184    ) -> ::cpp_core::Ref<crate::QVectorOfQComponent> {
10185        let ffi_result = {
10186            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator_(
10187                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10188                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(v)
10189                    .as_raw_ptr(),
10190            )
10191        };
10192        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
10193    }
10194
10195    /// <p>Returns the number of occurrences of <i>value</i> in the vector.</p>
10196    ///
10197    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::count(const Qt3DCore::QComponent*& t) const```</span>.
10198    ///
10199    /// <a href="http://doc.qt.io/qt-5/qvector.html#count">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of occurrences of <i>value</i> in the vector.</p>
10200    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
10201    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
10202    #[inline(always)]
10203    pub unsafe fn count_1a(&self, t: *const *mut crate::QComponent) -> ::std::os::raw::c_int {
10204        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_count(
10205            self as *const crate::QVectorOfQComponent,
10206            t,
10207        )
10208    }
10209
10210    /// <p>This is an overloaded function.</p>
10211    ///
10212    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::count() const```</span>.
10213    ///
10214    /// <a href="http://doc.qt.io/qt-5/qvector.html#count-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
10215    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
10216    #[inline(always)]
10217    pub unsafe fn count_0a(&self) -> ::std::os::raw::c_int {
10218        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_count1(
10219            self as *const crate::QVectorOfQComponent,
10220        )
10221    }
10222
10223    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
10224    ///
10225    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent** QVector<Qt3DCore::QComponent*>::data()```</span>.
10226    ///
10227    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
10228    /// <p>Example:</p>
10229    /// <pre class="cpp">
10230    ///
10231    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
10232    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
10233    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
10234    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
10235    ///
10236    /// </pre>
10237    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
10238    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
10239    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
10240    #[inline(always)]
10241    pub unsafe fn data_mut(&self) -> *mut *mut crate::QComponent {
10242        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_data(
10243            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10244        )
10245    }
10246
10247    /// <p>This is an overloaded function.</p>
10248    ///
10249    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent** QVector<Qt3DCore::QComponent*>::data() const```</span>.
10250    ///
10251    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
10252    #[inline(always)]
10253    pub unsafe fn data(&self) -> *const *mut crate::QComponent {
10254        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_data1(
10255            self as *const crate::QVectorOfQComponent,
10256        )
10257    }
10258
10259    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::detach()```</span>.
10260    #[inline(always)]
10261    pub unsafe fn detach(&self) {
10262        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_detach(
10263            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10264        )
10265    }
10266
10267    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p>
10268    ///
10269    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::empty() const```</span>.
10270    ///
10271    /// <a href="http://doc.qt.io/qt-5/qvector.html#empty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p></div>
10272    #[inline(always)]
10273    pub unsafe fn empty(&self) -> bool {
10274        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_empty(
10275            self as *const crate::QVectorOfQComponent,
10276        )
10277    }
10278
10279    /// <p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
10280    ///
10281    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::endsWith(const Qt3DCore::QComponent*& t) const```</span>.
10282    ///
10283    /// <a href="http://doc.qt.io/qt-5/qvector.html#endsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
10284    /// <p>This function was introduced in  Qt 4.5.</p>
10285    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
10286    #[inline(always)]
10287    pub unsafe fn ends_with(&self, t: *const *mut crate::QComponent) -> bool {
10288        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_endsWith(
10289            self as *const crate::QVectorOfQComponent,
10290            t,
10291        )
10292    }
10293
10294    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
10295    ///
10296    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>& QVector<Qt3DCore::QComponent*>::fill(const Qt3DCore::QComponent*& t, int size = …)```</span>.
10297    ///
10298    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
10299    /// <p>Example:</p>
10300    /// <pre class="cpp">
10301    ///
10302    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
10303    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
10304    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
10305    ///
10306    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
10307    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
10308    ///
10309    /// </pre>
10310    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
10311    #[inline(always)]
10312    pub unsafe fn fill_2a(
10313        &self,
10314        t: *const *mut crate::QComponent,
10315        size: ::std::os::raw::c_int,
10316    ) -> ::cpp_core::Ref<crate::QVectorOfQComponent> {
10317        let ffi_result = {
10318            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_fill(
10319                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10320                t,
10321                size,
10322            )
10323        };
10324        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
10325    }
10326
10327    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
10328    ///
10329    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>& QVector<Qt3DCore::QComponent*>::fill(const Qt3DCore::QComponent*& t)```</span>.
10330    ///
10331    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
10332    /// <p>Example:</p>
10333    /// <pre class="cpp">
10334    ///
10335    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
10336    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
10337    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
10338    ///
10339    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
10340    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
10341    ///
10342    /// </pre>
10343    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
10344    #[inline(always)]
10345    pub unsafe fn fill_1a(
10346        &self,
10347        t: *const *mut crate::QComponent,
10348    ) -> ::cpp_core::Ref<crate::QVectorOfQComponent> {
10349        let ffi_result = {
10350            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_fill1(
10351                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10352                t,
10353            )
10354        };
10355        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
10356    }
10357
10358    /// <p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
10359    ///
10360    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::first()```</span>.
10361    ///
10362    /// <a href="http://doc.qt.io/qt-5/qvector.html#first">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
10363    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>().</p></div>
10364    #[inline(always)]
10365    pub unsafe fn first_mut(&self) -> *mut *mut crate::QComponent {
10366        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_first(
10367            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10368        )
10369    }
10370
10371    /// <p>This is an overloaded function.</p>
10372    ///
10373    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::first() const```</span>.
10374    ///
10375    /// <a href="http://doc.qt.io/qt-5/qvector.html#first-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
10376    #[inline(always)]
10377    pub unsafe fn first(&self) -> *const *mut crate::QComponent {
10378        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_first1(
10379            self as *const crate::QVectorOfQComponent,
10380        )
10381    }
10382
10383    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p>
10384    ///
10385    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::front()```</span>.
10386    ///
10387    /// <a href="http://doc.qt.io/qt-5/qvector.html#front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
10388    #[inline(always)]
10389    pub unsafe fn front_mut(&self) -> *mut *mut crate::QComponent {
10390        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_front(
10391            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10392        )
10393    }
10394
10395    /// <p>This is an overloaded function.</p>
10396    ///
10397    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::front() const```</span>.
10398    ///
10399    /// <a href="http://doc.qt.io/qt-5/qvector.html#front-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
10400    #[inline(always)]
10401    pub unsafe fn front(&self) -> *const *mut crate::QComponent {
10402        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_front1(
10403            self as *const crate::QVectorOfQComponent,
10404        )
10405    }
10406
10407    /// <p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
10408    ///
10409    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::operator[](int i)```</span>.
10410    ///
10411    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
10412    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
10413    /// <p>Note that using non-const operators can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy.</p>
10414    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>().</p></div>
10415    #[inline(always)]
10416    pub unsafe fn index_mut(&self, i: ::std::os::raw::c_int) -> *mut *mut crate::QComponent {
10417        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator__2(
10418            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10419            i,
10420        )
10421    }
10422
10423    /// <p>This is an overloaded function.</p>
10424    ///
10425    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::operator[](int i) const```</span>.
10426    ///
10427    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
10428    /// <p>Same as at(<i>i</i>).</p></div>
10429    #[inline(always)]
10430    pub unsafe fn index(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QComponent {
10431        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator__3(
10432            self as *const crate::QVectorOfQComponent,
10433            i,
10434        )
10435    }
10436
10437    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
10438    ///
10439    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::indexOf(const Qt3DCore::QComponent*& t, int from = …) const```</span>.
10440    ///
10441    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
10442    /// <p>Example:</p>
10443    /// <pre class="cpp">
10444    ///
10445    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
10446    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
10447    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
10448    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
10449    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
10450    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
10451    ///
10452    /// </pre>
10453    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
10454    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
10455    #[inline(always)]
10456    pub unsafe fn index_of_2a(
10457        &self,
10458        t: *const *mut crate::QComponent,
10459        from: ::std::os::raw::c_int,
10460    ) -> ::std::os::raw::c_int {
10461        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_indexOf(
10462            self as *const crate::QVectorOfQComponent,
10463            t,
10464            from,
10465        )
10466    }
10467
10468    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
10469    ///
10470    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::indexOf(const Qt3DCore::QComponent*& t) const```</span>.
10471    ///
10472    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
10473    /// <p>Example:</p>
10474    /// <pre class="cpp">
10475    ///
10476    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
10477    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
10478    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
10479    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
10480    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
10481    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
10482    ///
10483    /// </pre>
10484    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
10485    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
10486    #[inline(always)]
10487    pub unsafe fn index_of_1a(&self, t: *const *mut crate::QComponent) -> ::std::os::raw::c_int {
10488        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_indexOf1(
10489            self as *const crate::QVectorOfQComponent,
10490            t,
10491        )
10492    }
10493
10494    /// <p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
10495    ///
10496    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::insert(int i, const Qt3DCore::QComponent*& t)```</span>.
10497    ///
10498    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
10499    /// <p>Example:</p>
10500    /// <pre class="cpp">
10501    ///
10502    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
10503    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"alpha"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"beta"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"delta"</span>;
10504    ///   vector<span class="operator">.</span>insert(<span class="number">2</span><span class="operator">,</span> <span class="string">"gamma"</span>);
10505    ///   <span class="comment">// vector: ["alpha", "beta", "gamma", "delta"]</span>
10506    ///
10507    /// </pre>
10508    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items at indexes <i>i</i> and above by one position further in memory. If you want a container class that provides a fast insert() function, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
10509    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
10510    #[inline(always)]
10511    pub unsafe fn insert_2a(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QComponent) {
10512        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_insert(
10513            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10514            i,
10515            t,
10516        )
10517    }
10518
10519    /// <p>This is an overloaded function.</p>
10520    ///
10521    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::insert(int i, int n, const Qt3DCore::QComponent*& t)```</span>.
10522    ///
10523    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
10524    /// <p>Inserts <i>count</i> copies of <i>value</i> at index position <i>i</i> in the vector.</p>
10525    /// <p>Example:</p>
10526    /// <pre class="cpp">
10527    ///
10528    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">double</span><span class="operator">&gt;</span> vector;
10529    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2.718</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1.442</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">0.4342</span>;
10530    ///   vector<span class="operator">.</span>insert(<span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">9.9</span>);
10531    ///   <span class="comment">// vector: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]</span>
10532    ///
10533    /// </pre></div>
10534    #[inline(always)]
10535    pub unsafe fn insert_3a(
10536        &self,
10537        i: ::std::os::raw::c_int,
10538        n: ::std::os::raw::c_int,
10539        t: *const *mut crate::QComponent,
10540    ) {
10541        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_insert1(
10542            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10543            i,
10544            n,
10545            t,
10546        )
10547    }
10548
10549    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::isDetached() const```</span>.
10550    #[inline(always)]
10551    pub unsafe fn is_detached(&self) -> bool {
10552        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_isDetached(
10553            self as *const crate::QVectorOfQComponent,
10554        )
10555    }
10556
10557    /// <p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
10558    ///
10559    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::isEmpty() const```</span>.
10560    ///
10561    /// <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
10562    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
10563    #[inline(always)]
10564    pub unsafe fn is_empty(&self) -> bool {
10565        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_isEmpty(
10566            self as *const crate::QVectorOfQComponent,
10567        )
10568    }
10569
10570    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::isSharedWith(const QVector<Qt3DCore::QComponent*>& other) const```</span>.
10571    #[inline(always)]
10572    pub unsafe fn is_shared_with(
10573        &self,
10574        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
10575    ) -> bool {
10576        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_isSharedWith(
10577            self as *const crate::QVectorOfQComponent,
10578            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(other)
10579                .as_raw_ptr(),
10580        )
10581    }
10582
10583    /// <p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
10584    ///
10585    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::last()```</span>.
10586    ///
10587    /// <a href="http://doc.qt.io/qt-5/qvector.html#last">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
10588    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>().</p></div>
10589    #[inline(always)]
10590    pub unsafe fn last_mut(&self) -> *mut *mut crate::QComponent {
10591        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_last(
10592            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10593        )
10594    }
10595
10596    /// <p>This is an overloaded function.</p>
10597    ///
10598    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent*& QVector<Qt3DCore::QComponent*>::last() const```</span>.
10599    ///
10600    /// <a href="http://doc.qt.io/qt-5/qvector.html#last-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
10601    #[inline(always)]
10602    pub unsafe fn last(&self) -> *const *mut crate::QComponent {
10603        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_last1(
10604            self as *const crate::QVectorOfQComponent,
10605        )
10606    }
10607
10608    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
10609    ///
10610    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::lastIndexOf(const Qt3DCore::QComponent*& t, int from = …) const```</span>.
10611    ///
10612    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
10613    /// <p>Example:</p>
10614    /// <pre class="cpp">
10615    ///
10616    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
10617    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
10618    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
10619    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
10620    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
10621    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
10622    ///
10623    /// </pre>
10624    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
10625    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
10626    #[inline(always)]
10627    pub unsafe fn last_index_of_2a(
10628        &self,
10629        t: *const *mut crate::QComponent,
10630        from: ::std::os::raw::c_int,
10631    ) -> ::std::os::raw::c_int {
10632        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_lastIndexOf(
10633            self as *const crate::QVectorOfQComponent,
10634            t,
10635            from,
10636        )
10637    }
10638
10639    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
10640    ///
10641    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::lastIndexOf(const Qt3DCore::QComponent*& t) const```</span>.
10642    ///
10643    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
10644    /// <p>Example:</p>
10645    /// <pre class="cpp">
10646    ///
10647    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
10648    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
10649    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
10650    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
10651    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
10652    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
10653    ///
10654    /// </pre>
10655    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
10656    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
10657    #[inline(always)]
10658    pub unsafe fn last_index_of_1a(
10659        &self,
10660        t: *const *mut crate::QComponent,
10661    ) -> ::std::os::raw::c_int {
10662        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_lastIndexOf1(
10663            self as *const crate::QVectorOfQComponent,
10664            t,
10665        )
10666    }
10667
10668    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
10669    ///
10670    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::length() const```</span>.
10671    ///
10672    /// <a href="http://doc.qt.io/qt-5/qvector.html#length">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
10673    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
10674    /// <p>This function was introduced in  Qt 5.2.</p>
10675    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#length">QList::length</a>().</p></div>
10676    #[inline(always)]
10677    pub unsafe fn length(&self) -> ::std::os::raw::c_int {
10678        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_length(
10679            self as *const crate::QVectorOfQComponent,
10680        )
10681    }
10682
10683    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
10684    ///
10685    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*> QVector<Qt3DCore::QComponent*>::mid(int pos, int len = …) const```</span>.
10686    ///
10687    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
10688    #[inline(always)]
10689    pub unsafe fn mid_2a(
10690        &self,
10691        pos: ::std::os::raw::c_int,
10692        len: ::std::os::raw::c_int,
10693    ) -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
10694        let ffi_result = {
10695            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_mid(
10696                self as *const crate::QVectorOfQComponent,
10697                pos,
10698                len,
10699            )
10700        };
10701        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
10702    }
10703
10704    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
10705    ///
10706    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*> QVector<Qt3DCore::QComponent*>::mid(int pos) const```</span>.
10707    ///
10708    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
10709    #[inline(always)]
10710    pub unsafe fn mid_1a(
10711        &self,
10712        pos: ::std::os::raw::c_int,
10713    ) -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
10714        let ffi_result = {
10715            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_mid1(
10716                self as *const crate::QVectorOfQComponent,
10717                pos,
10718            )
10719        };
10720        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
10721    }
10722
10723    /// <p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
10724    ///
10725    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::move(int from, int to)```</span>.
10726    ///
10727    /// <a href="http://doc.qt.io/qt-5/qvector.html#move">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
10728    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
10729    /// <p>This function was introduced in  Qt 5.6.</p>
10730    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qlist.html#move">QList::move</a>().</p></div>
10731    #[inline(always)]
10732    pub unsafe fn move_(&self, from: ::std::os::raw::c_int, to: ::std::os::raw::c_int) {
10733        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_move(
10734            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10735            from,
10736            to,
10737        )
10738    }
10739
10740    /// <p>Constructs an empty vector.</p>
10741    ///
10742    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QComponent*>::QVector()```</span>.
10743    ///
10744    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs an empty vector.</p>
10745    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
10746    #[inline(always)]
10747    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
10748        let ffi_result =
10749            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_QVector() };
10750        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
10751    }
10752
10753    /// <p>Constructs a vector with an initial size of <i>size</i> elements.</p>
10754    ///
10755    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QComponent*>::QVector(int size)```</span>.
10756    ///
10757    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements.</p>
10758    /// <p>The elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>.</p>
10759    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
10760    #[inline(always)]
10761    pub unsafe fn new_1a(
10762        size: ::std::os::raw::c_int,
10763    ) -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
10764        let ffi_result =
10765            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_QVector1(size) };
10766        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
10767    }
10768
10769    /// <p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
10770    ///
10771    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QComponent*>::QVector(int size, const Qt3DCore::QComponent*& t)```</span>.
10772    ///
10773    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
10774    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
10775    #[inline(always)]
10776    pub unsafe fn new_2a(
10777        size: ::std::os::raw::c_int,
10778        t: *const *mut crate::QComponent,
10779    ) -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
10780        let ffi_result =
10781            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_QVector2(size, t) };
10782        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
10783    }
10784
10785    /// <p>Constructs a copy of <i>other</i>.</p>
10786    ///
10787    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QComponent*>::QVector(const QVector<Qt3DCore::QComponent*>& v)```</span>.
10788    ///
10789    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-3">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a copy of <i>other</i>.</p>
10790    /// <p>This operation takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a>, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicitly shared</a>. This makes returning a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">linear time</a>.</p>
10791    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">operator=</a>().</p></div>
10792    #[inline(always)]
10793    pub unsafe fn new_copy(
10794        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
10795    ) -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
10796        let ffi_result = {
10797            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_QVector3(
10798                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(v)
10799                    .as_raw_ptr(),
10800            )
10801        };
10802        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
10803    }
10804
10805    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p>
10806    ///
10807    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::pop_back()```</span>.
10808    ///
10809    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
10810    #[inline(always)]
10811    pub unsafe fn pop_back(&self) {
10812        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_pop_back(
10813            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10814        )
10815    }
10816
10817    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p>
10818    ///
10819    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::pop_front()```</span>.
10820    ///
10821    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
10822    #[inline(always)]
10823    pub unsafe fn pop_front(&self) {
10824        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_pop_front(
10825            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10826        )
10827    }
10828
10829    /// <p>Inserts <i>value</i> at the beginning of the vector.</p>
10830    ///
10831    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::prepend(const Qt3DCore::QComponent*& t)```</span>.
10832    ///
10833    /// <a href="http://doc.qt.io/qt-5/qvector.html#prepend">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the beginning of the vector.</p>
10834    /// <p>Example:</p>
10835    /// <pre class="cpp">
10836    ///
10837    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
10838    ///   vector<span class="operator">.</span>prepend(<span class="string">"one"</span>);
10839    ///   vector<span class="operator">.</span>prepend(<span class="string">"two"</span>);
10840    ///   vector<span class="operator">.</span>prepend(<span class="string">"three"</span>);
10841    ///   <span class="comment">// vector: ["three", "two", "one"]</span>
10842    ///
10843    /// </pre>
10844    /// <p>This is the same as vector.insert(0, <i>value</i>).</p>
10845    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items in the vector by one position further in memory. If you want a container class that provides a fast prepend() function, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
10846    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
10847    #[inline(always)]
10848    pub unsafe fn prepend(&self, t: *const *mut crate::QComponent) {
10849        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_prepend(
10850            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10851            t,
10852        )
10853    }
10854
10855    /// <p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p>
10856    ///
10857    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::push_back(const Qt3DCore::QComponent*& t)```</span>.
10858    ///
10859    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p></div>
10860    #[inline(always)]
10861    pub unsafe fn push_back(&self, t: *const *mut crate::QComponent) {
10862        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_push_back(
10863            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10864            t,
10865        )
10866    }
10867
10868    /// <p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p>
10869    ///
10870    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::push_front(const Qt3DCore::QComponent*& t)```</span>.
10871    ///
10872    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p></div>
10873    #[inline(always)]
10874    pub unsafe fn push_front(&self, t: *const *mut crate::QComponent) {
10875        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_push_front(
10876            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10877            t,
10878        )
10879    }
10880
10881    /// <p>This is an overloaded function.</p>
10882    ///
10883    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::remove(int i)```</span>.
10884    ///
10885    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
10886    /// <p>Removes the element at index position <i>i</i>.</p>
10887    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
10888    #[inline(always)]
10889    pub unsafe fn remove_1a(&self, i: ::std::os::raw::c_int) {
10890        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_remove(
10891            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10892            i,
10893        )
10894    }
10895
10896    /// <p>This is an overloaded function.</p>
10897    ///
10898    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::remove(int i, int n)```</span>.
10899    ///
10900    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
10901    /// <p>Removes <i>count</i> elements from the middle of the vector, starting at index position <i>i</i>.</p>
10902    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
10903    #[inline(always)]
10904    pub unsafe fn remove_2a(&self, i: ::std::os::raw::c_int, n: ::std::os::raw::c_int) {
10905        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_remove1(
10906            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10907            i,
10908            n,
10909        )
10910    }
10911
10912    /// <p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
10913    ///
10914    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::removeAll(const Qt3DCore::QComponent*& t)```</span>.
10915    ///
10916    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAll">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
10917    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
10918    /// <p>This function was introduced in  Qt 5.4.</p>
10919    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeOne">removeOne</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAll">QList::removeAll</a>().</p></div>
10920    #[inline(always)]
10921    pub unsafe fn remove_all(&self, t: *const *mut crate::QComponent) -> ::std::os::raw::c_int {
10922        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_removeAll(
10923            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10924            t,
10925        )
10926    }
10927
10928    /// <p>Removes the element at index position <i>i</i>. Equivalent to</p>
10929    ///
10930    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::removeAt(int i)```</span>.
10931    ///
10932    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i>. Equivalent to</p>
10933    /// <pre class="cpp">
10934    ///
10935    ///   remove(i);
10936    ///
10937    /// </pre>
10938    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
10939    /// <p>This function was introduced in  Qt 5.2.</p>
10940    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAt">QList::removeAt</a>().</p></div>
10941    #[inline(always)]
10942    pub unsafe fn remove_at(&self, i: ::std::os::raw::c_int) {
10943        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_removeAt(
10944            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10945            i,
10946        )
10947    }
10948
10949    /// <p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
10950    ///
10951    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::removeFirst()```</span>.
10952    ///
10953    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
10954    /// <p>This function was introduced in  Qt 5.1.</p>
10955    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
10956    #[inline(always)]
10957    pub unsafe fn remove_first(&self) {
10958        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_removeFirst(
10959            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10960        )
10961    }
10962
10963    /// <p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
10964    ///
10965    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::removeLast()```</span>.
10966    ///
10967    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
10968    /// <p>This function was introduced in  Qt 5.1.</p>
10969    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
10970    #[inline(always)]
10971    pub unsafe fn remove_last(&self) {
10972        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_removeLast(
10973            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10974        )
10975    }
10976
10977    /// <p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
10978    ///
10979    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::removeOne(const Qt3DCore::QComponent*& t)```</span>.
10980    ///
10981    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeOne">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
10982    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
10983    /// <p>This function was introduced in  Qt 5.4.</p>
10984    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeAll">removeAll</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeOne">QList::removeOne</a>().</p></div>
10985    #[inline(always)]
10986    pub unsafe fn remove_one(&self, t: *const *mut crate::QComponent) -> bool {
10987        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_removeOne(
10988            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
10989            t,
10990        )
10991    }
10992
10993    /// <p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
10994    ///
10995    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::replace(int i, const Qt3DCore::QComponent*& t)```</span>.
10996    ///
10997    /// <a href="http://doc.qt.io/qt-5/qvector.html#replace">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
10998    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
10999    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
11000    #[inline(always)]
11001    pub unsafe fn replace(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QComponent) {
11002        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_replace(
11003            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11004            i,
11005            t,
11006        )
11007    }
11008
11009    /// <p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
11010    ///
11011    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::reserve(int size)```</span>.
11012    ///
11013    /// <a href="http://doc.qt.io/qt-5/qvector.html#reserve">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
11014    /// <p>If <i>size</i> is an underestimate, the worst that will happen is that the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will be a bit slower. If <i>size</i> is an overestimate, you may have used more memory than the normal <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> growth strategy would have allocated—or you may have used less.</p>
11015    /// <p>An alternative to reserve() is calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). Whether or not that is faster than reserve() depends on the element type, because <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() default-constructs all elements, and requires assignment to existing entries rather than calling <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), which copy- or move-constructs. For simple types, like <code>int</code> or <code>double</code>, <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() is typically faster, but for anything more complex, you should prefer reserve().</p>
11016    /// <p><b>Warning:</b> If the size passed to <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() was underestimated, you run out of allocated space and into undefined behavior. This problem does not exist with reserve(), because it treats the size as just a hint.</p>
11017    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
11018    #[inline(always)]
11019    pub unsafe fn reserve(&self, size: ::std::os::raw::c_int) {
11020        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_reserve(
11021            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11022            size,
11023        )
11024    }
11025
11026    /// <p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
11027    ///
11028    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::resize(int size)```</span>.
11029    ///
11030    /// <a href="http://doc.qt.io/qt-5/qvector.html#resize">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
11031    /// <p>Since Qt 5.6, resize() doesn't shrink the capacity anymore. To shed excess capacity, use <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
11032    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
11033    #[inline(always)]
11034    pub unsafe fn resize(&self, size: ::std::os::raw::c_int) {
11035        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_resize(
11036            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11037            size,
11038        )
11039    }
11040
11041    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::setSharable(bool sharable)```</span>.
11042    #[inline(always)]
11043    pub unsafe fn set_sharable(&self, sharable: bool) {
11044        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_setSharable(
11045            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11046            sharable,
11047        )
11048    }
11049
11050    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
11051    ///
11052    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::shrink_to_fit()```</span>.
11053    ///
11054    /// <a href="http://doc.qt.io/qt-5/qvector.html#shrink_to_fit">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
11055    /// <p>This function was introduced in  Qt 5.10.</p></div>
11056    #[inline(always)]
11057    #[cfg_attr(
11058        feature = "ritual_rustdoc_nightly",
11059        doc(cfg(any(
11060            cpp_lib_version = "5.11.3",
11061            cpp_lib_version = "5.12.2",
11062            cpp_lib_version = "5.13.0",
11063            cpp_lib_version = "5.14.0"
11064        )))
11065    )]
11066    #[cfg(any(
11067        any(
11068            cpp_lib_version = "5.11.3",
11069            cpp_lib_version = "5.12.2",
11070            cpp_lib_version = "5.13.0",
11071            cpp_lib_version = "5.14.0"
11072        ),
11073        feature = "ritual_rustdoc"
11074    ))]
11075    pub unsafe fn shrink_to_fit(&self) {
11076        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_shrink_to_fit(
11077            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11078        )
11079    }
11080
11081    /// <p>Returns the number of items in the vector.</p>
11082    ///
11083    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::size() const```</span>.
11084    ///
11085    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
11086    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
11087    #[inline(always)]
11088    pub unsafe fn size(&self) -> ::std::os::raw::c_int {
11089        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_size(
11090            self as *const crate::QVectorOfQComponent,
11091        )
11092    }
11093
11094    /// <p>Releases any memory not required to store the items.</p>
11095    ///
11096    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::squeeze()```</span>.
11097    ///
11098    /// <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Releases any memory not required to store the items.</p>
11099    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function.</p>
11100    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
11101    #[inline(always)]
11102    pub unsafe fn squeeze(&self) {
11103        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_squeeze(
11104            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11105        )
11106    }
11107
11108    /// <p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
11109    ///
11110    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::startsWith(const Qt3DCore::QComponent*& t) const```</span>.
11111    ///
11112    /// <a href="http://doc.qt.io/qt-5/qvector.html#startsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
11113    /// <p>This function was introduced in  Qt 4.5.</p>
11114    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
11115    #[inline(always)]
11116    pub unsafe fn starts_with(&self, t: *const *mut crate::QComponent) -> bool {
11117        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_startsWith(
11118            self as *const crate::QVectorOfQComponent,
11119            t,
11120        )
11121    }
11122
11123    /// <p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
11124    ///
11125    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::swap(QVector<Qt3DCore::QComponent*>& other)```</span>.
11126    ///
11127    /// <a href="http://doc.qt.io/qt-5/qvector.html#swap">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
11128    /// <p>This function was introduced in  Qt 4.8.</p></div>
11129    #[inline(always)]
11130    pub unsafe fn swap(
11131        &self,
11132        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
11133    ) {
11134        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_swap(
11135            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11136            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(other)
11137                .as_raw_ptr() as *mut crate::QVectorOfQComponent,
11138        )
11139    }
11140
11141    /// <p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
11142    ///
11143    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QComponent*>::swapItemsAt(int i, int j)```</span>.
11144    ///
11145    /// <a href="http://doc.qt.io/qt-5/qvector.html#swapItemsAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
11146    /// <p>This function was introduced in  Qt 5.14.</p></div>
11147    #[inline(always)]
11148    #[cfg_attr(
11149        feature = "ritual_rustdoc_nightly",
11150        doc(cfg(cpp_lib_version = "5.14.0"))
11151    )]
11152    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
11153    pub unsafe fn swap_items_at(&self, i: ::std::os::raw::c_int, j: ::std::os::raw::c_int) {
11154        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_swapItemsAt(
11155            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11156            i,
11157            j,
11158        )
11159    }
11160
11161    /// <p>Removes the element at index position <i>i</i> and returns it.</p>
11162    ///
11163    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* QVector<Qt3DCore::QComponent*>::takeAt(int i)```</span>.
11164    ///
11165    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i> and returns it.</p>
11166    /// <p>Equivalent to</p>
11167    /// <pre class="cpp">
11168    ///
11169    ///   T t <span class="operator">=</span> at(i);
11170    ///   remove(i);
11171    ///   <span class="keyword">return</span> t;
11172    ///
11173    /// </pre>
11174    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
11175    /// <p>This function was introduced in  Qt 5.2.</p>
11176    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#takeAt">QList::takeAt</a>().</p></div>
11177    #[inline(always)]
11178    pub unsafe fn take_at(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QComponent> {
11179        let ffi_result = {
11180            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_takeAt(
11181                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11182                i,
11183            )
11184        };
11185        ::qt_core::QPtr::from_raw(ffi_result)
11186    }
11187
11188    /// <p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
11189    ///
11190    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* QVector<Qt3DCore::QComponent*>::takeFirst()```</span>.
11191    ///
11192    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
11193    /// <p>This function was introduced in  Qt 5.1.</p>
11194    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
11195    #[inline(always)]
11196    pub unsafe fn take_first(&self) -> ::qt_core::QPtr<crate::QComponent> {
11197        let ffi_result = {
11198            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_takeFirst(
11199                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11200            )
11201        };
11202        ::qt_core::QPtr::from_raw(ffi_result)
11203    }
11204
11205    /// <p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
11206    ///
11207    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* QVector<Qt3DCore::QComponent*>::takeLast()```</span>.
11208    ///
11209    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
11210    /// <p>If you don't use the return value, <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>() is more efficient.</p>
11211    /// <p>This function was introduced in  Qt 5.1.</p>
11212    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
11213    #[inline(always)]
11214    pub unsafe fn take_last(&self) -> ::qt_core::QPtr<crate::QComponent> {
11215        let ffi_result = {
11216            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_takeLast(
11217                self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
11218            )
11219        };
11220        ::qt_core::QPtr::from_raw(ffi_result)
11221    }
11222
11223    /// <p>Returns the value at index position <i>i</i> in the vector.</p>
11224    ///
11225    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* QVector<Qt3DCore::QComponent*>::value(int i) const```</span>.
11226    ///
11227    /// <a href="http://doc.qt.io/qt-5/qvector.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value at index position <i>i</i> in the vector.</p>
11228    /// <p>If the index <i>i</i> is out of bounds, the function returns a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you are certain that <i>i</i> is within bounds, you can use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() instead, which is slightly faster.</p>
11229    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
11230    #[inline(always)]
11231    pub unsafe fn value_1a(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QComponent> {
11232        let ffi_result = {
11233            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_value(
11234                self as *const crate::QVectorOfQComponent,
11235                i,
11236            )
11237        };
11238        ::qt_core::QPtr::from_raw(ffi_result)
11239    }
11240
11241    /// <p>This is an overloaded function.</p>
11242    ///
11243    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* QVector<Qt3DCore::QComponent*>::value(int i, const Qt3DCore::QComponent*& defaultValue) const```</span>.
11244    ///
11245    /// <a href="http://doc.qt.io/qt-5/qvector.html#value-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
11246    /// <p>If the index <i>i</i> is out of bounds, the function returns <i>defaultValue</i>.</p></div>
11247    #[inline(always)]
11248    pub unsafe fn value_2a(
11249        &self,
11250        i: ::std::os::raw::c_int,
11251        default_value: *const *mut crate::QComponent,
11252    ) -> ::qt_core::QPtr<crate::QComponent> {
11253        let ffi_result = {
11254            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_value1(
11255                self as *const crate::QVectorOfQComponent,
11256                i,
11257                default_value,
11258            )
11259        };
11260        ::qt_core::QPtr::from_raw(ffi_result)
11261    }
11262}
11263
11264/// <p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
11265///
11266/// C++ class: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>```</span>.
11267///
11268/// <a href="http://doc.qt.io/qt-5/qvector.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
11269/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; is one of Qt's generic <a href="http://doc.qt.io/qt-5/containers.html">container classes</a>. It stores its items in adjacent memory locations and provides fast index-based access.</p>
11270/// <p><a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt;, and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>&lt;T&gt; provide similar APIs and functionality. They are often interchangeable, but there are performance consequences. Here is an overview of use cases:</p>
11271/// <ul>
11272/// <li><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> should be your default first choice. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; will usually give better performance than <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; always stores its items sequentially in memory, where <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt; will allocate its items on the heap unless <code>sizeof(T) &lt;= sizeof(void*)</code> and T has been declared to be either a <code>Q_MOVABLE_TYPE</code> or a <code>Q_PRIMITIVE_TYPE</code> using <a href="http://doc.qt.io/qt-5/qtglobal.html#Q_DECLARE_TYPEINFO">Q_DECLARE_TYPEINFO</a>. See the <a href="http://marcmutz.wordpress.com/effective-qt/containers/#containers-qlist">Pros and Cons of Using QList</a> for an explanation.</li>
11273/// <li>However, <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> is used throughout the Qt APIs for passing parameters and for returning values. Use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> to interface with those APIs.</li>
11274/// <li>If you need a real linked list, which guarantees <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a> insertions mid-list and uses iterators to items rather than indexes, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>.</li>
11275/// </ul>
11276/// <p><b>Note: </b><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a> both guarantee C-compatible array layout. <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> does not. This might be important if your application must interface with a C API.</p><p><b>Note: </b>Iterators into a <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> and references into heap-allocating QLists remain valid as long as the referenced items remain in the container. This is not true for iterators and references into a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and non-heap-allocating QLists.</p><p>Here's an example of a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores integers and a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores <a href="http://doc.qt.io/qt-5/qstring.html">QString</a> values:</p>
11277/// <pre class="cpp">
11278///
11279///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> integerVector;
11280///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> stringVector;
11281///
11282/// </pre>
11283/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> stores its items in a vector (array). Typically, vectors are created with an initial size. For example, the following code constructs a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> with 200 elements:</p>
11284/// <pre class="cpp">
11285///
11286///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span>);
11287///
11288/// </pre>
11289/// <p>The elements are automatically initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you want to initialize the vector with a different value, pass that value as the second argument to the constructor:</p>
11290/// <pre class="cpp">
11291///
11292///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span><span class="operator">,</span> <span class="string">"Pass"</span>);
11293///
11294/// </pre>
11295/// <p>You can also call <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>() at any time to fill the vector with a value.</p>
11296/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> uses 0-based indexes, just like C++ arrays. To access the item at a particular index position, you can use operator[](). On non-const vectors, operator[]() returns a reference to the item that can be used on the left side of an assignment:</p>
11297/// <pre class="cpp">
11298///
11299///   <span class="keyword">if</span> (vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span><span class="operator">=</span> <span class="string">"Liz"</span>)
11300/// &#32;     vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="string">"Elizabeth"</span>;
11301///
11302/// </pre>
11303/// <p>For read-only access, an alternative syntax is to use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>():</p>
11304/// <pre class="cpp">
11305///
11306///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> vector<span class="operator">.</span>size(); <span class="operator">+</span><span class="operator">+</span>i) {
11307/// &#32;     <span class="keyword">if</span> (vector<span class="operator">.</span>at(i) <span class="operator">=</span><span class="operator">=</span> <span class="string">"Alfonso"</span>)
11308/// &#32;   &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"Found Alfonso at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
11309///   }
11310///
11311/// </pre>
11312/// <p><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() can be faster than operator[](), because it never causes a <a href="http://doc.qt.io/qt-5/implicit-sharing.html#deep-copy">deep copy</a> to occur.</p>
11313/// <p>Another way to access the data stored in a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is to call <a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>(). The function returns a pointer to the first item in the vector. You can use the pointer to directly access and modify the elements stored in the vector. The pointer is also useful if you need to pass a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to a function that accepts a plain C++ array.</p>
11314/// <p>If you want to find all occurrences of a particular value in a vector, use <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() or <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>(). The former searches forward starting from a given index position, the latter searches backward. Both return the index of the matching item if they found one; otherwise, they return -1. For example:</p>
11315/// <pre class="cpp">
11316///
11317///   <span class="type">int</span> i <span class="operator">=</span> vector<span class="operator">.</span>indexOf(<span class="string">"Harumi"</span>);
11318///   <span class="keyword">if</span> (i <span class="operator">!</span><span class="operator">=</span> <span class="operator">-</span><span class="number">1</span>)
11319/// &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"First occurrence of Harumi is at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
11320///
11321/// </pre>
11322/// <p>If you simply want to check whether a vector contains a particular value, use <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>(). If you want to find out how many times a particular value occurs in the vector, use <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
11323/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides these basic functions to add, move, and remove items: <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(). With the exception of <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), these functions can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>) for large vectors, because they require moving many items in the vector by one position in memory. If you want a container class that provides fast insertion/removal in the middle, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
11324/// <p>Unlike plain C++ arrays, QVectors can be resized at any time by calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). If the new size is larger than the old size, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> might need to reallocate the whole vector. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> tries to reduce the number of reallocations by preallocating up to twice as much memory as the actual data needs.</p>
11325/// <p>If you know in advance approximately how many items the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will contain, you can call <a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>(), asking <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to preallocate a certain amount of memory. You can also call <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>() to find out how much memory <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> actually allocated.</p>
11326/// <p>Note that using non-const operators and functions can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy of the data. This is due to <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicit sharing</a>.</p>
11327/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s value type must be an <a href="http://doc.qt.io/qt-5/containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> as a value; instead, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> *. A few functions have additional requirements; for example, <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() expect the value type to support <code>operator==()</code>. These requirements are documented on a per-function basis.</p>
11328/// <p>Like the other container classes, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides <a href="http://doc.qt.io/qt-5/containers.html#java-style-iterators">Java-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvectoriterator.html">QVectorIterator</a> and <a href="http://doc.qt.io/qt-5/qmutablevectoriterator.html">QMutableVectorIterator</a>) and <a href="http://doc.qt.io/qt-5/containers.html#stl-style-iterators">STL-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvector.html#const_iterator-typedef">QVector::const_iterator</a> and <a href="http://doc.qt.io/qt-5/qvector.html#iterator-typedefx">QVector::iterator</a>). In practice, these are rarely used, because you can use indexes into the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>.</p>
11329/// <p>In addition to <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>, Qt also provides <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>, a very low-level class with little functionality that is optimized for speed.</p>
11330/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> does <i>not</i> support inserting, prepending, appending or replacing with references to its own values. Doing so will cause your application to abort with an error message.</p>
11331/// <a name="more-information-on-using-qt-containers"></a>
11332/// <h4>More Information on Using Qt Containers</h4>
11333/// <p>For a detailed discussion comparing Qt containers with each other and with STL containers, see <a href="http://marcmutz.wordpress.com/effective-qt/containers/">Understand the Qt Containers</a>.</p></div>
11334#[repr(C)]
11335pub struct QVectorOfQNodeIdTypePair {
11336    _unused: u8,
11337}
11338impl QVectorOfQNodeIdTypePair {
11339    /// <p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
11340    ///
11341    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>& QVector<Qt3DCore::QNodeIdTypePair>::operator+=(const QVector<Qt3DCore::QNodeIdTypePair>& l)```</span>.
11342    ///
11343    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
11344    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">operator+</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>().</p></div>
11345    #[inline(always)]
11346    pub unsafe fn add_assign_q_vector_of_q_node_id_type_pair(
11347        &self,
11348        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>,
11349    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair> {
11350        let ffi_result = {
11351            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator__4(self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair, ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>::cast_into(l).as_raw_ptr())
11352        };
11353        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11354    }
11355
11356    /// <p>This is an overloaded function.</p>
11357    ///
11358    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>& QVector<Qt3DCore::QNodeIdTypePair>::operator+=(const Qt3DCore::QNodeIdTypePair& t)```</span>.
11359    ///
11360    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
11361    /// <p>Appends <i>value</i> to the vector.</p>
11362    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>().</p></div>
11363    #[inline(always)]
11364    pub unsafe fn add_assign_q_node_id_type_pair(
11365        &self,
11366        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
11367    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair> {
11368        let ffi_result = {
11369            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator__5(
11370                self as *const crate::QVectorOfQNodeIdTypePair
11371                    as *mut crate::QVectorOfQNodeIdTypePair,
11372                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
11373                    .as_raw_ptr(),
11374            )
11375        };
11376        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11377    }
11378
11379    /// <p>Inserts <i>value</i> at the end of the vector.</p>
11380    ///
11381    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::append(const Qt3DCore::QNodeIdTypePair& t)```</span>.
11382    ///
11383    /// <a href="http://doc.qt.io/qt-5/qvector.html#append">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the end of the vector.</p>
11384    /// <p>Example:</p>
11385    /// <pre class="cpp">
11386    ///
11387    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
11388    ///   vector<span class="operator">.</span>append(<span class="string">"one"</span>);
11389    ///   vector<span class="operator">.</span>append(<span class="string">"two"</span>);
11390    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> three <span class="operator">=</span> <span class="string">"three"</span>;
11391    ///   vector<span class="operator">.</span>append(three);
11392    ///   <span class="comment">// vector: ["one", "two", "three"]</span>
11393    ///   <span class="comment">// three: "three"</span>
11394    ///
11395    /// </pre>
11396    /// <p>This is the same as calling resize(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() + 1) and assigning <i>value</i> to the new last element in the vector.</p>
11397    /// <p>This operation is relatively fast, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> typically allocates more memory than necessary, so it can grow without reallocating the entire vector each time.</p>
11398    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
11399    #[inline(always)]
11400    pub unsafe fn append_q_node_id_type_pair(
11401        &self,
11402        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
11403    ) {
11404        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_append(
11405            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
11406            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
11407                .as_raw_ptr(),
11408        )
11409    }
11410
11411    /// <p>This is an overloaded function.</p>
11412    ///
11413    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::append(const QVector<Qt3DCore::QNodeIdTypePair>& l)```</span>.
11414    ///
11415    /// <a href="http://doc.qt.io/qt-5/qvector.html#append-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
11416    /// <p>Appends the items of the <i>value</i> vector to this vector.</p>
11417    /// <p>This function was introduced in  Qt 5.5.</p>
11418    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
11419    #[inline(always)]
11420    pub unsafe fn append_q_vector_of_q_node_id_type_pair(
11421        &self,
11422        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>,
11423    ) {
11424        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_append2(
11425            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
11426            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>::cast_into(l)
11427                .as_raw_ptr(),
11428        )
11429    }
11430
11431    /// <p>Returns the item at index position <i>i</i> in the vector.</p>
11432    ///
11433    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::at(int i) const```</span>.
11434    ///
11435    /// <a href="http://doc.qt.io/qt-5/qvector.html#at">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> in the vector.</p>
11436    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
11437    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
11438    #[inline(always)]
11439    pub unsafe fn at(&self, i: ::std::os::raw::c_int) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11440        let ffi_result = {
11441            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_at(
11442                self as *const crate::QVectorOfQNodeIdTypePair,
11443                i,
11444            )
11445        };
11446        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11447            .expect("attempted to construct a null Ref")
11448    }
11449
11450    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p>
11451    ///
11452    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::back()```</span>.
11453    ///
11454    /// <a href="http://doc.qt.io/qt-5/qvector.html#back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
11455    #[inline(always)]
11456    pub unsafe fn back_mut(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11457        let ffi_result = {
11458            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_back(
11459                self as *const crate::QVectorOfQNodeIdTypePair
11460                    as *mut crate::QVectorOfQNodeIdTypePair,
11461            )
11462        };
11463        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11464    }
11465
11466    /// <p>This is an overloaded function.</p>
11467    ///
11468    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::back() const```</span>.
11469    ///
11470    /// <a href="http://doc.qt.io/qt-5/qvector.html#back-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
11471    #[inline(always)]
11472    pub unsafe fn back(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11473        let ffi_result = {
11474            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_back1(
11475                self as *const crate::QVectorOfQNodeIdTypePair,
11476            )
11477        };
11478        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11479            .expect("attempted to construct a null Ref")
11480    }
11481
11482    /// <p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
11483    ///
11484    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeIdTypePair>::capacity() const```</span>.
11485    ///
11486    /// <a href="http://doc.qt.io/qt-5/qvector.html#capacity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
11487    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function. If you want to know how many items are in the vector, call <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
11488    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
11489    #[inline(always)]
11490    pub unsafe fn capacity(&self) -> ::std::os::raw::c_int {
11491        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_capacity(
11492            self as *const crate::QVectorOfQNodeIdTypePair,
11493        )
11494    }
11495
11496    /// <p>Removes all the elements from the vector.</p>
11497    ///
11498    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::clear()```</span>.
11499    ///
11500    /// <a href="http://doc.qt.io/qt-5/qvector.html#clear">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all the elements from the vector.</p>
11501    /// <p><b>Note: </b>Until Qt 5.6, this also released the memory used by the vector. From Qt 5.7, the capacity is preserved. To shed all capacity, swap with a default-constructed vector:</p><pre class="cpp">
11502    ///
11503    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span> v <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>;
11504    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span>()<span class="operator">.</span>swap(v);
11505    ///   Q_ASSERT(v<span class="operator">.</span>capacity() <span class="operator">=</span><span class="operator">=</span> <span class="number">0</span>);
11506    ///
11507    /// </pre>
11508    /// <p>or call <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
11509    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
11510    #[inline(always)]
11511    pub unsafe fn clear(&self) {
11512        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_clear(
11513            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
11514        )
11515    }
11516
11517    /// <p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
11518    ///
11519    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair* QVector<Qt3DCore::QNodeIdTypePair>::constData() const```</span>.
11520    ///
11521    /// <a href="http://doc.qt.io/qt-5/qvector.html#constData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
11522    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
11523    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
11524    #[inline(always)]
11525    pub unsafe fn const_data(&self) -> ::cpp_core::Ptr<crate::QNodeIdTypePair> {
11526        let ffi_result = {
11527            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_constData(
11528                self as *const crate::QVectorOfQNodeIdTypePair,
11529            )
11530        };
11531        ::cpp_core::Ptr::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11532    }
11533
11534    /// <p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
11535    ///
11536    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::constFirst() const```</span>.
11537    ///
11538    /// <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
11539    /// <p>This function was introduced in  Qt 5.6.</p>
11540    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
11541    #[inline(always)]
11542    pub unsafe fn const_first(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11543        let ffi_result = {
11544            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_constFirst(
11545                self as *const crate::QVectorOfQNodeIdTypePair,
11546            )
11547        };
11548        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11549            .expect("attempted to construct a null Ref")
11550    }
11551
11552    /// <p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
11553    ///
11554    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::constLast() const```</span>.
11555    ///
11556    /// <a href="http://doc.qt.io/qt-5/qvector.html#constLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
11557    /// <p>This function was introduced in  Qt 5.6.</p>
11558    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
11559    #[inline(always)]
11560    pub unsafe fn const_last(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11561        let ffi_result = {
11562            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_constLast(
11563                self as *const crate::QVectorOfQNodeIdTypePair,
11564            )
11565        };
11566        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11567            .expect("attempted to construct a null Ref")
11568    }
11569
11570    /// <p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p>
11571    ///
11572    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>& QVector<Qt3DCore::QNodeIdTypePair>::operator=(const QVector<Qt3DCore::QNodeIdTypePair>& v)```</span>.
11573    ///
11574    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p></div>
11575    #[inline(always)]
11576    pub unsafe fn copy_from(
11577        &self,
11578        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>,
11579    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair> {
11580        let ffi_result = {
11581            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator_(self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair, ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>::cast_into(v).as_raw_ptr())
11582        };
11583        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11584    }
11585
11586    /// <p>This is an overloaded function.</p>
11587    ///
11588    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeIdTypePair>::count() const```</span>.
11589    ///
11590    /// <a href="http://doc.qt.io/qt-5/qvector.html#count-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
11591    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
11592    #[inline(always)]
11593    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
11594        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_count1(
11595            self as *const crate::QVectorOfQNodeIdTypePair,
11596        )
11597    }
11598
11599    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
11600    ///
11601    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair* QVector<Qt3DCore::QNodeIdTypePair>::data()```</span>.
11602    ///
11603    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
11604    /// <p>Example:</p>
11605    /// <pre class="cpp">
11606    ///
11607    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
11608    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
11609    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
11610    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
11611    ///
11612    /// </pre>
11613    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
11614    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
11615    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
11616    #[inline(always)]
11617    pub unsafe fn data_mut(&self) -> ::cpp_core::Ptr<crate::QNodeIdTypePair> {
11618        let ffi_result = {
11619            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_data(
11620                self as *const crate::QVectorOfQNodeIdTypePair
11621                    as *mut crate::QVectorOfQNodeIdTypePair,
11622            )
11623        };
11624        ::cpp_core::Ptr::from_raw(ffi_result)
11625    }
11626
11627    /// <p>This is an overloaded function.</p>
11628    ///
11629    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair* QVector<Qt3DCore::QNodeIdTypePair>::data() const```</span>.
11630    ///
11631    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
11632    #[inline(always)]
11633    pub unsafe fn data(&self) -> ::cpp_core::Ptr<crate::QNodeIdTypePair> {
11634        let ffi_result = {
11635            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_data1(
11636                self as *const crate::QVectorOfQNodeIdTypePair,
11637            )
11638        };
11639        ::cpp_core::Ptr::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11640    }
11641
11642    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::detach()```</span>.
11643    #[inline(always)]
11644    pub unsafe fn detach(&self) {
11645        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_detach(
11646            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
11647        )
11648    }
11649
11650    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p>
11651    ///
11652    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeIdTypePair>::empty() const```</span>.
11653    ///
11654    /// <a href="http://doc.qt.io/qt-5/qvector.html#empty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p></div>
11655    #[inline(always)]
11656    pub unsafe fn empty(&self) -> bool {
11657        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_empty(
11658            self as *const crate::QVectorOfQNodeIdTypePair,
11659        )
11660    }
11661
11662    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
11663    ///
11664    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>& QVector<Qt3DCore::QNodeIdTypePair>::fill(const Qt3DCore::QNodeIdTypePair& t, int size = …)```</span>.
11665    ///
11666    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
11667    /// <p>Example:</p>
11668    /// <pre class="cpp">
11669    ///
11670    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
11671    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
11672    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
11673    ///
11674    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
11675    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
11676    ///
11677    /// </pre>
11678    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
11679    #[inline(always)]
11680    pub unsafe fn fill_2a(
11681        &self,
11682        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
11683        size: ::std::os::raw::c_int,
11684    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair> {
11685        let ffi_result = {
11686            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_fill(
11687                self as *const crate::QVectorOfQNodeIdTypePair
11688                    as *mut crate::QVectorOfQNodeIdTypePair,
11689                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
11690                    .as_raw_ptr(),
11691                size,
11692            )
11693        };
11694        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11695    }
11696
11697    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
11698    ///
11699    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>& QVector<Qt3DCore::QNodeIdTypePair>::fill(const Qt3DCore::QNodeIdTypePair& t)```</span>.
11700    ///
11701    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
11702    /// <p>Example:</p>
11703    /// <pre class="cpp">
11704    ///
11705    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
11706    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
11707    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
11708    ///
11709    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
11710    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
11711    ///
11712    /// </pre>
11713    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
11714    #[inline(always)]
11715    pub unsafe fn fill_1a(
11716        &self,
11717        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
11718    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair> {
11719        let ffi_result = {
11720            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_fill1(
11721                self as *const crate::QVectorOfQNodeIdTypePair
11722                    as *mut crate::QVectorOfQNodeIdTypePair,
11723                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
11724                    .as_raw_ptr(),
11725            )
11726        };
11727        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11728    }
11729
11730    /// <p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
11731    ///
11732    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::first()```</span>.
11733    ///
11734    /// <a href="http://doc.qt.io/qt-5/qvector.html#first">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
11735    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>().</p></div>
11736    #[inline(always)]
11737    pub unsafe fn first_mut(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11738        let ffi_result = {
11739            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_first(
11740                self as *const crate::QVectorOfQNodeIdTypePair
11741                    as *mut crate::QVectorOfQNodeIdTypePair,
11742            )
11743        };
11744        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11745    }
11746
11747    /// <p>This is an overloaded function.</p>
11748    ///
11749    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::first() const```</span>.
11750    ///
11751    /// <a href="http://doc.qt.io/qt-5/qvector.html#first-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
11752    #[inline(always)]
11753    pub unsafe fn first(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11754        let ffi_result = {
11755            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_first1(
11756                self as *const crate::QVectorOfQNodeIdTypePair,
11757            )
11758        };
11759        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11760            .expect("attempted to construct a null Ref")
11761    }
11762
11763    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p>
11764    ///
11765    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::front()```</span>.
11766    ///
11767    /// <a href="http://doc.qt.io/qt-5/qvector.html#front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
11768    #[inline(always)]
11769    pub unsafe fn front_mut(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11770        let ffi_result = {
11771            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_front(
11772                self as *const crate::QVectorOfQNodeIdTypePair
11773                    as *mut crate::QVectorOfQNodeIdTypePair,
11774            )
11775        };
11776        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11777    }
11778
11779    /// <p>This is an overloaded function.</p>
11780    ///
11781    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::front() const```</span>.
11782    ///
11783    /// <a href="http://doc.qt.io/qt-5/qvector.html#front-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
11784    #[inline(always)]
11785    pub unsafe fn front(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11786        let ffi_result = {
11787            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_front1(
11788                self as *const crate::QVectorOfQNodeIdTypePair,
11789            )
11790        };
11791        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11792            .expect("attempted to construct a null Ref")
11793    }
11794
11795    /// <p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
11796    ///
11797    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::operator[](int i)```</span>.
11798    ///
11799    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
11800    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
11801    /// <p>Note that using non-const operators can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy.</p>
11802    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>().</p></div>
11803    #[inline(always)]
11804    pub unsafe fn index_mut(
11805        &self,
11806        i: ::std::os::raw::c_int,
11807    ) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11808        let ffi_result = {
11809            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator__2(
11810                self as *const crate::QVectorOfQNodeIdTypePair
11811                    as *mut crate::QVectorOfQNodeIdTypePair,
11812                i,
11813            )
11814        };
11815        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11816    }
11817
11818    /// <p>This is an overloaded function.</p>
11819    ///
11820    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::operator[](int i) const```</span>.
11821    ///
11822    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
11823    /// <p>Same as at(<i>i</i>).</p></div>
11824    #[inline(always)]
11825    pub unsafe fn index(
11826        &self,
11827        i: ::std::os::raw::c_int,
11828    ) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11829        let ffi_result = {
11830            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator__3(
11831                self as *const crate::QVectorOfQNodeIdTypePair,
11832                i,
11833            )
11834        };
11835        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11836            .expect("attempted to construct a null Ref")
11837    }
11838
11839    /// <p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
11840    ///
11841    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::insert(int i, const Qt3DCore::QNodeIdTypePair& t)```</span>.
11842    ///
11843    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
11844    /// <p>Example:</p>
11845    /// <pre class="cpp">
11846    ///
11847    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
11848    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"alpha"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"beta"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"delta"</span>;
11849    ///   vector<span class="operator">.</span>insert(<span class="number">2</span><span class="operator">,</span> <span class="string">"gamma"</span>);
11850    ///   <span class="comment">// vector: ["alpha", "beta", "gamma", "delta"]</span>
11851    ///
11852    /// </pre>
11853    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items at indexes <i>i</i> and above by one position further in memory. If you want a container class that provides a fast insert() function, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
11854    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
11855    #[inline(always)]
11856    pub unsafe fn insert_2a(
11857        &self,
11858        i: ::std::os::raw::c_int,
11859        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
11860    ) {
11861        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_insert(
11862            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
11863            i,
11864            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
11865                .as_raw_ptr(),
11866        )
11867    }
11868
11869    /// <p>This is an overloaded function.</p>
11870    ///
11871    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::insert(int i, int n, const Qt3DCore::QNodeIdTypePair& t)```</span>.
11872    ///
11873    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
11874    /// <p>Inserts <i>count</i> copies of <i>value</i> at index position <i>i</i> in the vector.</p>
11875    /// <p>Example:</p>
11876    /// <pre class="cpp">
11877    ///
11878    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">double</span><span class="operator">&gt;</span> vector;
11879    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2.718</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1.442</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">0.4342</span>;
11880    ///   vector<span class="operator">.</span>insert(<span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">9.9</span>);
11881    ///   <span class="comment">// vector: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]</span>
11882    ///
11883    /// </pre></div>
11884    #[inline(always)]
11885    pub unsafe fn insert_3a(
11886        &self,
11887        i: ::std::os::raw::c_int,
11888        n: ::std::os::raw::c_int,
11889        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
11890    ) {
11891        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_insert1(
11892            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
11893            i,
11894            n,
11895            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
11896                .as_raw_ptr(),
11897        )
11898    }
11899
11900    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeIdTypePair>::isDetached() const```</span>.
11901    #[inline(always)]
11902    pub unsafe fn is_detached(&self) -> bool {
11903        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_isDetached(
11904            self as *const crate::QVectorOfQNodeIdTypePair,
11905        )
11906    }
11907
11908    /// <p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
11909    ///
11910    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeIdTypePair>::isEmpty() const```</span>.
11911    ///
11912    /// <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
11913    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
11914    #[inline(always)]
11915    pub unsafe fn is_empty(&self) -> bool {
11916        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_isEmpty(
11917            self as *const crate::QVectorOfQNodeIdTypePair,
11918        )
11919    }
11920
11921    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeIdTypePair>::isSharedWith(const QVector<Qt3DCore::QNodeIdTypePair>& other) const```</span>.
11922    #[inline(always)]
11923    pub unsafe fn is_shared_with(
11924        &self,
11925        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>,
11926    ) -> bool {
11927        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_isSharedWith(
11928            self as *const crate::QVectorOfQNodeIdTypePair,
11929            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>::cast_into(
11930                other,
11931            )
11932            .as_raw_ptr(),
11933        )
11934    }
11935
11936    /// <p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
11937    ///
11938    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::last()```</span>.
11939    ///
11940    /// <a href="http://doc.qt.io/qt-5/qvector.html#last">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
11941    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>().</p></div>
11942    #[inline(always)]
11943    pub unsafe fn last_mut(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11944        let ffi_result = {
11945            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_last(
11946                self as *const crate::QVectorOfQNodeIdTypePair
11947                    as *mut crate::QVectorOfQNodeIdTypePair,
11948            )
11949        };
11950        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
11951    }
11952
11953    /// <p>This is an overloaded function.</p>
11954    ///
11955    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair& QVector<Qt3DCore::QNodeIdTypePair>::last() const```</span>.
11956    ///
11957    /// <a href="http://doc.qt.io/qt-5/qvector.html#last-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
11958    #[inline(always)]
11959    pub unsafe fn last(&self) -> ::cpp_core::Ref<crate::QNodeIdTypePair> {
11960        let ffi_result = {
11961            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_last1(
11962                self as *const crate::QVectorOfQNodeIdTypePair,
11963            )
11964        };
11965        ::cpp_core::Ref::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
11966            .expect("attempted to construct a null Ref")
11967    }
11968
11969    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
11970    ///
11971    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeIdTypePair>::length() const```</span>.
11972    ///
11973    /// <a href="http://doc.qt.io/qt-5/qvector.html#length">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
11974    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
11975    /// <p>This function was introduced in  Qt 5.2.</p>
11976    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#length">QList::length</a>().</p></div>
11977    #[inline(always)]
11978    pub unsafe fn length(&self) -> ::std::os::raw::c_int {
11979        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_length(
11980            self as *const crate::QVectorOfQNodeIdTypePair,
11981        )
11982    }
11983
11984    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
11985    ///
11986    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair> QVector<Qt3DCore::QNodeIdTypePair>::mid(int pos, int len = …) const```</span>.
11987    ///
11988    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
11989    #[inline(always)]
11990    pub unsafe fn mid_2a(
11991        &self,
11992        pos: ::std::os::raw::c_int,
11993        len: ::std::os::raw::c_int,
11994    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
11995        let ffi_result = {
11996            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_mid(
11997                self as *const crate::QVectorOfQNodeIdTypePair,
11998                pos,
11999                len,
12000            )
12001        };
12002        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12003    }
12004
12005    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
12006    ///
12007    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair> QVector<Qt3DCore::QNodeIdTypePair>::mid(int pos) const```</span>.
12008    ///
12009    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
12010    #[inline(always)]
12011    pub unsafe fn mid_1a(
12012        &self,
12013        pos: ::std::os::raw::c_int,
12014    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
12015        let ffi_result = {
12016            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_mid1(
12017                self as *const crate::QVectorOfQNodeIdTypePair,
12018                pos,
12019            )
12020        };
12021        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12022    }
12023
12024    /// <p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
12025    ///
12026    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::move(int from, int to)```</span>.
12027    ///
12028    /// <a href="http://doc.qt.io/qt-5/qvector.html#move">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
12029    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
12030    /// <p>This function was introduced in  Qt 5.6.</p>
12031    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qlist.html#move">QList::move</a>().</p></div>
12032    #[inline(always)]
12033    pub unsafe fn move_(&self, from: ::std::os::raw::c_int, to: ::std::os::raw::c_int) {
12034        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_move(
12035            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12036            from,
12037            to,
12038        )
12039    }
12040
12041    /// <p>Constructs an empty vector.</p>
12042    ///
12043    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeIdTypePair>::QVector()```</span>.
12044    ///
12045    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs an empty vector.</p>
12046    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
12047    #[inline(always)]
12048    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
12049        let ffi_result =
12050            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_QVector() };
12051        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12052    }
12053
12054    /// <p>Constructs a vector with an initial size of <i>size</i> elements.</p>
12055    ///
12056    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeIdTypePair>::QVector(int size)```</span>.
12057    ///
12058    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements.</p>
12059    /// <p>The elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>.</p>
12060    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
12061    #[inline(always)]
12062    pub unsafe fn new_1a(
12063        size: ::std::os::raw::c_int,
12064    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
12065        let ffi_result =
12066            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_QVector1(size) };
12067        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12068    }
12069
12070    /// <p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
12071    ///
12072    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeIdTypePair>::QVector(int size, const Qt3DCore::QNodeIdTypePair& t)```</span>.
12073    ///
12074    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
12075    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
12076    #[inline(always)]
12077    pub unsafe fn new_2a(
12078        size: ::std::os::raw::c_int,
12079        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
12080    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
12081        let ffi_result = {
12082            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_QVector2(
12083                size,
12084                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
12085                    .as_raw_ptr(),
12086            )
12087        };
12088        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12089    }
12090
12091    /// <p>Constructs a copy of <i>other</i>.</p>
12092    ///
12093    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QNodeIdTypePair>::QVector(const QVector<Qt3DCore::QNodeIdTypePair>& v)```</span>.
12094    ///
12095    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-3">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a copy of <i>other</i>.</p>
12096    /// <p>This operation takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a>, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicitly shared</a>. This makes returning a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">linear time</a>.</p>
12097    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">operator=</a>().</p></div>
12098    #[inline(always)]
12099    pub unsafe fn new_copy(
12100        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>,
12101    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
12102        let ffi_result = {
12103            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_QVector3(::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>::cast_into(v).as_raw_ptr())
12104        };
12105        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12106    }
12107
12108    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p>
12109    ///
12110    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::pop_back()```</span>.
12111    ///
12112    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
12113    #[inline(always)]
12114    pub unsafe fn pop_back(&self) {
12115        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_pop_back(
12116            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12117        )
12118    }
12119
12120    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p>
12121    ///
12122    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::pop_front()```</span>.
12123    ///
12124    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
12125    #[inline(always)]
12126    pub unsafe fn pop_front(&self) {
12127        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_pop_front(
12128            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12129        )
12130    }
12131
12132    /// <p>Inserts <i>value</i> at the beginning of the vector.</p>
12133    ///
12134    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::prepend(const Qt3DCore::QNodeIdTypePair& t)```</span>.
12135    ///
12136    /// <a href="http://doc.qt.io/qt-5/qvector.html#prepend">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the beginning of the vector.</p>
12137    /// <p>Example:</p>
12138    /// <pre class="cpp">
12139    ///
12140    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
12141    ///   vector<span class="operator">.</span>prepend(<span class="string">"one"</span>);
12142    ///   vector<span class="operator">.</span>prepend(<span class="string">"two"</span>);
12143    ///   vector<span class="operator">.</span>prepend(<span class="string">"three"</span>);
12144    ///   <span class="comment">// vector: ["three", "two", "one"]</span>
12145    ///
12146    /// </pre>
12147    /// <p>This is the same as vector.insert(0, <i>value</i>).</p>
12148    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items in the vector by one position further in memory. If you want a container class that provides a fast prepend() function, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
12149    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
12150    #[inline(always)]
12151    pub unsafe fn prepend(
12152        &self,
12153        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
12154    ) {
12155        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_prepend(
12156            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12157            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
12158                .as_raw_ptr(),
12159        )
12160    }
12161
12162    /// <p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p>
12163    ///
12164    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::push_back(const Qt3DCore::QNodeIdTypePair& t)```</span>.
12165    ///
12166    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p></div>
12167    #[inline(always)]
12168    pub unsafe fn push_back(
12169        &self,
12170        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
12171    ) {
12172        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_push_back(
12173            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12174            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
12175                .as_raw_ptr(),
12176        )
12177    }
12178
12179    /// <p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p>
12180    ///
12181    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::push_front(const Qt3DCore::QNodeIdTypePair& t)```</span>.
12182    ///
12183    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p></div>
12184    #[inline(always)]
12185    pub unsafe fn push_front(
12186        &self,
12187        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
12188    ) {
12189        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_push_front(
12190            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12191            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
12192                .as_raw_ptr(),
12193        )
12194    }
12195
12196    /// <p>This is an overloaded function.</p>
12197    ///
12198    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::remove(int i)```</span>.
12199    ///
12200    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
12201    /// <p>Removes the element at index position <i>i</i>.</p>
12202    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
12203    #[inline(always)]
12204    pub unsafe fn remove_1a(&self, i: ::std::os::raw::c_int) {
12205        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_remove(
12206            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12207            i,
12208        )
12209    }
12210
12211    /// <p>This is an overloaded function.</p>
12212    ///
12213    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::remove(int i, int n)```</span>.
12214    ///
12215    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
12216    /// <p>Removes <i>count</i> elements from the middle of the vector, starting at index position <i>i</i>.</p>
12217    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
12218    #[inline(always)]
12219    pub unsafe fn remove_2a(&self, i: ::std::os::raw::c_int, n: ::std::os::raw::c_int) {
12220        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_remove1(
12221            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12222            i,
12223            n,
12224        )
12225    }
12226
12227    /// <p>Removes the element at index position <i>i</i>. Equivalent to</p>
12228    ///
12229    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::removeAt(int i)```</span>.
12230    ///
12231    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i>. Equivalent to</p>
12232    /// <pre class="cpp">
12233    ///
12234    ///   remove(i);
12235    ///
12236    /// </pre>
12237    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
12238    /// <p>This function was introduced in  Qt 5.2.</p>
12239    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAt">QList::removeAt</a>().</p></div>
12240    #[inline(always)]
12241    pub unsafe fn remove_at(&self, i: ::std::os::raw::c_int) {
12242        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_removeAt(
12243            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12244            i,
12245        )
12246    }
12247
12248    /// <p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12249    ///
12250    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::removeFirst()```</span>.
12251    ///
12252    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12253    /// <p>This function was introduced in  Qt 5.1.</p>
12254    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
12255    #[inline(always)]
12256    pub unsafe fn remove_first(&self) {
12257        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_removeFirst(
12258            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12259        )
12260    }
12261
12262    /// <p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12263    ///
12264    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::removeLast()```</span>.
12265    ///
12266    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12267    /// <p>This function was introduced in  Qt 5.1.</p>
12268    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
12269    #[inline(always)]
12270    pub unsafe fn remove_last(&self) {
12271        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_removeLast(
12272            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12273        )
12274    }
12275
12276    /// <p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
12277    ///
12278    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::replace(int i, const Qt3DCore::QNodeIdTypePair& t)```</span>.
12279    ///
12280    /// <a href="http://doc.qt.io/qt-5/qvector.html#replace">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
12281    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
12282    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
12283    #[inline(always)]
12284    pub unsafe fn replace(
12285        &self,
12286        i: ::std::os::raw::c_int,
12287        t: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
12288    ) {
12289        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_replace(
12290            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12291            i,
12292            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(t)
12293                .as_raw_ptr(),
12294        )
12295    }
12296
12297    /// <p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
12298    ///
12299    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::reserve(int size)```</span>.
12300    ///
12301    /// <a href="http://doc.qt.io/qt-5/qvector.html#reserve">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
12302    /// <p>If <i>size</i> is an underestimate, the worst that will happen is that the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will be a bit slower. If <i>size</i> is an overestimate, you may have used more memory than the normal <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> growth strategy would have allocated—or you may have used less.</p>
12303    /// <p>An alternative to reserve() is calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). Whether or not that is faster than reserve() depends on the element type, because <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() default-constructs all elements, and requires assignment to existing entries rather than calling <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), which copy- or move-constructs. For simple types, like <code>int</code> or <code>double</code>, <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() is typically faster, but for anything more complex, you should prefer reserve().</p>
12304    /// <p><b>Warning:</b> If the size passed to <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() was underestimated, you run out of allocated space and into undefined behavior. This problem does not exist with reserve(), because it treats the size as just a hint.</p>
12305    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
12306    #[inline(always)]
12307    pub unsafe fn reserve(&self, size: ::std::os::raw::c_int) {
12308        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_reserve(
12309            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12310            size,
12311        )
12312    }
12313
12314    /// <p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
12315    ///
12316    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::resize(int size)```</span>.
12317    ///
12318    /// <a href="http://doc.qt.io/qt-5/qvector.html#resize">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
12319    /// <p>Since Qt 5.6, resize() doesn't shrink the capacity anymore. To shed excess capacity, use <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
12320    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
12321    #[inline(always)]
12322    pub unsafe fn resize(&self, size: ::std::os::raw::c_int) {
12323        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_resize(
12324            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12325            size,
12326        )
12327    }
12328
12329    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::setSharable(bool sharable)```</span>.
12330    #[inline(always)]
12331    pub unsafe fn set_sharable(&self, sharable: bool) {
12332        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_setSharable(
12333            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12334            sharable,
12335        )
12336    }
12337
12338    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
12339    ///
12340    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::shrink_to_fit()```</span>.
12341    ///
12342    /// <a href="http://doc.qt.io/qt-5/qvector.html#shrink_to_fit">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
12343    /// <p>This function was introduced in  Qt 5.10.</p></div>
12344    #[inline(always)]
12345    #[cfg_attr(
12346        feature = "ritual_rustdoc_nightly",
12347        doc(cfg(any(
12348            cpp_lib_version = "5.11.3",
12349            cpp_lib_version = "5.12.2",
12350            cpp_lib_version = "5.13.0",
12351            cpp_lib_version = "5.14.0"
12352        )))
12353    )]
12354    #[cfg(any(
12355        any(
12356            cpp_lib_version = "5.11.3",
12357            cpp_lib_version = "5.12.2",
12358            cpp_lib_version = "5.13.0",
12359            cpp_lib_version = "5.14.0"
12360        ),
12361        feature = "ritual_rustdoc"
12362    ))]
12363    pub unsafe fn shrink_to_fit(&self) {
12364        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_shrink_to_fit(
12365            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12366        )
12367    }
12368
12369    /// <p>Returns the number of items in the vector.</p>
12370    ///
12371    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeIdTypePair>::size() const```</span>.
12372    ///
12373    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
12374    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
12375    #[inline(always)]
12376    pub unsafe fn size(&self) -> ::std::os::raw::c_int {
12377        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_size(
12378            self as *const crate::QVectorOfQNodeIdTypePair,
12379        )
12380    }
12381
12382    /// <p>Releases any memory not required to store the items.</p>
12383    ///
12384    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::squeeze()```</span>.
12385    ///
12386    /// <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Releases any memory not required to store the items.</p>
12387    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function.</p>
12388    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
12389    #[inline(always)]
12390    pub unsafe fn squeeze(&self) {
12391        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_squeeze(
12392            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12393        )
12394    }
12395
12396    /// <p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
12397    ///
12398    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::swap(QVector<Qt3DCore::QNodeIdTypePair>& other)```</span>.
12399    ///
12400    /// <a href="http://doc.qt.io/qt-5/qvector.html#swap">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
12401    /// <p>This function was introduced in  Qt 4.8.</p></div>
12402    #[inline(always)]
12403    pub unsafe fn swap(
12404        &self,
12405        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>,
12406    ) {
12407        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_swap(
12408            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12409            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>::cast_into(
12410                other,
12411            )
12412            .as_raw_ptr() as *mut crate::QVectorOfQNodeIdTypePair,
12413        )
12414    }
12415
12416    /// <p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
12417    ///
12418    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QNodeIdTypePair>::swapItemsAt(int i, int j)```</span>.
12419    ///
12420    /// <a href="http://doc.qt.io/qt-5/qvector.html#swapItemsAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
12421    /// <p>This function was introduced in  Qt 5.14.</p></div>
12422    #[inline(always)]
12423    #[cfg_attr(
12424        feature = "ritual_rustdoc_nightly",
12425        doc(cfg(cpp_lib_version = "5.14.0"))
12426    )]
12427    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
12428    pub unsafe fn swap_items_at(&self, i: ::std::os::raw::c_int, j: ::std::os::raw::c_int) {
12429        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_swapItemsAt(
12430            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
12431            i,
12432            j,
12433        )
12434    }
12435
12436    /// <p>Removes the element at index position <i>i</i> and returns it.</p>
12437    ///
12438    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair QVector<Qt3DCore::QNodeIdTypePair>::takeAt(int i)```</span>.
12439    ///
12440    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i> and returns it.</p>
12441    /// <p>Equivalent to</p>
12442    /// <pre class="cpp">
12443    ///
12444    ///   T t <span class="operator">=</span> at(i);
12445    ///   remove(i);
12446    ///   <span class="keyword">return</span> t;
12447    ///
12448    /// </pre>
12449    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
12450    /// <p>This function was introduced in  Qt 5.2.</p>
12451    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#takeAt">QList::takeAt</a>().</p></div>
12452    #[inline(always)]
12453    pub unsafe fn take_at(
12454        &self,
12455        i: ::std::os::raw::c_int,
12456    ) -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
12457        let ffi_result = {
12458            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_takeAt(
12459                self as *const crate::QVectorOfQNodeIdTypePair
12460                    as *mut crate::QVectorOfQNodeIdTypePair,
12461                i,
12462            )
12463        };
12464        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12465    }
12466
12467    /// <p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12468    ///
12469    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair QVector<Qt3DCore::QNodeIdTypePair>::takeFirst()```</span>.
12470    ///
12471    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12472    /// <p>This function was introduced in  Qt 5.1.</p>
12473    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
12474    #[inline(always)]
12475    pub unsafe fn take_first(&self) -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
12476        let ffi_result = {
12477            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_takeFirst(
12478                self as *const crate::QVectorOfQNodeIdTypePair
12479                    as *mut crate::QVectorOfQNodeIdTypePair,
12480            )
12481        };
12482        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12483    }
12484
12485    /// <p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12486    ///
12487    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair QVector<Qt3DCore::QNodeIdTypePair>::takeLast()```</span>.
12488    ///
12489    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
12490    /// <p>If you don't use the return value, <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>() is more efficient.</p>
12491    /// <p>This function was introduced in  Qt 5.1.</p>
12492    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
12493    #[inline(always)]
12494    pub unsafe fn take_last(&self) -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
12495        let ffi_result = {
12496            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_takeLast(
12497                self as *const crate::QVectorOfQNodeIdTypePair
12498                    as *mut crate::QVectorOfQNodeIdTypePair,
12499            )
12500        };
12501        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12502    }
12503
12504    /// <p>Returns the value at index position <i>i</i> in the vector.</p>
12505    ///
12506    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair QVector<Qt3DCore::QNodeIdTypePair>::value(int i) const```</span>.
12507    ///
12508    /// <a href="http://doc.qt.io/qt-5/qvector.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value at index position <i>i</i> in the vector.</p>
12509    /// <p>If the index <i>i</i> is out of bounds, the function returns a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you are certain that <i>i</i> is within bounds, you can use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() instead, which is slightly faster.</p>
12510    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
12511    #[inline(always)]
12512    pub unsafe fn value_1a(
12513        &self,
12514        i: ::std::os::raw::c_int,
12515    ) -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
12516        let ffi_result = {
12517            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_value(
12518                self as *const crate::QVectorOfQNodeIdTypePair,
12519                i,
12520            )
12521        };
12522        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12523    }
12524
12525    /// <p>This is an overloaded function.</p>
12526    ///
12527    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair QVector<Qt3DCore::QNodeIdTypePair>::value(int i, const Qt3DCore::QNodeIdTypePair& defaultValue) const```</span>.
12528    ///
12529    /// <a href="http://doc.qt.io/qt-5/qvector.html#value-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
12530    /// <p>If the index <i>i</i> is out of bounds, the function returns <i>defaultValue</i>.</p></div>
12531    #[inline(always)]
12532    pub unsafe fn value_2a(
12533        &self,
12534        i: ::std::os::raw::c_int,
12535        default_value: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeIdTypePair>>,
12536    ) -> ::cpp_core::CppBox<crate::QNodeIdTypePair> {
12537        let ffi_result = {
12538            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_value1(
12539                self as *const crate::QVectorOfQNodeIdTypePair,
12540                i,
12541                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeIdTypePair>>::cast_into(
12542                    default_value,
12543                )
12544                .as_raw_ptr(),
12545            )
12546        };
12547        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12548    }
12549}
12550
12551/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">CommandRequested</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events.</p>
12552///
12553/// C++ class: <span style='color: green;'>```Qt3DCore::QNodeCommand```</span>.
12554///
12555/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">CommandRequested</a> <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events.</p>
12556/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> class is the base class for all <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html">QSceneChange</a> events that have the changeType() <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#ChangeFlag-enum">CommandRequested</a>.</p>
12557/// <p>You can subclass this to create your own node update types for communication between your <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a> and <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html">QBackendNode</a> subclasses when writing your own aspects.</p></div>
12558#[repr(C)]
12559pub struct QNodeCommand {
12560    _unused: u8,
12561}
12562impl QNodeCommand {
12563    /// <p>Returns commandId.</p>
12564    ///
12565    /// Calls C++ function: <span style='color: green;'>```unsigned long long Qt3DCore::QNodeCommand::commandId() const```</span>.
12566    ///
12567    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#commandId">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns commandId.</p></div>
12568    #[inline(always)]
12569    #[cfg_attr(
12570        feature = "ritual_rustdoc_nightly",
12571        doc(cfg(any(
12572            cpp_lib_version = "5.11.3",
12573            cpp_lib_version = "5.12.2",
12574            cpp_lib_version = "5.13.0",
12575            cpp_lib_version = "5.14.0"
12576        )))
12577    )]
12578    #[cfg(any(
12579        any(
12580            cpp_lib_version = "5.11.3",
12581            cpp_lib_version = "5.12.2",
12582            cpp_lib_version = "5.13.0",
12583            cpp_lib_version = "5.14.0"
12584        ),
12585        feature = "ritual_rustdoc"
12586    ))]
12587    pub unsafe fn command_id(&self) -> ::std::os::raw::c_ulonglong {
12588        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_commandId(
12589            self as *const crate::QNodeCommand,
12590        )
12591    }
12592
12593    /// <p>Returns data.</p>
12594    ///
12595    /// Calls C++ function: <span style='color: green;'>```QVariant Qt3DCore::QNodeCommand::data() const```</span>.
12596    ///
12597    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns data.</p>
12598    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#setData">setData</a>().</p></div>
12599    #[inline(always)]
12600    #[cfg_attr(
12601        feature = "ritual_rustdoc_nightly",
12602        doc(cfg(any(
12603            cpp_lib_version = "5.11.3",
12604            cpp_lib_version = "5.12.2",
12605            cpp_lib_version = "5.13.0",
12606            cpp_lib_version = "5.14.0"
12607        )))
12608    )]
12609    #[cfg(any(
12610        any(
12611            cpp_lib_version = "5.11.3",
12612            cpp_lib_version = "5.12.2",
12613            cpp_lib_version = "5.13.0",
12614            cpp_lib_version = "5.14.0"
12615        ),
12616        feature = "ritual_rustdoc"
12617    ))]
12618    pub unsafe fn data(&self) -> ::cpp_core::CppBox<::qt_core::QVariant> {
12619        let ffi_result = {
12620            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_data(
12621                self as *const crate::QNodeCommand,
12622            )
12623        };
12624        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12625    }
12626
12627    /// <p>Returns the id of the original <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> message that was sent to the backend.</p>
12628    ///
12629    /// Calls C++ function: <span style='color: green;'>```unsigned long long Qt3DCore::QNodeCommand::inReplyTo() const```</span>.
12630    ///
12631    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#inReplyTo">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the id of the original <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> message that was sent to the backend.</p></div>
12632    #[inline(always)]
12633    #[cfg_attr(
12634        feature = "ritual_rustdoc_nightly",
12635        doc(cfg(any(
12636            cpp_lib_version = "5.11.3",
12637            cpp_lib_version = "5.12.2",
12638            cpp_lib_version = "5.13.0",
12639            cpp_lib_version = "5.14.0"
12640        )))
12641    )]
12642    #[cfg(any(
12643        any(
12644            cpp_lib_version = "5.11.3",
12645            cpp_lib_version = "5.12.2",
12646            cpp_lib_version = "5.13.0",
12647            cpp_lib_version = "5.14.0"
12648        ),
12649        feature = "ritual_rustdoc"
12650    ))]
12651    pub unsafe fn in_reply_to(&self) -> ::std::os::raw::c_ulonglong {
12652        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_inReplyTo(
12653            self as *const crate::QNodeCommand,
12654        )
12655    }
12656
12657    /// <p>Returns name.</p>
12658    ///
12659    /// Calls C++ function: <span style='color: green;'>```QString Qt3DCore::QNodeCommand::name() const```</span>.
12660    ///
12661    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#name">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns name.</p>
12662    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#setName">setName</a>().</p></div>
12663    #[inline(always)]
12664    #[cfg_attr(
12665        feature = "ritual_rustdoc_nightly",
12666        doc(cfg(any(
12667            cpp_lib_version = "5.11.3",
12668            cpp_lib_version = "5.12.2",
12669            cpp_lib_version = "5.13.0",
12670            cpp_lib_version = "5.14.0"
12671        )))
12672    )]
12673    #[cfg(any(
12674        any(
12675            cpp_lib_version = "5.11.3",
12676            cpp_lib_version = "5.12.2",
12677            cpp_lib_version = "5.13.0",
12678            cpp_lib_version = "5.14.0"
12679        ),
12680        feature = "ritual_rustdoc"
12681    ))]
12682    pub unsafe fn name(&self) -> ::cpp_core::CppBox<::qt_core::QString> {
12683        let ffi_result = {
12684            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_name(
12685                self as *const crate::QNodeCommand,
12686            )
12687        };
12688        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12689    }
12690
12691    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> with <i>id</i>.</p>
12692    ///
12693    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QNodeCommand::QNodeCommand(Qt3DCore::QNodeId id)```</span>.
12694    ///
12695    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#QNodeCommand">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html">QNodeCommand</a> with <i>id</i>.</p></div>
12696    #[inline(always)]
12697    #[cfg_attr(
12698        feature = "ritual_rustdoc_nightly",
12699        doc(cfg(any(
12700            cpp_lib_version = "5.11.3",
12701            cpp_lib_version = "5.12.2",
12702            cpp_lib_version = "5.13.0",
12703            cpp_lib_version = "5.14.0"
12704        )))
12705    )]
12706    #[cfg(any(
12707        any(
12708            cpp_lib_version = "5.11.3",
12709            cpp_lib_version = "5.12.2",
12710            cpp_lib_version = "5.13.0",
12711            cpp_lib_version = "5.14.0"
12712        ),
12713        feature = "ritual_rustdoc"
12714    ))]
12715    pub unsafe fn new(
12716        id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
12717    ) -> ::cpp_core::CppBox<crate::QNodeCommand> {
12718        let ffi_result = {
12719            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_QNodeCommand(
12720                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(id).as_raw_ptr(),
12721            )
12722        };
12723        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
12724    }
12725
12726    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#data">data</a>().</p>
12727    ///
12728    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QNodeCommand::setData(const QVariant& data)```</span>.
12729    ///
12730    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#setData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#data">data</a>().</p></div>
12731    #[inline(always)]
12732    #[cfg_attr(
12733        feature = "ritual_rustdoc_nightly",
12734        doc(cfg(any(
12735            cpp_lib_version = "5.11.3",
12736            cpp_lib_version = "5.12.2",
12737            cpp_lib_version = "5.13.0",
12738            cpp_lib_version = "5.14.0"
12739        )))
12740    )]
12741    #[cfg(any(
12742        any(
12743            cpp_lib_version = "5.11.3",
12744            cpp_lib_version = "5.12.2",
12745            cpp_lib_version = "5.13.0",
12746            cpp_lib_version = "5.14.0"
12747        ),
12748        feature = "ritual_rustdoc"
12749    ))]
12750    pub unsafe fn set_data(
12751        &self,
12752        data: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QVariant>>,
12753    ) {
12754        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_setData(
12755            self as *const crate::QNodeCommand as *mut crate::QNodeCommand,
12756            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QVariant>>::cast_into(data)
12757                .as_raw_ptr(),
12758        )
12759    }
12760
12761    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#name">name</a>().</p>
12762    ///
12763    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QNodeCommand::setName(const QString& name)```</span>.
12764    ///
12765    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#setName">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>See also </b><a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#name">name</a>().</p></div>
12766    #[inline(always)]
12767    #[cfg_attr(
12768        feature = "ritual_rustdoc_nightly",
12769        doc(cfg(any(
12770            cpp_lib_version = "5.11.3",
12771            cpp_lib_version = "5.12.2",
12772            cpp_lib_version = "5.13.0",
12773            cpp_lib_version = "5.14.0"
12774        )))
12775    )]
12776    #[cfg(any(
12777        any(
12778            cpp_lib_version = "5.11.3",
12779            cpp_lib_version = "5.12.2",
12780            cpp_lib_version = "5.13.0",
12781            cpp_lib_version = "5.14.0"
12782        ),
12783        feature = "ritual_rustdoc"
12784    ))]
12785    pub unsafe fn set_name(
12786        &self,
12787        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
12788    ) {
12789        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_setName(
12790            self as *const crate::QNodeCommand as *mut crate::QNodeCommand,
12791            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(name)
12792                .as_raw_ptr(),
12793        )
12794    }
12795
12796    /// <p>Sets the command <i>id</i> to which the message is a reply.</p>
12797    ///
12798    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QNodeCommand::setReplyToCommandId(unsigned long long id)```</span>.
12799    ///
12800    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#setReplyToCommandId">C++ documentation</a> for <span style='color: green;'>```void QNodeCommand::setReplyToCommandId(Qt3DCore::QNodeCommand::CommandId id)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the command <i>id</i> to which the message is a reply.</p></div>
12801    #[inline(always)]
12802    #[cfg_attr(
12803        feature = "ritual_rustdoc_nightly",
12804        doc(cfg(any(
12805            cpp_lib_version = "5.11.3",
12806            cpp_lib_version = "5.12.2",
12807            cpp_lib_version = "5.13.0",
12808            cpp_lib_version = "5.14.0"
12809        )))
12810    )]
12811    #[cfg(any(
12812        any(
12813            cpp_lib_version = "5.11.3",
12814            cpp_lib_version = "5.12.2",
12815            cpp_lib_version = "5.13.0",
12816            cpp_lib_version = "5.14.0"
12817        ),
12818        feature = "ritual_rustdoc"
12819    ))]
12820    pub unsafe fn set_reply_to_command_id(&self, id: ::std::os::raw::c_ulonglong) {
12821        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_setReplyToCommandId(
12822            self as *const crate::QNodeCommand as *mut crate::QNodeCommand,
12823            id,
12824        )
12825    }
12826}
12827
12828/// <p>A skeleton contains the joints for a skinned mesh.</p>
12829///
12830/// C++ class: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton```</span>.
12831///
12832/// <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractskeleton.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>A skeleton contains the joints for a skinned mesh.</p>
12833/// <p>Do not use this class directly. You should use <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a> if loading skeleton data from a file (most likely) or <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html">QSkeleton</a> if creating the skeleton and skinned mesh data yourself (mainly for people creating editors or tooling).</p></div>
12834#[repr(C)]
12835pub struct QAbstractSkeleton {
12836    _unused: u8,
12837}
12838impl QAbstractSkeleton {
12839    /// <p>Holds the number of joints contained in the skeleton</p>
12840    ///
12841    /// Returns a built-in Qt signal `Qt3DCore::QAbstractSkeleton::jointCountChanged` that can be passed to `qt_core::Signal::connect`.
12842    ///
12843    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractskeleton.html#jointCount-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the number of joints contained in the skeleton</p>
12844    /// <p><b>Access functions:</b></p>
12845    /// <div class="table"><table class="alignedsummary">
12846    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> int </td><td class="memItemRight bottomAlign"><span class="name"><b>jointCount</b></span>() const</td></tr>
12847    /// </tbody></table></div>
12848    /// <p><b>Notifier signal:</b></p>
12849    /// <div class="table"><table class="alignedsummary">
12850    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>jointCountChanged</b></span>(int <i>jointCount</i>)</td></tr>
12851    /// </tbody></table></div></div>
12852    #[inline(always)]
12853    #[cfg_attr(
12854        feature = "ritual_rustdoc_nightly",
12855        doc(cfg(any(
12856            cpp_lib_version = "5.11.3",
12857            cpp_lib_version = "5.12.2",
12858            cpp_lib_version = "5.13.0",
12859            cpp_lib_version = "5.14.0"
12860        )))
12861    )]
12862    #[cfg(any(
12863        any(
12864            cpp_lib_version = "5.11.3",
12865            cpp_lib_version = "5.12.2",
12866            cpp_lib_version = "5.13.0",
12867            cpp_lib_version = "5.14.0"
12868        ),
12869        feature = "ritual_rustdoc"
12870    ))]
12871    pub fn joint_count_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_int,)> {
12872        unsafe {
12873            ::qt_core::Signal::new(
12874                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
12875                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2jointCountChanged(int)\0"),
12876            )
12877        }
12878    }
12879
12880    /// <p>Holds the number of joints contained in the skeleton</p>
12881    ///
12882    /// Calls C++ function: <span style='color: green;'>```int Qt3DCore::QAbstractSkeleton::jointCount() const```</span>.
12883    ///
12884    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qabstractskeleton.html#jointCount-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the number of joints contained in the skeleton</p>
12885    /// <p><b>Access functions:</b></p>
12886    /// <div class="table"><table class="alignedsummary">
12887    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> int </td><td class="memItemRight bottomAlign"><span class="name"><b>jointCount</b></span>() const</td></tr>
12888    /// </tbody></table></div>
12889    /// <p><b>Notifier signal:</b></p>
12890    /// <div class="table"><table class="alignedsummary">
12891    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>jointCountChanged</b></span>(int <i>jointCount</i>)</td></tr>
12892    /// </tbody></table></div></div>
12893    #[inline(always)]
12894    #[cfg_attr(
12895        feature = "ritual_rustdoc_nightly",
12896        doc(cfg(any(
12897            cpp_lib_version = "5.11.3",
12898            cpp_lib_version = "5.12.2",
12899            cpp_lib_version = "5.13.0",
12900            cpp_lib_version = "5.14.0"
12901        )))
12902    )]
12903    #[cfg(any(
12904        any(
12905            cpp_lib_version = "5.11.3",
12906            cpp_lib_version = "5.12.2",
12907            cpp_lib_version = "5.13.0",
12908            cpp_lib_version = "5.14.0"
12909        ),
12910        feature = "ritual_rustdoc"
12911    ))]
12912    pub unsafe fn joint_count(&self) -> ::std::os::raw::c_int {
12913        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_jointCount(
12914            self as *const crate::QAbstractSkeleton,
12915        )
12916    }
12917
12918    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QAbstractSkeleton::metaObject() const```</span>.
12919    #[inline(always)]
12920    #[cfg_attr(
12921        feature = "ritual_rustdoc_nightly",
12922        doc(cfg(any(
12923            cpp_lib_version = "5.11.3",
12924            cpp_lib_version = "5.12.2",
12925            cpp_lib_version = "5.13.0",
12926            cpp_lib_version = "5.14.0"
12927        )))
12928    )]
12929    #[cfg(any(
12930        any(
12931            cpp_lib_version = "5.11.3",
12932            cpp_lib_version = "5.12.2",
12933            cpp_lib_version = "5.13.0",
12934            cpp_lib_version = "5.14.0"
12935        ),
12936        feature = "ritual_rustdoc"
12937    ))]
12938    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
12939        let ffi_result = {
12940            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_metaObject(
12941                self as *const crate::QAbstractSkeleton,
12942            )
12943        };
12944        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
12945    }
12946
12947    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QAbstractSkeleton::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
12948    #[inline(always)]
12949    #[cfg_attr(
12950        feature = "ritual_rustdoc_nightly",
12951        doc(cfg(any(
12952            cpp_lib_version = "5.11.3",
12953            cpp_lib_version = "5.12.2",
12954            cpp_lib_version = "5.13.0",
12955            cpp_lib_version = "5.14.0"
12956        )))
12957    )]
12958    #[cfg(any(
12959        any(
12960            cpp_lib_version = "5.11.3",
12961            cpp_lib_version = "5.12.2",
12962            cpp_lib_version = "5.13.0",
12963            cpp_lib_version = "5.14.0"
12964        ),
12965        feature = "ritual_rustdoc"
12966    ))]
12967    pub unsafe fn qt_metacall(
12968        &self,
12969        arg1: ::qt_core::q_meta_object::Call,
12970        arg2: ::std::os::raw::c_int,
12971        arg3: *mut *mut ::std::ffi::c_void,
12972    ) -> ::std::os::raw::c_int {
12973        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_qt_metacall(
12974            self as *const crate::QAbstractSkeleton as *mut crate::QAbstractSkeleton,
12975            arg1,
12976            arg2,
12977            arg3,
12978        )
12979    }
12980
12981    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QAbstractSkeleton::qt_metacast(const char* arg1)```</span>.
12982    #[inline(always)]
12983    #[cfg_attr(
12984        feature = "ritual_rustdoc_nightly",
12985        doc(cfg(any(
12986            cpp_lib_version = "5.11.3",
12987            cpp_lib_version = "5.12.2",
12988            cpp_lib_version = "5.13.0",
12989            cpp_lib_version = "5.14.0"
12990        )))
12991    )]
12992    #[cfg(any(
12993        any(
12994            cpp_lib_version = "5.11.3",
12995            cpp_lib_version = "5.12.2",
12996            cpp_lib_version = "5.13.0",
12997            cpp_lib_version = "5.14.0"
12998        ),
12999        feature = "ritual_rustdoc"
13000    ))]
13001    pub unsafe fn qt_metacast(
13002        &self,
13003        arg1: *const ::std::os::raw::c_char,
13004    ) -> *mut ::std::ffi::c_void {
13005        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_qt_metacast(
13006            self as *const crate::QAbstractSkeleton as *mut crate::QAbstractSkeleton,
13007            arg1,
13008        )
13009    }
13010
13011    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
13012    #[inline(always)]
13013    #[cfg_attr(
13014        feature = "ritual_rustdoc_nightly",
13015        doc(cfg(any(
13016            cpp_lib_version = "5.11.3",
13017            cpp_lib_version = "5.12.2",
13018            cpp_lib_version = "5.13.0",
13019            cpp_lib_version = "5.14.0"
13020        )))
13021    )]
13022    #[cfg(any(
13023        any(
13024            cpp_lib_version = "5.11.3",
13025            cpp_lib_version = "5.12.2",
13026            cpp_lib_version = "5.13.0",
13027            cpp_lib_version = "5.14.0"
13028        ),
13029        feature = "ritual_rustdoc"
13030    ))]
13031    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
13032        let ffi_result =
13033            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_staticMetaObject() };
13034        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
13035            .expect("attempted to construct a null Ref")
13036    }
13037
13038    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QAbstractSkeleton::tr(const char* s, const char* c, int n)```</span>.
13039    #[inline(always)]
13040    #[cfg_attr(
13041        feature = "ritual_rustdoc_nightly",
13042        doc(cfg(any(
13043            cpp_lib_version = "5.11.3",
13044            cpp_lib_version = "5.12.2",
13045            cpp_lib_version = "5.13.0",
13046            cpp_lib_version = "5.14.0"
13047        )))
13048    )]
13049    #[cfg(any(
13050        any(
13051            cpp_lib_version = "5.11.3",
13052            cpp_lib_version = "5.12.2",
13053            cpp_lib_version = "5.13.0",
13054            cpp_lib_version = "5.14.0"
13055        ),
13056        feature = "ritual_rustdoc"
13057    ))]
13058    pub unsafe fn tr(
13059        s: *const ::std::os::raw::c_char,
13060        c: *const ::std::os::raw::c_char,
13061        n: ::std::os::raw::c_int,
13062    ) -> ::cpp_core::CppBox<::qt_core::QString> {
13063        let ffi_result =
13064            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_tr(s, c, n) };
13065        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
13066    }
13067
13068    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QAbstractSkeleton::trUtf8(const char* s, const char* c, int n)```</span>.
13069    #[inline(always)]
13070    #[cfg_attr(
13071        feature = "ritual_rustdoc_nightly",
13072        doc(cfg(any(
13073            cpp_lib_version = "5.11.3",
13074            cpp_lib_version = "5.12.2",
13075            cpp_lib_version = "5.13.0",
13076            cpp_lib_version = "5.14.0"
13077        )))
13078    )]
13079    #[cfg(any(
13080        any(
13081            cpp_lib_version = "5.11.3",
13082            cpp_lib_version = "5.12.2",
13083            cpp_lib_version = "5.13.0",
13084            cpp_lib_version = "5.14.0"
13085        ),
13086        feature = "ritual_rustdoc"
13087    ))]
13088    pub unsafe fn tr_utf8(
13089        s: *const ::std::os::raw::c_char,
13090        c: *const ::std::os::raw::c_char,
13091        n: ::std::os::raw::c_int,
13092    ) -> ::cpp_core::CppBox<::qt_core::QString> {
13093        let ffi_result =
13094            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_trUtf8(s, c, n) };
13095        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
13096    }
13097}
13098
13099/// <p>Used to calculate skinning transform matrices and set them on shaders.</p>
13100///
13101/// C++ class: <span style='color: green;'>```Qt3DCore::QArmature```</span>.
13102///
13103/// <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to calculate skinning transform matrices and set them on shaders.</p>
13104/// <p>The Armature component is aggregated by entities to give them the ability to calculate the palette of skinning transform matrices needed to properly render skinned meshes.</p>
13105/// <p>Each vertex in a skinned mesh is associated (bound) to up to 4 joints in a skeleton. For each joint affecting a vertex the mesh also provides a weight which determines the level of influence of the corresponding joint. The skinning palette used for performing the transformation of skinned vertices is provided by the Armature and is calculated from the joints contained in the referenced skeleton.</p>
13106/// <p>Updating the local transform of a joint results in the skinning matrices being recalculated and the skinned mesh vertices bound to that joint moving accordingly.</p></div>
13107#[repr(C)]
13108pub struct QArmature {
13109    _unused: u8,
13110}
13111impl QArmature {
13112    /// <p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13113    ///
13114    /// Returns a built-in Qt slot `Qt3DCore::QArmature::setSkeleton` that can be passed to `qt_core::Signal::connect`.
13115    ///
13116    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html#skeleton-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13117    /// <p><b>Access functions:</b></p>
13118    /// <div class="table"><table class="alignedsummary">
13119    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QAbstractSkeleton *</td><td class="memItemRight bottomAlign"><span class="name"><b>skeleton</b></span>() const</td></tr>
13120    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSkeleton</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13121    /// </tbody></table></div>
13122    /// <p><b>Notifier signal:</b></p>
13123    /// <div class="table"><table class="alignedsummary">
13124    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>skeletonChanged</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13125    /// </tbody></table></div></div>
13126    #[inline(always)]
13127    #[cfg_attr(
13128        feature = "ritual_rustdoc_nightly",
13129        doc(cfg(any(
13130            cpp_lib_version = "5.11.3",
13131            cpp_lib_version = "5.12.2",
13132            cpp_lib_version = "5.13.0",
13133            cpp_lib_version = "5.14.0"
13134        )))
13135    )]
13136    #[cfg(any(
13137        any(
13138            cpp_lib_version = "5.11.3",
13139            cpp_lib_version = "5.12.2",
13140            cpp_lib_version = "5.13.0",
13141            cpp_lib_version = "5.14.0"
13142        ),
13143        feature = "ritual_rustdoc"
13144    ))]
13145    pub fn slot_set_skeleton(&self) -> ::qt_core::Receiver<(*mut crate::QAbstractSkeleton,)> {
13146        unsafe {
13147            ::qt_core::Receiver::new(
13148                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13149                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
13150                    b"1setSkeleton(Qt3DCore::QAbstractSkeleton *)\0",
13151                ),
13152            )
13153        }
13154    }
13155
13156    /// <p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13157    ///
13158    /// Returns a built-in Qt signal `Qt3DCore::QArmature::skeletonChanged` that can be passed to `qt_core::Signal::connect`.
13159    ///
13160    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html#skeleton-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13161    /// <p><b>Access functions:</b></p>
13162    /// <div class="table"><table class="alignedsummary">
13163    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QAbstractSkeleton *</td><td class="memItemRight bottomAlign"><span class="name"><b>skeleton</b></span>() const</td></tr>
13164    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSkeleton</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13165    /// </tbody></table></div>
13166    /// <p><b>Notifier signal:</b></p>
13167    /// <div class="table"><table class="alignedsummary">
13168    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>skeletonChanged</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13169    /// </tbody></table></div></div>
13170    #[inline(always)]
13171    #[cfg_attr(
13172        feature = "ritual_rustdoc_nightly",
13173        doc(cfg(any(
13174            cpp_lib_version = "5.11.3",
13175            cpp_lib_version = "5.12.2",
13176            cpp_lib_version = "5.13.0",
13177            cpp_lib_version = "5.14.0"
13178        )))
13179    )]
13180    #[cfg(any(
13181        any(
13182            cpp_lib_version = "5.11.3",
13183            cpp_lib_version = "5.12.2",
13184            cpp_lib_version = "5.13.0",
13185            cpp_lib_version = "5.14.0"
13186        ),
13187        feature = "ritual_rustdoc"
13188    ))]
13189    pub fn skeleton_changed(&self) -> ::qt_core::Signal<(*mut crate::QAbstractSkeleton,)> {
13190        unsafe {
13191            ::qt_core::Signal::new(
13192                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13193                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
13194                    b"2skeletonChanged(Qt3DCore::QAbstractSkeleton *)\0",
13195                ),
13196            )
13197        }
13198    }
13199
13200    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QArmature::metaObject() const```</span>.
13201    #[inline(always)]
13202    #[cfg_attr(
13203        feature = "ritual_rustdoc_nightly",
13204        doc(cfg(any(
13205            cpp_lib_version = "5.11.3",
13206            cpp_lib_version = "5.12.2",
13207            cpp_lib_version = "5.13.0",
13208            cpp_lib_version = "5.14.0"
13209        )))
13210    )]
13211    #[cfg(any(
13212        any(
13213            cpp_lib_version = "5.11.3",
13214            cpp_lib_version = "5.12.2",
13215            cpp_lib_version = "5.13.0",
13216            cpp_lib_version = "5.14.0"
13217        ),
13218        feature = "ritual_rustdoc"
13219    ))]
13220    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
13221        let ffi_result = {
13222            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_metaObject(
13223                self as *const crate::QArmature,
13224            )
13225        };
13226        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
13227    }
13228
13229    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html">QArmature</a> with <i>parent</i>.</p>
13230    ///
13231    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QArmature::QArmature(Qt3DCore::QNode* parent = …)```</span>.
13232    ///
13233    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html#QArmature">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html">QArmature</a> with <i>parent</i>.</p></div>
13234    #[inline(always)]
13235    #[cfg_attr(
13236        feature = "ritual_rustdoc_nightly",
13237        doc(cfg(any(
13238            cpp_lib_version = "5.11.3",
13239            cpp_lib_version = "5.12.2",
13240            cpp_lib_version = "5.13.0",
13241            cpp_lib_version = "5.14.0"
13242        )))
13243    )]
13244    #[cfg(any(
13245        any(
13246            cpp_lib_version = "5.11.3",
13247            cpp_lib_version = "5.12.2",
13248            cpp_lib_version = "5.13.0",
13249            cpp_lib_version = "5.14.0"
13250        ),
13251        feature = "ritual_rustdoc"
13252    ))]
13253    pub unsafe fn new_1a(
13254        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
13255    ) -> ::qt_core::QBox<crate::QArmature> {
13256        let ffi_result = {
13257            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_QArmature(
13258                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
13259                    .as_raw_ptr() as *mut crate::QNode,
13260            )
13261        };
13262        ::qt_core::QBox::from_raw(ffi_result)
13263    }
13264
13265    /// <p>Used to calculate skinning transform matrices and set them on shaders.</p>
13266    ///
13267    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QArmature::QArmature()```</span>.
13268    ///
13269    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to calculate skinning transform matrices and set them on shaders.</p>
13270    /// <p>The Armature component is aggregated by entities to give them the ability to calculate the palette of skinning transform matrices needed to properly render skinned meshes.</p>
13271    /// <p>Each vertex in a skinned mesh is associated (bound) to up to 4 joints in a skeleton. For each joint affecting a vertex the mesh also provides a weight which determines the level of influence of the corresponding joint. The skinning palette used for performing the transformation of skinned vertices is provided by the Armature and is calculated from the joints contained in the referenced skeleton.</p>
13272    /// <p>Updating the local transform of a joint results in the skinning matrices being recalculated and the skinned mesh vertices bound to that joint moving accordingly.</p></div>
13273    #[inline(always)]
13274    #[cfg_attr(
13275        feature = "ritual_rustdoc_nightly",
13276        doc(cfg(any(
13277            cpp_lib_version = "5.11.3",
13278            cpp_lib_version = "5.12.2",
13279            cpp_lib_version = "5.13.0",
13280            cpp_lib_version = "5.14.0"
13281        )))
13282    )]
13283    #[cfg(any(
13284        any(
13285            cpp_lib_version = "5.11.3",
13286            cpp_lib_version = "5.12.2",
13287            cpp_lib_version = "5.13.0",
13288            cpp_lib_version = "5.14.0"
13289        ),
13290        feature = "ritual_rustdoc"
13291    ))]
13292    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QArmature> {
13293        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_QArmature1() };
13294        ::qt_core::QBox::from_raw(ffi_result)
13295    }
13296
13297    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QArmature::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
13298    #[inline(always)]
13299    #[cfg_attr(
13300        feature = "ritual_rustdoc_nightly",
13301        doc(cfg(any(
13302            cpp_lib_version = "5.11.3",
13303            cpp_lib_version = "5.12.2",
13304            cpp_lib_version = "5.13.0",
13305            cpp_lib_version = "5.14.0"
13306        )))
13307    )]
13308    #[cfg(any(
13309        any(
13310            cpp_lib_version = "5.11.3",
13311            cpp_lib_version = "5.12.2",
13312            cpp_lib_version = "5.13.0",
13313            cpp_lib_version = "5.14.0"
13314        ),
13315        feature = "ritual_rustdoc"
13316    ))]
13317    pub unsafe fn qt_metacall(
13318        &self,
13319        arg1: ::qt_core::q_meta_object::Call,
13320        arg2: ::std::os::raw::c_int,
13321        arg3: *mut *mut ::std::ffi::c_void,
13322    ) -> ::std::os::raw::c_int {
13323        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_qt_metacall(
13324            self as *const crate::QArmature as *mut crate::QArmature,
13325            arg1,
13326            arg2,
13327            arg3,
13328        )
13329    }
13330
13331    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QArmature::qt_metacast(const char* arg1)```</span>.
13332    #[inline(always)]
13333    #[cfg_attr(
13334        feature = "ritual_rustdoc_nightly",
13335        doc(cfg(any(
13336            cpp_lib_version = "5.11.3",
13337            cpp_lib_version = "5.12.2",
13338            cpp_lib_version = "5.13.0",
13339            cpp_lib_version = "5.14.0"
13340        )))
13341    )]
13342    #[cfg(any(
13343        any(
13344            cpp_lib_version = "5.11.3",
13345            cpp_lib_version = "5.12.2",
13346            cpp_lib_version = "5.13.0",
13347            cpp_lib_version = "5.14.0"
13348        ),
13349        feature = "ritual_rustdoc"
13350    ))]
13351    pub unsafe fn qt_metacast(
13352        &self,
13353        arg1: *const ::std::os::raw::c_char,
13354    ) -> *mut ::std::ffi::c_void {
13355        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_qt_metacast(
13356            self as *const crate::QArmature as *mut crate::QArmature,
13357            arg1,
13358        )
13359    }
13360
13361    /// <p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13362    ///
13363    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QArmature::setSkeleton(Qt3DCore::QAbstractSkeleton* skeleton)```</span>.
13364    ///
13365    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html#skeleton-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13366    /// <p><b>Access functions:</b></p>
13367    /// <div class="table"><table class="alignedsummary">
13368    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QAbstractSkeleton *</td><td class="memItemRight bottomAlign"><span class="name"><b>skeleton</b></span>() const</td></tr>
13369    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSkeleton</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13370    /// </tbody></table></div>
13371    /// <p><b>Notifier signal:</b></p>
13372    /// <div class="table"><table class="alignedsummary">
13373    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>skeletonChanged</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13374    /// </tbody></table></div></div>
13375    #[inline(always)]
13376    #[cfg_attr(
13377        feature = "ritual_rustdoc_nightly",
13378        doc(cfg(any(
13379            cpp_lib_version = "5.11.3",
13380            cpp_lib_version = "5.12.2",
13381            cpp_lib_version = "5.13.0",
13382            cpp_lib_version = "5.14.0"
13383        )))
13384    )]
13385    #[cfg(any(
13386        any(
13387            cpp_lib_version = "5.11.3",
13388            cpp_lib_version = "5.12.2",
13389            cpp_lib_version = "5.13.0",
13390            cpp_lib_version = "5.14.0"
13391        ),
13392        feature = "ritual_rustdoc"
13393    ))]
13394    pub unsafe fn set_skeleton(
13395        &self,
13396        skeleton: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QAbstractSkeleton>>,
13397    ) {
13398        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_setSkeleton(
13399            self as *const crate::QArmature as *mut crate::QArmature,
13400            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QAbstractSkeleton>>::cast_into(skeleton)
13401                .as_raw_ptr() as *mut crate::QAbstractSkeleton,
13402        )
13403    }
13404
13405    /// <p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13406    ///
13407    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* Qt3DCore::QArmature::skeleton() const```</span>.
13408    ///
13409    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qarmature.html#skeleton-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the skeleton used to calculate the skinning transform matrix palette.</p>
13410    /// <p><b>Access functions:</b></p>
13411    /// <div class="table"><table class="alignedsummary">
13412    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QAbstractSkeleton *</td><td class="memItemRight bottomAlign"><span class="name"><b>skeleton</b></span>() const</td></tr>
13413    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSkeleton</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13414    /// </tbody></table></div>
13415    /// <p><b>Notifier signal:</b></p>
13416    /// <div class="table"><table class="alignedsummary">
13417    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>skeletonChanged</b></span>(Qt3DCore::QAbstractSkeleton *<i>skeleton</i>)</td></tr>
13418    /// </tbody></table></div></div>
13419    #[inline(always)]
13420    #[cfg_attr(
13421        feature = "ritual_rustdoc_nightly",
13422        doc(cfg(any(
13423            cpp_lib_version = "5.11.3",
13424            cpp_lib_version = "5.12.2",
13425            cpp_lib_version = "5.13.0",
13426            cpp_lib_version = "5.14.0"
13427        )))
13428    )]
13429    #[cfg(any(
13430        any(
13431            cpp_lib_version = "5.11.3",
13432            cpp_lib_version = "5.12.2",
13433            cpp_lib_version = "5.13.0",
13434            cpp_lib_version = "5.14.0"
13435        ),
13436        feature = "ritual_rustdoc"
13437    ))]
13438    pub unsafe fn skeleton(&self) -> ::qt_core::QPtr<crate::QAbstractSkeleton> {
13439        let ffi_result = {
13440            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_skeleton(
13441                self as *const crate::QArmature,
13442            )
13443        };
13444        ::qt_core::QPtr::from_raw(ffi_result)
13445    }
13446
13447    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
13448    #[inline(always)]
13449    #[cfg_attr(
13450        feature = "ritual_rustdoc_nightly",
13451        doc(cfg(any(
13452            cpp_lib_version = "5.11.3",
13453            cpp_lib_version = "5.12.2",
13454            cpp_lib_version = "5.13.0",
13455            cpp_lib_version = "5.14.0"
13456        )))
13457    )]
13458    #[cfg(any(
13459        any(
13460            cpp_lib_version = "5.11.3",
13461            cpp_lib_version = "5.12.2",
13462            cpp_lib_version = "5.13.0",
13463            cpp_lib_version = "5.14.0"
13464        ),
13465        feature = "ritual_rustdoc"
13466    ))]
13467    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
13468        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_staticMetaObject() };
13469        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
13470            .expect("attempted to construct a null Ref")
13471    }
13472
13473    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QArmature::tr(const char* s, const char* c, int n)```</span>.
13474    #[inline(always)]
13475    #[cfg_attr(
13476        feature = "ritual_rustdoc_nightly",
13477        doc(cfg(any(
13478            cpp_lib_version = "5.11.3",
13479            cpp_lib_version = "5.12.2",
13480            cpp_lib_version = "5.13.0",
13481            cpp_lib_version = "5.14.0"
13482        )))
13483    )]
13484    #[cfg(any(
13485        any(
13486            cpp_lib_version = "5.11.3",
13487            cpp_lib_version = "5.12.2",
13488            cpp_lib_version = "5.13.0",
13489            cpp_lib_version = "5.14.0"
13490        ),
13491        feature = "ritual_rustdoc"
13492    ))]
13493    pub unsafe fn tr(
13494        s: *const ::std::os::raw::c_char,
13495        c: *const ::std::os::raw::c_char,
13496        n: ::std::os::raw::c_int,
13497    ) -> ::cpp_core::CppBox<::qt_core::QString> {
13498        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_tr(s, c, n) };
13499        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
13500    }
13501
13502    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QArmature::trUtf8(const char* s, const char* c, int n)```</span>.
13503    #[inline(always)]
13504    #[cfg_attr(
13505        feature = "ritual_rustdoc_nightly",
13506        doc(cfg(any(
13507            cpp_lib_version = "5.11.3",
13508            cpp_lib_version = "5.12.2",
13509            cpp_lib_version = "5.13.0",
13510            cpp_lib_version = "5.14.0"
13511        )))
13512    )]
13513    #[cfg(any(
13514        any(
13515            cpp_lib_version = "5.11.3",
13516            cpp_lib_version = "5.12.2",
13517            cpp_lib_version = "5.13.0",
13518            cpp_lib_version = "5.14.0"
13519        ),
13520        feature = "ritual_rustdoc"
13521    ))]
13522    pub unsafe fn tr_utf8(
13523        s: *const ::std::os::raw::c_char,
13524        c: *const ::std::os::raw::c_char,
13525        n: ::std::os::raw::c_int,
13526    ) -> ::cpp_core::CppBox<::qt_core::QString> {
13527        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_trUtf8(s, c, n) };
13528        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
13529    }
13530}
13531
13532/// <p>Used to transforms parts of skinned meshes.</p>
13533///
13534/// C++ class: <span style='color: green;'>```Qt3DCore::QJoint```</span>.
13535///
13536/// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to transforms parts of skinned meshes.</p>
13537/// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html">QJoint</a> node is used to build skeletons as part of the skinned mesh support in Qt 3D. A joint can be transformed by way of its scale, rotation and translation properties. Any mesh vertices that are bound to the joint will have their transformations updated accordingly.</p></div>
13538#[repr(C)]
13539pub struct QJoint {
13540    _unused: u8,
13541}
13542impl QJoint {
13543    /// <p>Holds the scale of the joint.</p>
13544    ///
13545    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setScale` that can be passed to `qt_core::Signal::connect`.
13546    ///
13547    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the joint.</p>
13548    /// <p><b>Access functions:</b></p>
13549    /// <div class="table"><table class="alignedsummary">
13550    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
13551    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
13552    /// </tbody></table></div>
13553    /// <p><b>Notifier signal:</b></p>
13554    /// <div class="table"><table class="alignedsummary">
13555    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
13556    /// </tbody></table></div></div>
13557    #[inline(always)]
13558    #[cfg_attr(
13559        feature = "ritual_rustdoc_nightly",
13560        doc(cfg(any(
13561            cpp_lib_version = "5.11.3",
13562            cpp_lib_version = "5.12.2",
13563            cpp_lib_version = "5.13.0",
13564            cpp_lib_version = "5.14.0"
13565        )))
13566    )]
13567    #[cfg(any(
13568        any(
13569            cpp_lib_version = "5.11.3",
13570            cpp_lib_version = "5.12.2",
13571            cpp_lib_version = "5.13.0",
13572            cpp_lib_version = "5.14.0"
13573        ),
13574        feature = "ritual_rustdoc"
13575    ))]
13576    pub fn slot_set_scale(&self) -> ::qt_core::Receiver<(*const ::qt_gui::QVector3D,)> {
13577        unsafe {
13578            ::qt_core::Receiver::new(
13579                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13580                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setScale(QVector3D const &)\0"),
13581            )
13582        }
13583    }
13584
13585    /// <p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
13586    ///
13587    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setRotation` that can be passed to `qt_core::Signal::connect`.
13588    ///
13589    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
13590    /// <p><b>Access functions:</b></p>
13591    /// <div class="table"><table class="alignedsummary">
13592    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
13593    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
13594    /// </tbody></table></div>
13595    /// <p><b>Notifier signal:</b></p>
13596    /// <div class="table"><table class="alignedsummary">
13597    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
13598    /// </tbody></table></div></div>
13599    #[inline(always)]
13600    #[cfg_attr(
13601        feature = "ritual_rustdoc_nightly",
13602        doc(cfg(any(
13603            cpp_lib_version = "5.11.3",
13604            cpp_lib_version = "5.12.2",
13605            cpp_lib_version = "5.13.0",
13606            cpp_lib_version = "5.14.0"
13607        )))
13608    )]
13609    #[cfg(any(
13610        any(
13611            cpp_lib_version = "5.11.3",
13612            cpp_lib_version = "5.12.2",
13613            cpp_lib_version = "5.13.0",
13614            cpp_lib_version = "5.14.0"
13615        ),
13616        feature = "ritual_rustdoc"
13617    ))]
13618    pub fn slot_set_rotation(&self) -> ::qt_core::Receiver<(*const ::qt_gui::QQuaternion,)> {
13619        unsafe {
13620            ::qt_core::Receiver::new(
13621                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13622                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
13623                    b"1setRotation(QQuaternion const &)\0",
13624                ),
13625            )
13626        }
13627    }
13628
13629    /// <p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
13630    ///
13631    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setTranslation` that can be passed to `qt_core::Signal::connect`.
13632    ///
13633    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
13634    /// <p><b>Access functions:</b></p>
13635    /// <div class="table"><table class="alignedsummary">
13636    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
13637    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
13638    /// </tbody></table></div>
13639    /// <p><b>Notifier signal:</b></p>
13640    /// <div class="table"><table class="alignedsummary">
13641    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
13642    /// </tbody></table></div></div>
13643    #[inline(always)]
13644    #[cfg_attr(
13645        feature = "ritual_rustdoc_nightly",
13646        doc(cfg(any(
13647            cpp_lib_version = "5.11.3",
13648            cpp_lib_version = "5.12.2",
13649            cpp_lib_version = "5.13.0",
13650            cpp_lib_version = "5.14.0"
13651        )))
13652    )]
13653    #[cfg(any(
13654        any(
13655            cpp_lib_version = "5.11.3",
13656            cpp_lib_version = "5.12.2",
13657            cpp_lib_version = "5.13.0",
13658            cpp_lib_version = "5.14.0"
13659        ),
13660        feature = "ritual_rustdoc"
13661    ))]
13662    pub fn slot_set_translation(&self) -> ::qt_core::Receiver<(*const ::qt_gui::QVector3D,)> {
13663        unsafe {
13664            ::qt_core::Receiver::new(
13665                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13666                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
13667                    b"1setTranslation(QVector3D const &)\0",
13668                ),
13669            )
13670        }
13671    }
13672
13673    /// <p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
13674    ///
13675    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setInverseBindMatrix` that can be passed to `qt_core::Signal::connect`.
13676    ///
13677    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#inverseBindMatrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
13678    /// <p><b>Access functions:</b></p>
13679    /// <div class="table"><table class="alignedsummary">
13680    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrix</b></span>() const</td></tr>
13681    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setInverseBindMatrix</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
13682    /// </tbody></table></div>
13683    /// <p><b>Notifier signal:</b></p>
13684    /// <div class="table"><table class="alignedsummary">
13685    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrixChanged</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
13686    /// </tbody></table></div></div>
13687    #[inline(always)]
13688    #[cfg_attr(
13689        feature = "ritual_rustdoc_nightly",
13690        doc(cfg(any(
13691            cpp_lib_version = "5.11.3",
13692            cpp_lib_version = "5.12.2",
13693            cpp_lib_version = "5.13.0",
13694            cpp_lib_version = "5.14.0"
13695        )))
13696    )]
13697    #[cfg(any(
13698        any(
13699            cpp_lib_version = "5.11.3",
13700            cpp_lib_version = "5.12.2",
13701            cpp_lib_version = "5.13.0",
13702            cpp_lib_version = "5.14.0"
13703        ),
13704        feature = "ritual_rustdoc"
13705    ))]
13706    pub fn slot_set_inverse_bind_matrix(
13707        &self,
13708    ) -> ::qt_core::Receiver<(*const ::qt_gui::QMatrix4X4,)> {
13709        unsafe {
13710            ::qt_core::Receiver::new(
13711                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13712                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
13713                    b"1setInverseBindMatrix(QMatrix4x4 const &)\0",
13714                ),
13715            )
13716        }
13717    }
13718
13719    /// <p>Holds the x rotation of the joint as an Euler angle.</p>
13720    ///
13721    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setRotationX` that can be passed to `qt_core::Signal::connect`.
13722    ///
13723    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the joint as an Euler angle.</p>
13724    /// <p><b>Access functions:</b></p>
13725    /// <div class="table"><table class="alignedsummary">
13726    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
13727    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
13728    /// </tbody></table></div>
13729    /// <p><b>Notifier signal:</b></p>
13730    /// <div class="table"><table class="alignedsummary">
13731    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
13732    /// </tbody></table></div></div>
13733    #[inline(always)]
13734    #[cfg_attr(
13735        feature = "ritual_rustdoc_nightly",
13736        doc(cfg(any(
13737            cpp_lib_version = "5.11.3",
13738            cpp_lib_version = "5.12.2",
13739            cpp_lib_version = "5.13.0",
13740            cpp_lib_version = "5.14.0"
13741        )))
13742    )]
13743    #[cfg(any(
13744        any(
13745            cpp_lib_version = "5.11.3",
13746            cpp_lib_version = "5.12.2",
13747            cpp_lib_version = "5.13.0",
13748            cpp_lib_version = "5.14.0"
13749        ),
13750        feature = "ritual_rustdoc"
13751    ))]
13752    pub fn slot_set_rotation_x(&self) -> ::qt_core::Receiver<(::std::os::raw::c_float,)> {
13753        unsafe {
13754            ::qt_core::Receiver::new(
13755                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13756                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setRotationX(float)\0"),
13757            )
13758        }
13759    }
13760
13761    /// <p>Holds the y rotation of the joint as an Euler angle.</p>
13762    ///
13763    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setRotationY` that can be passed to `qt_core::Signal::connect`.
13764    ///
13765    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the joint as an Euler angle.</p>
13766    /// <p><b>Access functions:</b></p>
13767    /// <div class="table"><table class="alignedsummary">
13768    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
13769    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
13770    /// </tbody></table></div>
13771    /// <p><b>Notifier signal:</b></p>
13772    /// <div class="table"><table class="alignedsummary">
13773    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
13774    /// </tbody></table></div></div>
13775    #[inline(always)]
13776    #[cfg_attr(
13777        feature = "ritual_rustdoc_nightly",
13778        doc(cfg(any(
13779            cpp_lib_version = "5.11.3",
13780            cpp_lib_version = "5.12.2",
13781            cpp_lib_version = "5.13.0",
13782            cpp_lib_version = "5.14.0"
13783        )))
13784    )]
13785    #[cfg(any(
13786        any(
13787            cpp_lib_version = "5.11.3",
13788            cpp_lib_version = "5.12.2",
13789            cpp_lib_version = "5.13.0",
13790            cpp_lib_version = "5.14.0"
13791        ),
13792        feature = "ritual_rustdoc"
13793    ))]
13794    pub fn slot_set_rotation_y(&self) -> ::qt_core::Receiver<(::std::os::raw::c_float,)> {
13795        unsafe {
13796            ::qt_core::Receiver::new(
13797                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13798                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setRotationY(float)\0"),
13799            )
13800        }
13801    }
13802
13803    /// <p>Holds the z rotation of the joint as an Euler angle.</p>
13804    ///
13805    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setRotationZ` that can be passed to `qt_core::Signal::connect`.
13806    ///
13807    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the joint as an Euler angle.</p>
13808    /// <p><b>Access functions:</b></p>
13809    /// <div class="table"><table class="alignedsummary">
13810    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
13811    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
13812    /// </tbody></table></div>
13813    /// <p><b>Notifier signal:</b></p>
13814    /// <div class="table"><table class="alignedsummary">
13815    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
13816    /// </tbody></table></div></div>
13817    #[inline(always)]
13818    #[cfg_attr(
13819        feature = "ritual_rustdoc_nightly",
13820        doc(cfg(any(
13821            cpp_lib_version = "5.11.3",
13822            cpp_lib_version = "5.12.2",
13823            cpp_lib_version = "5.13.0",
13824            cpp_lib_version = "5.14.0"
13825        )))
13826    )]
13827    #[cfg(any(
13828        any(
13829            cpp_lib_version = "5.11.3",
13830            cpp_lib_version = "5.12.2",
13831            cpp_lib_version = "5.13.0",
13832            cpp_lib_version = "5.14.0"
13833        ),
13834        feature = "ritual_rustdoc"
13835    ))]
13836    pub fn slot_set_rotation_z(&self) -> ::qt_core::Receiver<(::std::os::raw::c_float,)> {
13837        unsafe {
13838            ::qt_core::Receiver::new(
13839                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13840                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setRotationZ(float)\0"),
13841            )
13842        }
13843    }
13844
13845    /// <p><b>Access functions:</b></p>
13846    ///
13847    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setName` that can be passed to `qt_core::Signal::connect`.
13848    ///
13849    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#name-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
13850    /// <div class="table"><table class="alignedsummary">
13851    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QString </td><td class="memItemRight bottomAlign"><span class="name"><b>name</b></span>() const</td></tr>
13852    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setName</b></span>(const QString &amp;<i>name</i>)</td></tr>
13853    /// </tbody></table></div>
13854    /// <p><b>Notifier signal:</b></p>
13855    /// <div class="table"><table class="alignedsummary">
13856    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>nameChanged</b></span>(const QString &amp;<i>name</i>)</td></tr>
13857    /// </tbody></table></div></div>
13858    #[inline(always)]
13859    #[cfg_attr(
13860        feature = "ritual_rustdoc_nightly",
13861        doc(cfg(any(
13862            cpp_lib_version = "5.11.3",
13863            cpp_lib_version = "5.12.2",
13864            cpp_lib_version = "5.13.0",
13865            cpp_lib_version = "5.14.0"
13866        )))
13867    )]
13868    #[cfg(any(
13869        any(
13870            cpp_lib_version = "5.11.3",
13871            cpp_lib_version = "5.12.2",
13872            cpp_lib_version = "5.13.0",
13873            cpp_lib_version = "5.14.0"
13874        ),
13875        feature = "ritual_rustdoc"
13876    ))]
13877    pub fn slot_set_name(&self) -> ::qt_core::Receiver<(*const ::qt_core::QString,)> {
13878        unsafe {
13879            ::qt_core::Receiver::new(
13880                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13881                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setName(QString const &)\0"),
13882            )
13883        }
13884    }
13885
13886    /// <p>Sets the transform matrix for this joint to the identity matrix.</p>
13887    ///
13888    /// Returns a built-in Qt slot `Qt3DCore::QJoint::setToIdentity` that can be passed to `qt_core::Signal::connect`.
13889    ///
13890    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#setToIdentity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the transform matrix for this joint to the identity matrix.</p></div>
13891    #[inline(always)]
13892    #[cfg_attr(
13893        feature = "ritual_rustdoc_nightly",
13894        doc(cfg(any(
13895            cpp_lib_version = "5.11.3",
13896            cpp_lib_version = "5.12.2",
13897            cpp_lib_version = "5.13.0",
13898            cpp_lib_version = "5.14.0"
13899        )))
13900    )]
13901    #[cfg(any(
13902        any(
13903            cpp_lib_version = "5.11.3",
13904            cpp_lib_version = "5.12.2",
13905            cpp_lib_version = "5.13.0",
13906            cpp_lib_version = "5.14.0"
13907        ),
13908        feature = "ritual_rustdoc"
13909    ))]
13910    pub fn slot_set_to_identity(&self) -> ::qt_core::Receiver<()> {
13911        unsafe {
13912            ::qt_core::Receiver::new(
13913                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13914                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setToIdentity()\0"),
13915            )
13916        }
13917    }
13918
13919    /// <p>Holds the scale of the joint.</p>
13920    ///
13921    /// Returns a built-in Qt signal `Qt3DCore::QJoint::scaleChanged` that can be passed to `qt_core::Signal::connect`.
13922    ///
13923    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the joint.</p>
13924    /// <p><b>Access functions:</b></p>
13925    /// <div class="table"><table class="alignedsummary">
13926    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
13927    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
13928    /// </tbody></table></div>
13929    /// <p><b>Notifier signal:</b></p>
13930    /// <div class="table"><table class="alignedsummary">
13931    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
13932    /// </tbody></table></div></div>
13933    #[inline(always)]
13934    #[cfg_attr(
13935        feature = "ritual_rustdoc_nightly",
13936        doc(cfg(any(
13937            cpp_lib_version = "5.11.3",
13938            cpp_lib_version = "5.12.2",
13939            cpp_lib_version = "5.13.0",
13940            cpp_lib_version = "5.14.0"
13941        )))
13942    )]
13943    #[cfg(any(
13944        any(
13945            cpp_lib_version = "5.11.3",
13946            cpp_lib_version = "5.12.2",
13947            cpp_lib_version = "5.13.0",
13948            cpp_lib_version = "5.14.0"
13949        ),
13950        feature = "ritual_rustdoc"
13951    ))]
13952    pub fn scale_changed(&self) -> ::qt_core::Signal<(*const ::qt_gui::QVector3D,)> {
13953        unsafe {
13954            ::qt_core::Signal::new(
13955                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
13956                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
13957                    b"2scaleChanged(QVector3D const &)\0",
13958                ),
13959            )
13960        }
13961    }
13962
13963    /// <p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
13964    ///
13965    /// Returns a built-in Qt signal `Qt3DCore::QJoint::rotationChanged` that can be passed to `qt_core::Signal::connect`.
13966    ///
13967    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
13968    /// <p><b>Access functions:</b></p>
13969    /// <div class="table"><table class="alignedsummary">
13970    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
13971    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
13972    /// </tbody></table></div>
13973    /// <p><b>Notifier signal:</b></p>
13974    /// <div class="table"><table class="alignedsummary">
13975    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
13976    /// </tbody></table></div></div>
13977    #[inline(always)]
13978    #[cfg_attr(
13979        feature = "ritual_rustdoc_nightly",
13980        doc(cfg(any(
13981            cpp_lib_version = "5.11.3",
13982            cpp_lib_version = "5.12.2",
13983            cpp_lib_version = "5.13.0",
13984            cpp_lib_version = "5.14.0"
13985        )))
13986    )]
13987    #[cfg(any(
13988        any(
13989            cpp_lib_version = "5.11.3",
13990            cpp_lib_version = "5.12.2",
13991            cpp_lib_version = "5.13.0",
13992            cpp_lib_version = "5.14.0"
13993        ),
13994        feature = "ritual_rustdoc"
13995    ))]
13996    pub fn rotation_changed(&self) -> ::qt_core::Signal<(*const ::qt_gui::QQuaternion,)> {
13997        unsafe {
13998            ::qt_core::Signal::new(
13999                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
14000                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
14001                    b"2rotationChanged(QQuaternion const &)\0",
14002                ),
14003            )
14004        }
14005    }
14006
14007    /// <p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
14008    ///
14009    /// Returns a built-in Qt signal `Qt3DCore::QJoint::translationChanged` that can be passed to `qt_core::Signal::connect`.
14010    ///
14011    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
14012    /// <p><b>Access functions:</b></p>
14013    /// <div class="table"><table class="alignedsummary">
14014    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
14015    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
14016    /// </tbody></table></div>
14017    /// <p><b>Notifier signal:</b></p>
14018    /// <div class="table"><table class="alignedsummary">
14019    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
14020    /// </tbody></table></div></div>
14021    #[inline(always)]
14022    #[cfg_attr(
14023        feature = "ritual_rustdoc_nightly",
14024        doc(cfg(any(
14025            cpp_lib_version = "5.11.3",
14026            cpp_lib_version = "5.12.2",
14027            cpp_lib_version = "5.13.0",
14028            cpp_lib_version = "5.14.0"
14029        )))
14030    )]
14031    #[cfg(any(
14032        any(
14033            cpp_lib_version = "5.11.3",
14034            cpp_lib_version = "5.12.2",
14035            cpp_lib_version = "5.13.0",
14036            cpp_lib_version = "5.14.0"
14037        ),
14038        feature = "ritual_rustdoc"
14039    ))]
14040    pub fn translation_changed(&self) -> ::qt_core::Signal<(*const ::qt_gui::QVector3D,)> {
14041        unsafe {
14042            ::qt_core::Signal::new(
14043                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
14044                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
14045                    b"2translationChanged(QVector3D const &)\0",
14046                ),
14047            )
14048        }
14049    }
14050
14051    /// <p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
14052    ///
14053    /// Returns a built-in Qt signal `Qt3DCore::QJoint::inverseBindMatrixChanged` that can be passed to `qt_core::Signal::connect`.
14054    ///
14055    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#inverseBindMatrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
14056    /// <p><b>Access functions:</b></p>
14057    /// <div class="table"><table class="alignedsummary">
14058    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrix</b></span>() const</td></tr>
14059    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setInverseBindMatrix</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
14060    /// </tbody></table></div>
14061    /// <p><b>Notifier signal:</b></p>
14062    /// <div class="table"><table class="alignedsummary">
14063    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrixChanged</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
14064    /// </tbody></table></div></div>
14065    #[inline(always)]
14066    #[cfg_attr(
14067        feature = "ritual_rustdoc_nightly",
14068        doc(cfg(any(
14069            cpp_lib_version = "5.11.3",
14070            cpp_lib_version = "5.12.2",
14071            cpp_lib_version = "5.13.0",
14072            cpp_lib_version = "5.14.0"
14073        )))
14074    )]
14075    #[cfg(any(
14076        any(
14077            cpp_lib_version = "5.11.3",
14078            cpp_lib_version = "5.12.2",
14079            cpp_lib_version = "5.13.0",
14080            cpp_lib_version = "5.14.0"
14081        ),
14082        feature = "ritual_rustdoc"
14083    ))]
14084    pub fn inverse_bind_matrix_changed(&self) -> ::qt_core::Signal<(*const ::qt_gui::QMatrix4X4,)> {
14085        unsafe {
14086            ::qt_core::Signal::new(
14087                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
14088                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
14089                    b"2inverseBindMatrixChanged(QMatrix4x4 const &)\0",
14090                ),
14091            )
14092        }
14093    }
14094
14095    /// <p>Holds the x rotation of the joint as an Euler angle.</p>
14096    ///
14097    /// Returns a built-in Qt signal `Qt3DCore::QJoint::rotationXChanged` that can be passed to `qt_core::Signal::connect`.
14098    ///
14099    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the joint as an Euler angle.</p>
14100    /// <p><b>Access functions:</b></p>
14101    /// <div class="table"><table class="alignedsummary">
14102    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
14103    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
14104    /// </tbody></table></div>
14105    /// <p><b>Notifier signal:</b></p>
14106    /// <div class="table"><table class="alignedsummary">
14107    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
14108    /// </tbody></table></div></div>
14109    #[inline(always)]
14110    #[cfg_attr(
14111        feature = "ritual_rustdoc_nightly",
14112        doc(cfg(any(
14113            cpp_lib_version = "5.11.3",
14114            cpp_lib_version = "5.12.2",
14115            cpp_lib_version = "5.13.0",
14116            cpp_lib_version = "5.14.0"
14117        )))
14118    )]
14119    #[cfg(any(
14120        any(
14121            cpp_lib_version = "5.11.3",
14122            cpp_lib_version = "5.12.2",
14123            cpp_lib_version = "5.13.0",
14124            cpp_lib_version = "5.14.0"
14125        ),
14126        feature = "ritual_rustdoc"
14127    ))]
14128    pub fn rotation_x_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
14129        unsafe {
14130            ::qt_core::Signal::new(
14131                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
14132                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2rotationXChanged(float)\0"),
14133            )
14134        }
14135    }
14136
14137    /// <p>Holds the y rotation of the joint as an Euler angle.</p>
14138    ///
14139    /// Returns a built-in Qt signal `Qt3DCore::QJoint::rotationYChanged` that can be passed to `qt_core::Signal::connect`.
14140    ///
14141    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the joint as an Euler angle.</p>
14142    /// <p><b>Access functions:</b></p>
14143    /// <div class="table"><table class="alignedsummary">
14144    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
14145    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
14146    /// </tbody></table></div>
14147    /// <p><b>Notifier signal:</b></p>
14148    /// <div class="table"><table class="alignedsummary">
14149    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
14150    /// </tbody></table></div></div>
14151    #[inline(always)]
14152    #[cfg_attr(
14153        feature = "ritual_rustdoc_nightly",
14154        doc(cfg(any(
14155            cpp_lib_version = "5.11.3",
14156            cpp_lib_version = "5.12.2",
14157            cpp_lib_version = "5.13.0",
14158            cpp_lib_version = "5.14.0"
14159        )))
14160    )]
14161    #[cfg(any(
14162        any(
14163            cpp_lib_version = "5.11.3",
14164            cpp_lib_version = "5.12.2",
14165            cpp_lib_version = "5.13.0",
14166            cpp_lib_version = "5.14.0"
14167        ),
14168        feature = "ritual_rustdoc"
14169    ))]
14170    pub fn rotation_y_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
14171        unsafe {
14172            ::qt_core::Signal::new(
14173                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
14174                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2rotationYChanged(float)\0"),
14175            )
14176        }
14177    }
14178
14179    /// <p>Holds the z rotation of the joint as an Euler angle.</p>
14180    ///
14181    /// Returns a built-in Qt signal `Qt3DCore::QJoint::rotationZChanged` that can be passed to `qt_core::Signal::connect`.
14182    ///
14183    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the joint as an Euler angle.</p>
14184    /// <p><b>Access functions:</b></p>
14185    /// <div class="table"><table class="alignedsummary">
14186    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
14187    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
14188    /// </tbody></table></div>
14189    /// <p><b>Notifier signal:</b></p>
14190    /// <div class="table"><table class="alignedsummary">
14191    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
14192    /// </tbody></table></div></div>
14193    #[inline(always)]
14194    #[cfg_attr(
14195        feature = "ritual_rustdoc_nightly",
14196        doc(cfg(any(
14197            cpp_lib_version = "5.11.3",
14198            cpp_lib_version = "5.12.2",
14199            cpp_lib_version = "5.13.0",
14200            cpp_lib_version = "5.14.0"
14201        )))
14202    )]
14203    #[cfg(any(
14204        any(
14205            cpp_lib_version = "5.11.3",
14206            cpp_lib_version = "5.12.2",
14207            cpp_lib_version = "5.13.0",
14208            cpp_lib_version = "5.14.0"
14209        ),
14210        feature = "ritual_rustdoc"
14211    ))]
14212    pub fn rotation_z_changed(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
14213        unsafe {
14214            ::qt_core::Signal::new(
14215                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
14216                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2rotationZChanged(float)\0"),
14217            )
14218        }
14219    }
14220
14221    /// <p><b>Access functions:</b></p>
14222    ///
14223    /// Returns a built-in Qt signal `Qt3DCore::QJoint::nameChanged` that can be passed to `qt_core::Signal::connect`.
14224    ///
14225    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#name-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
14226    /// <div class="table"><table class="alignedsummary">
14227    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QString </td><td class="memItemRight bottomAlign"><span class="name"><b>name</b></span>() const</td></tr>
14228    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setName</b></span>(const QString &amp;<i>name</i>)</td></tr>
14229    /// </tbody></table></div>
14230    /// <p><b>Notifier signal:</b></p>
14231    /// <div class="table"><table class="alignedsummary">
14232    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>nameChanged</b></span>(const QString &amp;<i>name</i>)</td></tr>
14233    /// </tbody></table></div></div>
14234    #[inline(always)]
14235    #[cfg_attr(
14236        feature = "ritual_rustdoc_nightly",
14237        doc(cfg(any(
14238            cpp_lib_version = "5.11.3",
14239            cpp_lib_version = "5.12.2",
14240            cpp_lib_version = "5.13.0",
14241            cpp_lib_version = "5.14.0"
14242        )))
14243    )]
14244    #[cfg(any(
14245        any(
14246            cpp_lib_version = "5.11.3",
14247            cpp_lib_version = "5.12.2",
14248            cpp_lib_version = "5.13.0",
14249            cpp_lib_version = "5.14.0"
14250        ),
14251        feature = "ritual_rustdoc"
14252    ))]
14253    pub fn name_changed(&self) -> ::qt_core::Signal<(*const ::qt_core::QString,)> {
14254        unsafe {
14255            ::qt_core::Signal::new(
14256                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
14257                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2nameChanged(QString const &)\0"),
14258            )
14259        }
14260    }
14261
14262    /// <p>Adds <i>joint</i> as a child of this joint. If <i>joint</i> has no parent, then this joint takes ownership of it. Child joints are in the coordinate system of their parent joint.</p>
14263    ///
14264    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QJoint::addChildJoint(Qt3DCore::QJoint* joint)```</span>.
14265    ///
14266    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#addChildJoint">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Adds <i>joint</i> as a child of this joint. If <i>joint</i> has no parent, then this joint takes ownership of it. Child joints are in the coordinate system of their parent joint.</p></div>
14267    #[inline(always)]
14268    #[cfg_attr(
14269        feature = "ritual_rustdoc_nightly",
14270        doc(cfg(any(
14271            cpp_lib_version = "5.11.3",
14272            cpp_lib_version = "5.12.2",
14273            cpp_lib_version = "5.13.0",
14274            cpp_lib_version = "5.14.0"
14275        )))
14276    )]
14277    #[cfg(any(
14278        any(
14279            cpp_lib_version = "5.11.3",
14280            cpp_lib_version = "5.12.2",
14281            cpp_lib_version = "5.13.0",
14282            cpp_lib_version = "5.14.0"
14283        ),
14284        feature = "ritual_rustdoc"
14285    ))]
14286    pub unsafe fn add_child_joint(
14287        &self,
14288        joint: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QJoint>>,
14289    ) {
14290        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_addChildJoint(
14291            self as *const crate::QJoint as *mut crate::QJoint,
14292            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QJoint>>::cast_into(joint).as_raw_ptr()
14293                as *mut crate::QJoint,
14294        )
14295    }
14296
14297    /// <p>The vector of joints this joint has as children.</p>
14298    ///
14299    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*> Qt3DCore::QJoint::childJoints() const```</span>.
14300    ///
14301    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#childJoints">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The vector of joints this joint has as children.</p></div>
14302    #[inline(always)]
14303    #[cfg_attr(
14304        feature = "ritual_rustdoc_nightly",
14305        doc(cfg(any(
14306            cpp_lib_version = "5.11.3",
14307            cpp_lib_version = "5.12.2",
14308            cpp_lib_version = "5.13.0",
14309            cpp_lib_version = "5.14.0"
14310        )))
14311    )]
14312    #[cfg(any(
14313        any(
14314            cpp_lib_version = "5.11.3",
14315            cpp_lib_version = "5.12.2",
14316            cpp_lib_version = "5.13.0",
14317            cpp_lib_version = "5.14.0"
14318        ),
14319        feature = "ritual_rustdoc"
14320    ))]
14321    pub unsafe fn child_joints(&self) -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
14322        let ffi_result = {
14323            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_childJoints(
14324                self as *const crate::QJoint,
14325            )
14326        };
14327        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
14328    }
14329
14330    /// <p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
14331    ///
14332    /// Calls C++ function: <span style='color: green;'>```QMatrix4x4 Qt3DCore::QJoint::inverseBindMatrix() const```</span>.
14333    ///
14334    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#inverseBindMatrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
14335    /// <p><b>Access functions:</b></p>
14336    /// <div class="table"><table class="alignedsummary">
14337    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrix</b></span>() const</td></tr>
14338    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setInverseBindMatrix</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
14339    /// </tbody></table></div>
14340    /// <p><b>Notifier signal:</b></p>
14341    /// <div class="table"><table class="alignedsummary">
14342    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrixChanged</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
14343    /// </tbody></table></div></div>
14344    #[inline(always)]
14345    #[cfg_attr(
14346        feature = "ritual_rustdoc_nightly",
14347        doc(cfg(any(
14348            cpp_lib_version = "5.11.3",
14349            cpp_lib_version = "5.12.2",
14350            cpp_lib_version = "5.13.0",
14351            cpp_lib_version = "5.14.0"
14352        )))
14353    )]
14354    #[cfg(any(
14355        any(
14356            cpp_lib_version = "5.11.3",
14357            cpp_lib_version = "5.12.2",
14358            cpp_lib_version = "5.13.0",
14359            cpp_lib_version = "5.14.0"
14360        ),
14361        feature = "ritual_rustdoc"
14362    ))]
14363    pub unsafe fn inverse_bind_matrix(&self) -> ::cpp_core::CppBox<::qt_gui::QMatrix4X4> {
14364        let ffi_result = {
14365            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_inverseBindMatrix(
14366                self as *const crate::QJoint,
14367            )
14368        };
14369        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
14370    }
14371
14372    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QJoint::metaObject() const```</span>.
14373    #[inline(always)]
14374    #[cfg_attr(
14375        feature = "ritual_rustdoc_nightly",
14376        doc(cfg(any(
14377            cpp_lib_version = "5.11.3",
14378            cpp_lib_version = "5.12.2",
14379            cpp_lib_version = "5.13.0",
14380            cpp_lib_version = "5.14.0"
14381        )))
14382    )]
14383    #[cfg(any(
14384        any(
14385            cpp_lib_version = "5.11.3",
14386            cpp_lib_version = "5.12.2",
14387            cpp_lib_version = "5.13.0",
14388            cpp_lib_version = "5.14.0"
14389        ),
14390        feature = "ritual_rustdoc"
14391    ))]
14392    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
14393        let ffi_result = {
14394            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_metaObject(
14395                self as *const crate::QJoint,
14396            )
14397        };
14398        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
14399    }
14400
14401    /// <p><b>Access functions:</b></p>
14402    ///
14403    /// Calls C++ function: <span style='color: green;'>```QString Qt3DCore::QJoint::name() const```</span>.
14404    ///
14405    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#name-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
14406    /// <div class="table"><table class="alignedsummary">
14407    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QString </td><td class="memItemRight bottomAlign"><span class="name"><b>name</b></span>() const</td></tr>
14408    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setName</b></span>(const QString &amp;<i>name</i>)</td></tr>
14409    /// </tbody></table></div>
14410    /// <p><b>Notifier signal:</b></p>
14411    /// <div class="table"><table class="alignedsummary">
14412    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>nameChanged</b></span>(const QString &amp;<i>name</i>)</td></tr>
14413    /// </tbody></table></div></div>
14414    #[inline(always)]
14415    #[cfg_attr(
14416        feature = "ritual_rustdoc_nightly",
14417        doc(cfg(any(
14418            cpp_lib_version = "5.11.3",
14419            cpp_lib_version = "5.12.2",
14420            cpp_lib_version = "5.13.0",
14421            cpp_lib_version = "5.14.0"
14422        )))
14423    )]
14424    #[cfg(any(
14425        any(
14426            cpp_lib_version = "5.11.3",
14427            cpp_lib_version = "5.12.2",
14428            cpp_lib_version = "5.13.0",
14429            cpp_lib_version = "5.14.0"
14430        ),
14431        feature = "ritual_rustdoc"
14432    ))]
14433    pub unsafe fn name(&self) -> ::cpp_core::CppBox<::qt_core::QString> {
14434        let ffi_result =
14435            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_name(self as *const crate::QJoint) };
14436        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
14437    }
14438
14439    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html">QJoint</a> with <i>parent</i>.</p>
14440    ///
14441    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QJoint::QJoint(Qt3DCore::QNode* parent = …)```</span>.
14442    ///
14443    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#QJoint">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html">QJoint</a> with <i>parent</i>.</p></div>
14444    #[inline(always)]
14445    #[cfg_attr(
14446        feature = "ritual_rustdoc_nightly",
14447        doc(cfg(any(
14448            cpp_lib_version = "5.11.3",
14449            cpp_lib_version = "5.12.2",
14450            cpp_lib_version = "5.13.0",
14451            cpp_lib_version = "5.14.0"
14452        )))
14453    )]
14454    #[cfg(any(
14455        any(
14456            cpp_lib_version = "5.11.3",
14457            cpp_lib_version = "5.12.2",
14458            cpp_lib_version = "5.13.0",
14459            cpp_lib_version = "5.14.0"
14460        ),
14461        feature = "ritual_rustdoc"
14462    ))]
14463    pub unsafe fn new_1a(
14464        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
14465    ) -> ::qt_core::QBox<crate::QJoint> {
14466        let ffi_result = {
14467            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_QJoint(
14468                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
14469                    .as_raw_ptr() as *mut crate::QNode,
14470            )
14471        };
14472        ::qt_core::QBox::from_raw(ffi_result)
14473    }
14474
14475    /// <p>Used to transforms parts of skinned meshes.</p>
14476    ///
14477    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QJoint::QJoint()```</span>.
14478    ///
14479    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to transforms parts of skinned meshes.</p>
14480    /// <p>The <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html">QJoint</a> node is used to build skeletons as part of the skinned mesh support in Qt 3D. A joint can be transformed by way of its scale, rotation and translation properties. Any mesh vertices that are bound to the joint will have their transformations updated accordingly.</p></div>
14481    #[inline(always)]
14482    #[cfg_attr(
14483        feature = "ritual_rustdoc_nightly",
14484        doc(cfg(any(
14485            cpp_lib_version = "5.11.3",
14486            cpp_lib_version = "5.12.2",
14487            cpp_lib_version = "5.13.0",
14488            cpp_lib_version = "5.14.0"
14489        )))
14490    )]
14491    #[cfg(any(
14492        any(
14493            cpp_lib_version = "5.11.3",
14494            cpp_lib_version = "5.12.2",
14495            cpp_lib_version = "5.13.0",
14496            cpp_lib_version = "5.14.0"
14497        ),
14498        feature = "ritual_rustdoc"
14499    ))]
14500    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QJoint> {
14501        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_QJoint1() };
14502        ::qt_core::QBox::from_raw(ffi_result)
14503    }
14504
14505    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QJoint::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
14506    #[inline(always)]
14507    #[cfg_attr(
14508        feature = "ritual_rustdoc_nightly",
14509        doc(cfg(any(
14510            cpp_lib_version = "5.11.3",
14511            cpp_lib_version = "5.12.2",
14512            cpp_lib_version = "5.13.0",
14513            cpp_lib_version = "5.14.0"
14514        )))
14515    )]
14516    #[cfg(any(
14517        any(
14518            cpp_lib_version = "5.11.3",
14519            cpp_lib_version = "5.12.2",
14520            cpp_lib_version = "5.13.0",
14521            cpp_lib_version = "5.14.0"
14522        ),
14523        feature = "ritual_rustdoc"
14524    ))]
14525    pub unsafe fn qt_metacall(
14526        &self,
14527        arg1: ::qt_core::q_meta_object::Call,
14528        arg2: ::std::os::raw::c_int,
14529        arg3: *mut *mut ::std::ffi::c_void,
14530    ) -> ::std::os::raw::c_int {
14531        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_qt_metacall(
14532            self as *const crate::QJoint as *mut crate::QJoint,
14533            arg1,
14534            arg2,
14535            arg3,
14536        )
14537    }
14538
14539    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QJoint::qt_metacast(const char* arg1)```</span>.
14540    #[inline(always)]
14541    #[cfg_attr(
14542        feature = "ritual_rustdoc_nightly",
14543        doc(cfg(any(
14544            cpp_lib_version = "5.11.3",
14545            cpp_lib_version = "5.12.2",
14546            cpp_lib_version = "5.13.0",
14547            cpp_lib_version = "5.14.0"
14548        )))
14549    )]
14550    #[cfg(any(
14551        any(
14552            cpp_lib_version = "5.11.3",
14553            cpp_lib_version = "5.12.2",
14554            cpp_lib_version = "5.13.0",
14555            cpp_lib_version = "5.14.0"
14556        ),
14557        feature = "ritual_rustdoc"
14558    ))]
14559    pub unsafe fn qt_metacast(
14560        &self,
14561        arg1: *const ::std::os::raw::c_char,
14562    ) -> *mut ::std::ffi::c_void {
14563        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_qt_metacast(
14564            self as *const crate::QJoint as *mut crate::QJoint,
14565            arg1,
14566        )
14567    }
14568
14569    /// <p>Removes <i>joint</i> from this joint's list of children. The child joint is not destroyed.</p>
14570    ///
14571    /// Calls C++ function: <span style='color: green;'>```void Qt3DCore::QJoint::removeChildJoint(Qt3DCore::QJoint* joint)```</span>.
14572    ///
14573    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#removeChildJoint">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes <i>joint</i> from this joint's list of children. The child joint is not destroyed.</p></div>
14574    #[inline(always)]
14575    #[cfg_attr(
14576        feature = "ritual_rustdoc_nightly",
14577        doc(cfg(any(
14578            cpp_lib_version = "5.11.3",
14579            cpp_lib_version = "5.12.2",
14580            cpp_lib_version = "5.13.0",
14581            cpp_lib_version = "5.14.0"
14582        )))
14583    )]
14584    #[cfg(any(
14585        any(
14586            cpp_lib_version = "5.11.3",
14587            cpp_lib_version = "5.12.2",
14588            cpp_lib_version = "5.13.0",
14589            cpp_lib_version = "5.14.0"
14590        ),
14591        feature = "ritual_rustdoc"
14592    ))]
14593    pub unsafe fn remove_child_joint(
14594        &self,
14595        joint: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QJoint>>,
14596    ) {
14597        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_removeChildJoint(
14598            self as *const crate::QJoint as *mut crate::QJoint,
14599            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QJoint>>::cast_into(joint).as_raw_ptr()
14600                as *mut crate::QJoint,
14601        )
14602    }
14603
14604    /// <p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
14605    ///
14606    /// Calls C++ function: <span style='color: green;'>```QQuaternion Qt3DCore::QJoint::rotation() const```</span>.
14607    ///
14608    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
14609    /// <p><b>Access functions:</b></p>
14610    /// <div class="table"><table class="alignedsummary">
14611    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
14612    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
14613    /// </tbody></table></div>
14614    /// <p><b>Notifier signal:</b></p>
14615    /// <div class="table"><table class="alignedsummary">
14616    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
14617    /// </tbody></table></div></div>
14618    #[inline(always)]
14619    #[cfg_attr(
14620        feature = "ritual_rustdoc_nightly",
14621        doc(cfg(any(
14622            cpp_lib_version = "5.11.3",
14623            cpp_lib_version = "5.12.2",
14624            cpp_lib_version = "5.13.0",
14625            cpp_lib_version = "5.14.0"
14626        )))
14627    )]
14628    #[cfg(any(
14629        any(
14630            cpp_lib_version = "5.11.3",
14631            cpp_lib_version = "5.12.2",
14632            cpp_lib_version = "5.13.0",
14633            cpp_lib_version = "5.14.0"
14634        ),
14635        feature = "ritual_rustdoc"
14636    ))]
14637    pub unsafe fn rotation(&self) -> ::cpp_core::CppBox<::qt_gui::QQuaternion> {
14638        let ffi_result = {
14639            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_rotation(self as *const crate::QJoint)
14640        };
14641        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
14642    }
14643
14644    /// <p>Holds the x rotation of the joint as an Euler angle.</p>
14645    ///
14646    /// Calls C++ function: <span style='color: green;'>```float Qt3DCore::QJoint::rotationX() const```</span>.
14647    ///
14648    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the joint as an Euler angle.</p>
14649    /// <p><b>Access functions:</b></p>
14650    /// <div class="table"><table class="alignedsummary">
14651    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
14652    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
14653    /// </tbody></table></div>
14654    /// <p><b>Notifier signal:</b></p>
14655    /// <div class="table"><table class="alignedsummary">
14656    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
14657    /// </tbody></table></div></div>
14658    #[inline(always)]
14659    #[cfg_attr(
14660        feature = "ritual_rustdoc_nightly",
14661        doc(cfg(any(
14662            cpp_lib_version = "5.11.3",
14663            cpp_lib_version = "5.12.2",
14664            cpp_lib_version = "5.13.0",
14665            cpp_lib_version = "5.14.0"
14666        )))
14667    )]
14668    #[cfg(any(
14669        any(
14670            cpp_lib_version = "5.11.3",
14671            cpp_lib_version = "5.12.2",
14672            cpp_lib_version = "5.13.0",
14673            cpp_lib_version = "5.14.0"
14674        ),
14675        feature = "ritual_rustdoc"
14676    ))]
14677    pub unsafe fn rotation_x(&self) -> ::std::os::raw::c_float {
14678        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_rotationX(self as *const crate::QJoint)
14679    }
14680
14681    /// <p>Holds the y rotation of the joint as an Euler angle.</p>
14682    ///
14683    /// Calls C++ function: <span style='color: green;'>```float Qt3DCore::QJoint::rotationY() const```</span>.
14684    ///
14685    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the joint as an Euler angle.</p>
14686    /// <p><b>Access functions:</b></p>
14687    /// <div class="table"><table class="alignedsummary">
14688    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
14689    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
14690    /// </tbody></table></div>
14691    /// <p><b>Notifier signal:</b></p>
14692    /// <div class="table"><table class="alignedsummary">
14693    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
14694    /// </tbody></table></div></div>
14695    #[inline(always)]
14696    #[cfg_attr(
14697        feature = "ritual_rustdoc_nightly",
14698        doc(cfg(any(
14699            cpp_lib_version = "5.11.3",
14700            cpp_lib_version = "5.12.2",
14701            cpp_lib_version = "5.13.0",
14702            cpp_lib_version = "5.14.0"
14703        )))
14704    )]
14705    #[cfg(any(
14706        any(
14707            cpp_lib_version = "5.11.3",
14708            cpp_lib_version = "5.12.2",
14709            cpp_lib_version = "5.13.0",
14710            cpp_lib_version = "5.14.0"
14711        ),
14712        feature = "ritual_rustdoc"
14713    ))]
14714    pub unsafe fn rotation_y(&self) -> ::std::os::raw::c_float {
14715        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_rotationY(self as *const crate::QJoint)
14716    }
14717
14718    /// <p>Holds the z rotation of the joint as an Euler angle.</p>
14719    ///
14720    /// Calls C++ function: <span style='color: green;'>```float Qt3DCore::QJoint::rotationZ() const```</span>.
14721    ///
14722    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the joint as an Euler angle.</p>
14723    /// <p><b>Access functions:</b></p>
14724    /// <div class="table"><table class="alignedsummary">
14725    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
14726    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
14727    /// </tbody></table></div>
14728    /// <p><b>Notifier signal:</b></p>
14729    /// <div class="table"><table class="alignedsummary">
14730    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
14731    /// </tbody></table></div></div>
14732    #[inline(always)]
14733    #[cfg_attr(
14734        feature = "ritual_rustdoc_nightly",
14735        doc(cfg(any(
14736            cpp_lib_version = "5.11.3",
14737            cpp_lib_version = "5.12.2",
14738            cpp_lib_version = "5.13.0",
14739            cpp_lib_version = "5.14.0"
14740        )))
14741    )]
14742    #[cfg(any(
14743        any(
14744            cpp_lib_version = "5.11.3",
14745            cpp_lib_version = "5.12.2",
14746            cpp_lib_version = "5.13.0",
14747            cpp_lib_version = "5.14.0"
14748        ),
14749        feature = "ritual_rustdoc"
14750    ))]
14751    pub unsafe fn rotation_z(&self) -> ::std::os::raw::c_float {
14752        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_rotationZ(self as *const crate::QJoint)
14753    }
14754
14755    /// <p>Holds the scale of the joint.</p>
14756    ///
14757    /// Calls C++ function: <span style='color: green;'>```QVector3D Qt3DCore::QJoint::scale() const```</span>.
14758    ///
14759    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the joint.</p>
14760    /// <p><b>Access functions:</b></p>
14761    /// <div class="table"><table class="alignedsummary">
14762    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
14763    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
14764    /// </tbody></table></div>
14765    /// <p><b>Notifier signal:</b></p>
14766    /// <div class="table"><table class="alignedsummary">
14767    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
14768    /// </tbody></table></div></div>
14769    #[inline(always)]
14770    #[cfg_attr(
14771        feature = "ritual_rustdoc_nightly",
14772        doc(cfg(any(
14773            cpp_lib_version = "5.11.3",
14774            cpp_lib_version = "5.12.2",
14775            cpp_lib_version = "5.13.0",
14776            cpp_lib_version = "5.14.0"
14777        )))
14778    )]
14779    #[cfg(any(
14780        any(
14781            cpp_lib_version = "5.11.3",
14782            cpp_lib_version = "5.12.2",
14783            cpp_lib_version = "5.13.0",
14784            cpp_lib_version = "5.14.0"
14785        ),
14786        feature = "ritual_rustdoc"
14787    ))]
14788    pub unsafe fn scale(&self) -> ::cpp_core::CppBox<::qt_gui::QVector3D> {
14789        let ffi_result = {
14790            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_scale(self as *const crate::QJoint)
14791        };
14792        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
14793    }
14794
14795    /// <p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
14796    ///
14797    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setInverseBindMatrix(const QMatrix4x4& inverseBindMatrix)```</span>.
14798    ///
14799    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#inverseBindMatrix-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.</p>
14800    /// <p><b>Access functions:</b></p>
14801    /// <div class="table"><table class="alignedsummary">
14802    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QMatrix4x4 </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrix</b></span>() const</td></tr>
14803    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setInverseBindMatrix</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
14804    /// </tbody></table></div>
14805    /// <p><b>Notifier signal:</b></p>
14806    /// <div class="table"><table class="alignedsummary">
14807    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>inverseBindMatrixChanged</b></span>(const QMatrix4x4 &amp;<i>inverseBindMatrix</i>)</td></tr>
14808    /// </tbody></table></div></div>
14809    #[inline(always)]
14810    #[cfg_attr(
14811        feature = "ritual_rustdoc_nightly",
14812        doc(cfg(any(
14813            cpp_lib_version = "5.11.3",
14814            cpp_lib_version = "5.12.2",
14815            cpp_lib_version = "5.13.0",
14816            cpp_lib_version = "5.14.0"
14817        )))
14818    )]
14819    #[cfg(any(
14820        any(
14821            cpp_lib_version = "5.11.3",
14822            cpp_lib_version = "5.12.2",
14823            cpp_lib_version = "5.13.0",
14824            cpp_lib_version = "5.14.0"
14825        ),
14826        feature = "ritual_rustdoc"
14827    ))]
14828    pub unsafe fn set_inverse_bind_matrix(
14829        &self,
14830        inverse_bind_matrix: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QMatrix4X4>>,
14831    ) {
14832        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setInverseBindMatrix(
14833            self as *const crate::QJoint as *mut crate::QJoint,
14834            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QMatrix4X4>>::cast_into(
14835                inverse_bind_matrix,
14836            )
14837            .as_raw_ptr(),
14838        )
14839    }
14840
14841    /// <p><b>Access functions:</b></p>
14842    ///
14843    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setName(const QString& name)```</span>.
14844    ///
14845    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#name-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
14846    /// <div class="table"><table class="alignedsummary">
14847    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QString </td><td class="memItemRight bottomAlign"><span class="name"><b>name</b></span>() const</td></tr>
14848    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setName</b></span>(const QString &amp;<i>name</i>)</td></tr>
14849    /// </tbody></table></div>
14850    /// <p><b>Notifier signal:</b></p>
14851    /// <div class="table"><table class="alignedsummary">
14852    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>nameChanged</b></span>(const QString &amp;<i>name</i>)</td></tr>
14853    /// </tbody></table></div></div>
14854    #[inline(always)]
14855    #[cfg_attr(
14856        feature = "ritual_rustdoc_nightly",
14857        doc(cfg(any(
14858            cpp_lib_version = "5.11.3",
14859            cpp_lib_version = "5.12.2",
14860            cpp_lib_version = "5.13.0",
14861            cpp_lib_version = "5.14.0"
14862        )))
14863    )]
14864    #[cfg(any(
14865        any(
14866            cpp_lib_version = "5.11.3",
14867            cpp_lib_version = "5.12.2",
14868            cpp_lib_version = "5.13.0",
14869            cpp_lib_version = "5.14.0"
14870        ),
14871        feature = "ritual_rustdoc"
14872    ))]
14873    pub unsafe fn set_name(
14874        &self,
14875        name: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QString>>,
14876    ) {
14877        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setName(
14878            self as *const crate::QJoint as *mut crate::QJoint,
14879            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QString>>::cast_into(name)
14880                .as_raw_ptr(),
14881        )
14882    }
14883
14884    /// <p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
14885    ///
14886    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setRotation(const QQuaternion& rotation)```</span>.
14887    ///
14888    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the rotation of the joint as <a href="http://doc.qt.io/qt-5/qquaternion.html">QQuaternion</a>.</p>
14889    /// <p><b>Access functions:</b></p>
14890    /// <div class="table"><table class="alignedsummary">
14891    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QQuaternion </td><td class="memItemRight bottomAlign"><span class="name"><b>rotation</b></span>() const</td></tr>
14892    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotation</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
14893    /// </tbody></table></div>
14894    /// <p><b>Notifier signal:</b></p>
14895    /// <div class="table"><table class="alignedsummary">
14896    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationChanged</b></span>(const QQuaternion &amp;<i>rotation</i>)</td></tr>
14897    /// </tbody></table></div></div>
14898    #[inline(always)]
14899    #[cfg_attr(
14900        feature = "ritual_rustdoc_nightly",
14901        doc(cfg(any(
14902            cpp_lib_version = "5.11.3",
14903            cpp_lib_version = "5.12.2",
14904            cpp_lib_version = "5.13.0",
14905            cpp_lib_version = "5.14.0"
14906        )))
14907    )]
14908    #[cfg(any(
14909        any(
14910            cpp_lib_version = "5.11.3",
14911            cpp_lib_version = "5.12.2",
14912            cpp_lib_version = "5.13.0",
14913            cpp_lib_version = "5.14.0"
14914        ),
14915        feature = "ritual_rustdoc"
14916    ))]
14917    pub unsafe fn set_rotation(
14918        &self,
14919        rotation: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QQuaternion>>,
14920    ) {
14921        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setRotation(
14922            self as *const crate::QJoint as *mut crate::QJoint,
14923            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QQuaternion>>::cast_into(rotation)
14924                .as_raw_ptr(),
14925        )
14926    }
14927
14928    /// <p>Holds the x rotation of the joint as an Euler angle.</p>
14929    ///
14930    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setRotationX(float rotationX)```</span>.
14931    ///
14932    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationX-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the x rotation of the joint as an Euler angle.</p>
14933    /// <p><b>Access functions:</b></p>
14934    /// <div class="table"><table class="alignedsummary">
14935    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationX</b></span>() const</td></tr>
14936    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationX</b></span>(float <i>rotationX</i>)</td></tr>
14937    /// </tbody></table></div>
14938    /// <p><b>Notifier signal:</b></p>
14939    /// <div class="table"><table class="alignedsummary">
14940    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationXChanged</b></span>(float <i>rotationX</i>)</td></tr>
14941    /// </tbody></table></div></div>
14942    #[inline(always)]
14943    #[cfg_attr(
14944        feature = "ritual_rustdoc_nightly",
14945        doc(cfg(any(
14946            cpp_lib_version = "5.11.3",
14947            cpp_lib_version = "5.12.2",
14948            cpp_lib_version = "5.13.0",
14949            cpp_lib_version = "5.14.0"
14950        )))
14951    )]
14952    #[cfg(any(
14953        any(
14954            cpp_lib_version = "5.11.3",
14955            cpp_lib_version = "5.12.2",
14956            cpp_lib_version = "5.13.0",
14957            cpp_lib_version = "5.14.0"
14958        ),
14959        feature = "ritual_rustdoc"
14960    ))]
14961    pub unsafe fn set_rotation_x(&self, rotation_x: ::std::os::raw::c_float) {
14962        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setRotationX(
14963            self as *const crate::QJoint as *mut crate::QJoint,
14964            rotation_x,
14965        )
14966    }
14967
14968    /// <p>Holds the y rotation of the joint as an Euler angle.</p>
14969    ///
14970    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setRotationY(float rotationY)```</span>.
14971    ///
14972    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationY-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the y rotation of the joint as an Euler angle.</p>
14973    /// <p><b>Access functions:</b></p>
14974    /// <div class="table"><table class="alignedsummary">
14975    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationY</b></span>() const</td></tr>
14976    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationY</b></span>(float <i>rotationY</i>)</td></tr>
14977    /// </tbody></table></div>
14978    /// <p><b>Notifier signal:</b></p>
14979    /// <div class="table"><table class="alignedsummary">
14980    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationYChanged</b></span>(float <i>rotationY</i>)</td></tr>
14981    /// </tbody></table></div></div>
14982    #[inline(always)]
14983    #[cfg_attr(
14984        feature = "ritual_rustdoc_nightly",
14985        doc(cfg(any(
14986            cpp_lib_version = "5.11.3",
14987            cpp_lib_version = "5.12.2",
14988            cpp_lib_version = "5.13.0",
14989            cpp_lib_version = "5.14.0"
14990        )))
14991    )]
14992    #[cfg(any(
14993        any(
14994            cpp_lib_version = "5.11.3",
14995            cpp_lib_version = "5.12.2",
14996            cpp_lib_version = "5.13.0",
14997            cpp_lib_version = "5.14.0"
14998        ),
14999        feature = "ritual_rustdoc"
15000    ))]
15001    pub unsafe fn set_rotation_y(&self, rotation_y: ::std::os::raw::c_float) {
15002        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setRotationY(
15003            self as *const crate::QJoint as *mut crate::QJoint,
15004            rotation_y,
15005        )
15006    }
15007
15008    /// <p>Holds the z rotation of the joint as an Euler angle.</p>
15009    ///
15010    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setRotationZ(float rotationZ)```</span>.
15011    ///
15012    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#rotationZ-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the z rotation of the joint as an Euler angle.</p>
15013    /// <p><b>Access functions:</b></p>
15014    /// <div class="table"><table class="alignedsummary">
15015    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> float </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZ</b></span>() const</td></tr>
15016    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRotationZ</b></span>(float <i>rotationZ</i>)</td></tr>
15017    /// </tbody></table></div>
15018    /// <p><b>Notifier signal:</b></p>
15019    /// <div class="table"><table class="alignedsummary">
15020    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rotationZChanged</b></span>(float <i>rotationZ</i>)</td></tr>
15021    /// </tbody></table></div></div>
15022    #[inline(always)]
15023    #[cfg_attr(
15024        feature = "ritual_rustdoc_nightly",
15025        doc(cfg(any(
15026            cpp_lib_version = "5.11.3",
15027            cpp_lib_version = "5.12.2",
15028            cpp_lib_version = "5.13.0",
15029            cpp_lib_version = "5.14.0"
15030        )))
15031    )]
15032    #[cfg(any(
15033        any(
15034            cpp_lib_version = "5.11.3",
15035            cpp_lib_version = "5.12.2",
15036            cpp_lib_version = "5.13.0",
15037            cpp_lib_version = "5.14.0"
15038        ),
15039        feature = "ritual_rustdoc"
15040    ))]
15041    pub unsafe fn set_rotation_z(&self, rotation_z: ::std::os::raw::c_float) {
15042        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setRotationZ(
15043            self as *const crate::QJoint as *mut crate::QJoint,
15044            rotation_z,
15045        )
15046    }
15047
15048    /// <p>Holds the scale of the joint.</p>
15049    ///
15050    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setScale(const QVector3D& scale)```</span>.
15051    ///
15052    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#scale-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the scale of the joint.</p>
15053    /// <p><b>Access functions:</b></p>
15054    /// <div class="table"><table class="alignedsummary">
15055    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>scale</b></span>() const</td></tr>
15056    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setScale</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
15057    /// </tbody></table></div>
15058    /// <p><b>Notifier signal:</b></p>
15059    /// <div class="table"><table class="alignedsummary">
15060    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>scaleChanged</b></span>(const QVector3D &amp;<i>scale</i>)</td></tr>
15061    /// </tbody></table></div></div>
15062    #[inline(always)]
15063    #[cfg_attr(
15064        feature = "ritual_rustdoc_nightly",
15065        doc(cfg(any(
15066            cpp_lib_version = "5.11.3",
15067            cpp_lib_version = "5.12.2",
15068            cpp_lib_version = "5.13.0",
15069            cpp_lib_version = "5.14.0"
15070        )))
15071    )]
15072    #[cfg(any(
15073        any(
15074            cpp_lib_version = "5.11.3",
15075            cpp_lib_version = "5.12.2",
15076            cpp_lib_version = "5.13.0",
15077            cpp_lib_version = "5.14.0"
15078        ),
15079        feature = "ritual_rustdoc"
15080    ))]
15081    pub unsafe fn set_scale(
15082        &self,
15083        scale: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
15084    ) {
15085        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setScale(
15086            self as *const crate::QJoint as *mut crate::QJoint,
15087            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(scale)
15088                .as_raw_ptr(),
15089        )
15090    }
15091
15092    /// <p>Sets the transform matrix for this joint to the identity matrix.</p>
15093    ///
15094    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setToIdentity()```</span>.
15095    ///
15096    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#setToIdentity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the transform matrix for this joint to the identity matrix.</p></div>
15097    #[inline(always)]
15098    #[cfg_attr(
15099        feature = "ritual_rustdoc_nightly",
15100        doc(cfg(any(
15101            cpp_lib_version = "5.11.3",
15102            cpp_lib_version = "5.12.2",
15103            cpp_lib_version = "5.13.0",
15104            cpp_lib_version = "5.14.0"
15105        )))
15106    )]
15107    #[cfg(any(
15108        any(
15109            cpp_lib_version = "5.11.3",
15110            cpp_lib_version = "5.12.2",
15111            cpp_lib_version = "5.13.0",
15112            cpp_lib_version = "5.14.0"
15113        ),
15114        feature = "ritual_rustdoc"
15115    ))]
15116    pub unsafe fn set_to_identity(&self) {
15117        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setToIdentity(
15118            self as *const crate::QJoint as *mut crate::QJoint,
15119        )
15120    }
15121
15122    /// <p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
15123    ///
15124    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QJoint::setTranslation(const QVector3D& translation)```</span>.
15125    ///
15126    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
15127    /// <p><b>Access functions:</b></p>
15128    /// <div class="table"><table class="alignedsummary">
15129    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
15130    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
15131    /// </tbody></table></div>
15132    /// <p><b>Notifier signal:</b></p>
15133    /// <div class="table"><table class="alignedsummary">
15134    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
15135    /// </tbody></table></div></div>
15136    #[inline(always)]
15137    #[cfg_attr(
15138        feature = "ritual_rustdoc_nightly",
15139        doc(cfg(any(
15140            cpp_lib_version = "5.11.3",
15141            cpp_lib_version = "5.12.2",
15142            cpp_lib_version = "5.13.0",
15143            cpp_lib_version = "5.14.0"
15144        )))
15145    )]
15146    #[cfg(any(
15147        any(
15148            cpp_lib_version = "5.11.3",
15149            cpp_lib_version = "5.12.2",
15150            cpp_lib_version = "5.13.0",
15151            cpp_lib_version = "5.14.0"
15152        ),
15153        feature = "ritual_rustdoc"
15154    ))]
15155    pub unsafe fn set_translation(
15156        &self,
15157        translation: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
15158    ) {
15159        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_setTranslation(
15160            self as *const crate::QJoint as *mut crate::QJoint,
15161            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(translation)
15162                .as_raw_ptr(),
15163        )
15164    }
15165
15166    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
15167    #[inline(always)]
15168    #[cfg_attr(
15169        feature = "ritual_rustdoc_nightly",
15170        doc(cfg(any(
15171            cpp_lib_version = "5.11.3",
15172            cpp_lib_version = "5.12.2",
15173            cpp_lib_version = "5.13.0",
15174            cpp_lib_version = "5.14.0"
15175        )))
15176    )]
15177    #[cfg(any(
15178        any(
15179            cpp_lib_version = "5.11.3",
15180            cpp_lib_version = "5.12.2",
15181            cpp_lib_version = "5.13.0",
15182            cpp_lib_version = "5.14.0"
15183        ),
15184        feature = "ritual_rustdoc"
15185    ))]
15186    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
15187        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_staticMetaObject() };
15188        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
15189            .expect("attempted to construct a null Ref")
15190    }
15191
15192    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QJoint::tr(const char* s, const char* c, int n)```</span>.
15193    #[inline(always)]
15194    #[cfg_attr(
15195        feature = "ritual_rustdoc_nightly",
15196        doc(cfg(any(
15197            cpp_lib_version = "5.11.3",
15198            cpp_lib_version = "5.12.2",
15199            cpp_lib_version = "5.13.0",
15200            cpp_lib_version = "5.14.0"
15201        )))
15202    )]
15203    #[cfg(any(
15204        any(
15205            cpp_lib_version = "5.11.3",
15206            cpp_lib_version = "5.12.2",
15207            cpp_lib_version = "5.13.0",
15208            cpp_lib_version = "5.14.0"
15209        ),
15210        feature = "ritual_rustdoc"
15211    ))]
15212    pub unsafe fn tr(
15213        s: *const ::std::os::raw::c_char,
15214        c: *const ::std::os::raw::c_char,
15215        n: ::std::os::raw::c_int,
15216    ) -> ::cpp_core::CppBox<::qt_core::QString> {
15217        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_tr(s, c, n) };
15218        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
15219    }
15220
15221    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QJoint::trUtf8(const char* s, const char* c, int n)```</span>.
15222    #[inline(always)]
15223    #[cfg_attr(
15224        feature = "ritual_rustdoc_nightly",
15225        doc(cfg(any(
15226            cpp_lib_version = "5.11.3",
15227            cpp_lib_version = "5.12.2",
15228            cpp_lib_version = "5.13.0",
15229            cpp_lib_version = "5.14.0"
15230        )))
15231    )]
15232    #[cfg(any(
15233        any(
15234            cpp_lib_version = "5.11.3",
15235            cpp_lib_version = "5.12.2",
15236            cpp_lib_version = "5.13.0",
15237            cpp_lib_version = "5.14.0"
15238        ),
15239        feature = "ritual_rustdoc"
15240    ))]
15241    pub unsafe fn tr_utf8(
15242        s: *const ::std::os::raw::c_char,
15243        c: *const ::std::os::raw::c_char,
15244        n: ::std::os::raw::c_int,
15245    ) -> ::cpp_core::CppBox<::qt_core::QString> {
15246        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_trUtf8(s, c, n) };
15247        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
15248    }
15249
15250    /// <p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
15251    ///
15252    /// Calls C++ function: <span style='color: green;'>```QVector3D Qt3DCore::QJoint::translation() const```</span>.
15253    ///
15254    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qjoint.html#translation-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the translation of the joint as <a href="http://doc.qt.io/qt-5/qvector3d.html">QVector3D</a>.</p>
15255    /// <p><b>Access functions:</b></p>
15256    /// <div class="table"><table class="alignedsummary">
15257    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QVector3D </td><td class="memItemRight bottomAlign"><span class="name"><b>translation</b></span>() const</td></tr>
15258    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setTranslation</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
15259    /// </tbody></table></div>
15260    /// <p><b>Notifier signal:</b></p>
15261    /// <div class="table"><table class="alignedsummary">
15262    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>translationChanged</b></span>(const QVector3D &amp;<i>translation</i>)</td></tr>
15263    /// </tbody></table></div></div>
15264    #[inline(always)]
15265    #[cfg_attr(
15266        feature = "ritual_rustdoc_nightly",
15267        doc(cfg(any(
15268            cpp_lib_version = "5.11.3",
15269            cpp_lib_version = "5.12.2",
15270            cpp_lib_version = "5.13.0",
15271            cpp_lib_version = "5.14.0"
15272        )))
15273    )]
15274    #[cfg(any(
15275        any(
15276            cpp_lib_version = "5.11.3",
15277            cpp_lib_version = "5.12.2",
15278            cpp_lib_version = "5.13.0",
15279            cpp_lib_version = "5.14.0"
15280        ),
15281        feature = "ritual_rustdoc"
15282    ))]
15283    pub unsafe fn translation(&self) -> ::cpp_core::CppBox<::qt_gui::QVector3D> {
15284        let ffi_result = {
15285            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_translation(
15286                self as *const crate::QJoint,
15287            )
15288        };
15289        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
15290    }
15291}
15292
15293/// <p>Holds the data for a skeleton to be used with skinned meshes.</p>
15294///
15295/// C++ class: <span style='color: green;'>```Qt3DCore::QSkeleton```</span>.
15296///
15297/// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the data for a skeleton to be used with skinned meshes.</p>
15298/// <p>Use <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html">QSkeleton</a> if you wish to manually create the joints of a skeleton for use with skinned meshes. This is mainly of use to people creating editors, tooling, or dynamic skeletons. It is more common that a Qt 3D application would simply consume an existing skeleton and skinned mesh as created in a digital content creation tool such as Blender. For this use case, please see <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a>.</p></div>
15299#[repr(C)]
15300pub struct QSkeleton {
15301    _unused: u8,
15302}
15303impl QSkeleton {
15304    /// <p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15305    ///
15306    /// Returns a built-in Qt slot `Qt3DCore::QSkeleton::setRootJoint` that can be passed to `qt_core::Signal::connect`.
15307    ///
15308    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html#rootJoint-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15309    /// <p><b>Access functions:</b></p>
15310    /// <div class="table"><table class="alignedsummary">
15311    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QJoint *</td><td class="memItemRight bottomAlign"><span class="name"><b>rootJoint</b></span>() const</td></tr>
15312    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRootJoint</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15313    /// </tbody></table></div>
15314    /// <p><b>Notifier signal:</b></p>
15315    /// <div class="table"><table class="alignedsummary">
15316    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rootJointChanged</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15317    /// </tbody></table></div></div>
15318    #[inline(always)]
15319    #[cfg_attr(
15320        feature = "ritual_rustdoc_nightly",
15321        doc(cfg(any(
15322            cpp_lib_version = "5.11.3",
15323            cpp_lib_version = "5.12.2",
15324            cpp_lib_version = "5.13.0",
15325            cpp_lib_version = "5.14.0"
15326        )))
15327    )]
15328    #[cfg(any(
15329        any(
15330            cpp_lib_version = "5.11.3",
15331            cpp_lib_version = "5.12.2",
15332            cpp_lib_version = "5.13.0",
15333            cpp_lib_version = "5.14.0"
15334        ),
15335        feature = "ritual_rustdoc"
15336    ))]
15337    pub fn slot_set_root_joint(&self) -> ::qt_core::Receiver<(*mut crate::QJoint,)> {
15338        unsafe {
15339            ::qt_core::Receiver::new(
15340                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
15341                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
15342                    b"1setRootJoint(Qt3DCore::QJoint *)\0",
15343                ),
15344            )
15345        }
15346    }
15347
15348    /// <p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15349    ///
15350    /// Returns a built-in Qt signal `Qt3DCore::QSkeleton::rootJointChanged` that can be passed to `qt_core::Signal::connect`.
15351    ///
15352    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html#rootJoint-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15353    /// <p><b>Access functions:</b></p>
15354    /// <div class="table"><table class="alignedsummary">
15355    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QJoint *</td><td class="memItemRight bottomAlign"><span class="name"><b>rootJoint</b></span>() const</td></tr>
15356    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRootJoint</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15357    /// </tbody></table></div>
15358    /// <p><b>Notifier signal:</b></p>
15359    /// <div class="table"><table class="alignedsummary">
15360    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rootJointChanged</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15361    /// </tbody></table></div></div>
15362    #[inline(always)]
15363    #[cfg_attr(
15364        feature = "ritual_rustdoc_nightly",
15365        doc(cfg(any(
15366            cpp_lib_version = "5.11.3",
15367            cpp_lib_version = "5.12.2",
15368            cpp_lib_version = "5.13.0",
15369            cpp_lib_version = "5.14.0"
15370        )))
15371    )]
15372    #[cfg(any(
15373        any(
15374            cpp_lib_version = "5.11.3",
15375            cpp_lib_version = "5.12.2",
15376            cpp_lib_version = "5.13.0",
15377            cpp_lib_version = "5.14.0"
15378        ),
15379        feature = "ritual_rustdoc"
15380    ))]
15381    pub fn root_joint_changed(&self) -> ::qt_core::Signal<(*mut crate::QJoint,)> {
15382        unsafe {
15383            ::qt_core::Signal::new(
15384                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
15385                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
15386                    b"2rootJointChanged(Qt3DCore::QJoint *)\0",
15387                ),
15388            )
15389        }
15390    }
15391
15392    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QSkeleton::metaObject() const```</span>.
15393    #[inline(always)]
15394    #[cfg_attr(
15395        feature = "ritual_rustdoc_nightly",
15396        doc(cfg(any(
15397            cpp_lib_version = "5.11.3",
15398            cpp_lib_version = "5.12.2",
15399            cpp_lib_version = "5.13.0",
15400            cpp_lib_version = "5.14.0"
15401        )))
15402    )]
15403    #[cfg(any(
15404        any(
15405            cpp_lib_version = "5.11.3",
15406            cpp_lib_version = "5.12.2",
15407            cpp_lib_version = "5.13.0",
15408            cpp_lib_version = "5.14.0"
15409        ),
15410        feature = "ritual_rustdoc"
15411    ))]
15412    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
15413        let ffi_result = {
15414            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_metaObject(
15415                self as *const crate::QSkeleton,
15416            )
15417        };
15418        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
15419    }
15420
15421    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html">QSkeleton</a> with <i>parent</i>.</p>
15422    ///
15423    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QSkeleton::QSkeleton(Qt3DCore::QNode* parent = …)```</span>.
15424    ///
15425    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html#QSkeleton">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html">QSkeleton</a> with <i>parent</i>.</p></div>
15426    #[inline(always)]
15427    #[cfg_attr(
15428        feature = "ritual_rustdoc_nightly",
15429        doc(cfg(any(
15430            cpp_lib_version = "5.11.3",
15431            cpp_lib_version = "5.12.2",
15432            cpp_lib_version = "5.13.0",
15433            cpp_lib_version = "5.14.0"
15434        )))
15435    )]
15436    #[cfg(any(
15437        any(
15438            cpp_lib_version = "5.11.3",
15439            cpp_lib_version = "5.12.2",
15440            cpp_lib_version = "5.13.0",
15441            cpp_lib_version = "5.14.0"
15442        ),
15443        feature = "ritual_rustdoc"
15444    ))]
15445    pub unsafe fn new_1a(
15446        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
15447    ) -> ::qt_core::QBox<crate::QSkeleton> {
15448        let ffi_result = {
15449            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_QSkeleton(
15450                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
15451                    .as_raw_ptr() as *mut crate::QNode,
15452            )
15453        };
15454        ::qt_core::QBox::from_raw(ffi_result)
15455    }
15456
15457    /// <p>Holds the data for a skeleton to be used with skinned meshes.</p>
15458    ///
15459    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QSkeleton::QSkeleton()```</span>.
15460    ///
15461    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the data for a skeleton to be used with skinned meshes.</p>
15462    /// <p>Use <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html">QSkeleton</a> if you wish to manually create the joints of a skeleton for use with skinned meshes. This is mainly of use to people creating editors, tooling, or dynamic skeletons. It is more common that a Qt 3D application would simply consume an existing skeleton and skinned mesh as created in a digital content creation tool such as Blender. For this use case, please see <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a>.</p></div>
15463    #[inline(always)]
15464    #[cfg_attr(
15465        feature = "ritual_rustdoc_nightly",
15466        doc(cfg(any(
15467            cpp_lib_version = "5.11.3",
15468            cpp_lib_version = "5.12.2",
15469            cpp_lib_version = "5.13.0",
15470            cpp_lib_version = "5.14.0"
15471        )))
15472    )]
15473    #[cfg(any(
15474        any(
15475            cpp_lib_version = "5.11.3",
15476            cpp_lib_version = "5.12.2",
15477            cpp_lib_version = "5.13.0",
15478            cpp_lib_version = "5.14.0"
15479        ),
15480        feature = "ritual_rustdoc"
15481    ))]
15482    pub unsafe fn new_0a() -> ::qt_core::QBox<crate::QSkeleton> {
15483        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_QSkeleton1() };
15484        ::qt_core::QBox::from_raw(ffi_result)
15485    }
15486
15487    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QSkeleton::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
15488    #[inline(always)]
15489    #[cfg_attr(
15490        feature = "ritual_rustdoc_nightly",
15491        doc(cfg(any(
15492            cpp_lib_version = "5.11.3",
15493            cpp_lib_version = "5.12.2",
15494            cpp_lib_version = "5.13.0",
15495            cpp_lib_version = "5.14.0"
15496        )))
15497    )]
15498    #[cfg(any(
15499        any(
15500            cpp_lib_version = "5.11.3",
15501            cpp_lib_version = "5.12.2",
15502            cpp_lib_version = "5.13.0",
15503            cpp_lib_version = "5.14.0"
15504        ),
15505        feature = "ritual_rustdoc"
15506    ))]
15507    pub unsafe fn qt_metacall(
15508        &self,
15509        arg1: ::qt_core::q_meta_object::Call,
15510        arg2: ::std::os::raw::c_int,
15511        arg3: *mut *mut ::std::ffi::c_void,
15512    ) -> ::std::os::raw::c_int {
15513        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_qt_metacall(
15514            self as *const crate::QSkeleton as *mut crate::QSkeleton,
15515            arg1,
15516            arg2,
15517            arg3,
15518        )
15519    }
15520
15521    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QSkeleton::qt_metacast(const char* arg1)```</span>.
15522    #[inline(always)]
15523    #[cfg_attr(
15524        feature = "ritual_rustdoc_nightly",
15525        doc(cfg(any(
15526            cpp_lib_version = "5.11.3",
15527            cpp_lib_version = "5.12.2",
15528            cpp_lib_version = "5.13.0",
15529            cpp_lib_version = "5.14.0"
15530        )))
15531    )]
15532    #[cfg(any(
15533        any(
15534            cpp_lib_version = "5.11.3",
15535            cpp_lib_version = "5.12.2",
15536            cpp_lib_version = "5.13.0",
15537            cpp_lib_version = "5.14.0"
15538        ),
15539        feature = "ritual_rustdoc"
15540    ))]
15541    pub unsafe fn qt_metacast(
15542        &self,
15543        arg1: *const ::std::os::raw::c_char,
15544    ) -> *mut ::std::ffi::c_void {
15545        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_qt_metacast(
15546            self as *const crate::QSkeleton as *mut crate::QSkeleton,
15547            arg1,
15548        )
15549    }
15550
15551    /// <p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15552    ///
15553    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* Qt3DCore::QSkeleton::rootJoint() const```</span>.
15554    ///
15555    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html#rootJoint-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15556    /// <p><b>Access functions:</b></p>
15557    /// <div class="table"><table class="alignedsummary">
15558    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QJoint *</td><td class="memItemRight bottomAlign"><span class="name"><b>rootJoint</b></span>() const</td></tr>
15559    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRootJoint</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15560    /// </tbody></table></div>
15561    /// <p><b>Notifier signal:</b></p>
15562    /// <div class="table"><table class="alignedsummary">
15563    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rootJointChanged</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15564    /// </tbody></table></div></div>
15565    #[inline(always)]
15566    #[cfg_attr(
15567        feature = "ritual_rustdoc_nightly",
15568        doc(cfg(any(
15569            cpp_lib_version = "5.11.3",
15570            cpp_lib_version = "5.12.2",
15571            cpp_lib_version = "5.13.0",
15572            cpp_lib_version = "5.14.0"
15573        )))
15574    )]
15575    #[cfg(any(
15576        any(
15577            cpp_lib_version = "5.11.3",
15578            cpp_lib_version = "5.12.2",
15579            cpp_lib_version = "5.13.0",
15580            cpp_lib_version = "5.14.0"
15581        ),
15582        feature = "ritual_rustdoc"
15583    ))]
15584    pub unsafe fn root_joint(&self) -> ::qt_core::QPtr<crate::QJoint> {
15585        let ffi_result = {
15586            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_rootJoint(
15587                self as *const crate::QSkeleton,
15588            )
15589        };
15590        ::qt_core::QPtr::from_raw(ffi_result)
15591    }
15592
15593    /// <p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15594    ///
15595    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QSkeleton::setRootJoint(Qt3DCore::QJoint* rootJoint)```</span>.
15596    ///
15597    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeleton.html#rootJoint-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the root joint of the hierarchy of joints forming the skeleton.</p>
15598    /// <p><b>Access functions:</b></p>
15599    /// <div class="table"><table class="alignedsummary">
15600    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QJoint *</td><td class="memItemRight bottomAlign"><span class="name"><b>rootJoint</b></span>() const</td></tr>
15601    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setRootJoint</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15602    /// </tbody></table></div>
15603    /// <p><b>Notifier signal:</b></p>
15604    /// <div class="table"><table class="alignedsummary">
15605    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rootJointChanged</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15606    /// </tbody></table></div></div>
15607    #[inline(always)]
15608    #[cfg_attr(
15609        feature = "ritual_rustdoc_nightly",
15610        doc(cfg(any(
15611            cpp_lib_version = "5.11.3",
15612            cpp_lib_version = "5.12.2",
15613            cpp_lib_version = "5.13.0",
15614            cpp_lib_version = "5.14.0"
15615        )))
15616    )]
15617    #[cfg(any(
15618        any(
15619            cpp_lib_version = "5.11.3",
15620            cpp_lib_version = "5.12.2",
15621            cpp_lib_version = "5.13.0",
15622            cpp_lib_version = "5.14.0"
15623        ),
15624        feature = "ritual_rustdoc"
15625    ))]
15626    pub unsafe fn set_root_joint(
15627        &self,
15628        root_joint: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QJoint>>,
15629    ) {
15630        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_setRootJoint(
15631            self as *const crate::QSkeleton as *mut crate::QSkeleton,
15632            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QJoint>>::cast_into(root_joint)
15633                .as_raw_ptr() as *mut crate::QJoint,
15634        )
15635    }
15636
15637    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
15638    #[inline(always)]
15639    #[cfg_attr(
15640        feature = "ritual_rustdoc_nightly",
15641        doc(cfg(any(
15642            cpp_lib_version = "5.11.3",
15643            cpp_lib_version = "5.12.2",
15644            cpp_lib_version = "5.13.0",
15645            cpp_lib_version = "5.14.0"
15646        )))
15647    )]
15648    #[cfg(any(
15649        any(
15650            cpp_lib_version = "5.11.3",
15651            cpp_lib_version = "5.12.2",
15652            cpp_lib_version = "5.13.0",
15653            cpp_lib_version = "5.14.0"
15654        ),
15655        feature = "ritual_rustdoc"
15656    ))]
15657    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
15658        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_staticMetaObject() };
15659        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
15660            .expect("attempted to construct a null Ref")
15661    }
15662
15663    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QSkeleton::tr(const char* s, const char* c, int n)```</span>.
15664    #[inline(always)]
15665    #[cfg_attr(
15666        feature = "ritual_rustdoc_nightly",
15667        doc(cfg(any(
15668            cpp_lib_version = "5.11.3",
15669            cpp_lib_version = "5.12.2",
15670            cpp_lib_version = "5.13.0",
15671            cpp_lib_version = "5.14.0"
15672        )))
15673    )]
15674    #[cfg(any(
15675        any(
15676            cpp_lib_version = "5.11.3",
15677            cpp_lib_version = "5.12.2",
15678            cpp_lib_version = "5.13.0",
15679            cpp_lib_version = "5.14.0"
15680        ),
15681        feature = "ritual_rustdoc"
15682    ))]
15683    pub unsafe fn tr(
15684        s: *const ::std::os::raw::c_char,
15685        c: *const ::std::os::raw::c_char,
15686        n: ::std::os::raw::c_int,
15687    ) -> ::cpp_core::CppBox<::qt_core::QString> {
15688        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_tr(s, c, n) };
15689        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
15690    }
15691
15692    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QSkeleton::trUtf8(const char* s, const char* c, int n)```</span>.
15693    #[inline(always)]
15694    #[cfg_attr(
15695        feature = "ritual_rustdoc_nightly",
15696        doc(cfg(any(
15697            cpp_lib_version = "5.11.3",
15698            cpp_lib_version = "5.12.2",
15699            cpp_lib_version = "5.13.0",
15700            cpp_lib_version = "5.14.0"
15701        )))
15702    )]
15703    #[cfg(any(
15704        any(
15705            cpp_lib_version = "5.11.3",
15706            cpp_lib_version = "5.12.2",
15707            cpp_lib_version = "5.13.0",
15708            cpp_lib_version = "5.14.0"
15709        ),
15710        feature = "ritual_rustdoc"
15711    ))]
15712    pub unsafe fn tr_utf8(
15713        s: *const ::std::os::raw::c_char,
15714        c: *const ::std::os::raw::c_char,
15715        n: ::std::os::raw::c_int,
15716    ) -> ::cpp_core::CppBox<::qt_core::QString> {
15717        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_trUtf8(s, c, n) };
15718        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
15719    }
15720}
15721
15722pub mod q_skeleton_loader {
15723    //! C++ type: <span style='color: green;'>```Qt3DCore::QSkeletonLoader```</span>
15724
15725    /// C++ enum: <span style='color: green;'>```Qt3DCore::QSkeletonLoader::Status```</span>.
15726    #[derive(Debug, Clone, Copy, PartialEq, Eq)]
15727    #[repr(transparent)]
15728    pub struct Status(::std::os::raw::c_int);
15729
15730    impl From<::std::os::raw::c_int> for Status {
15731        fn from(value: ::std::os::raw::c_int) -> Self {
15732            Status(value)
15733        }
15734    }
15735
15736    impl From<Status> for ::std::os::raw::c_int {
15737        fn from(value: Status) -> Self {
15738            value.0
15739        }
15740    }
15741
15742    impl Status {
15743        pub fn to_int(&self) -> ::std::os::raw::c_int {
15744            self.0
15745        }
15746    }
15747
15748    impl Status {
15749        /// C++ enum variant: <span style='color: green;'>```NotReady = 0```</span>
15750        #[allow(non_upper_case_globals)]
15751        pub const NotReady: crate::q_skeleton_loader::Status = crate::q_skeleton_loader::Status(0);
15752        /// C++ enum variant: <span style='color: green;'>```Ready = 1```</span>
15753        #[allow(non_upper_case_globals)]
15754        pub const Ready: crate::q_skeleton_loader::Status = crate::q_skeleton_loader::Status(1);
15755        /// C++ enum variant: <span style='color: green;'>```Error = 2```</span>
15756        #[allow(non_upper_case_globals)]
15757        pub const Error: crate::q_skeleton_loader::Status = crate::q_skeleton_loader::Status(2);
15758    }
15759}
15760/// <p>Used to load a skeleton of joints from file.</p>
15761///
15762/// C++ class: <span style='color: green;'>```Qt3DCore::QSkeletonLoader```</span>.
15763///
15764/// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to load a skeleton of joints from file.</p>
15765/// <p>Use <a href="http://doc.qt.io/qt-5/qml-qt3d-core-skeletonloader.html">SkeletonLoader</a> if you wish to load a whole skeleton from file rather than creating the joints yourself using Skeleton and Joints. Creating a skeleton and binding the vertices of a mesh to the skeleton is most easily performed in a 3D digital content creation tool such as Blender. The resulting skeleton and mesh can then be exported in a suitable format such as glTF 2 for consumption by Qt 3D.</p></div>
15766#[repr(C)]
15767pub struct QSkeletonLoader {
15768    _unused: u8,
15769}
15770impl QSkeletonLoader {
15771    /// <p>Holds the source url from which to load the skeleton.</p>
15772    ///
15773    /// Returns a built-in Qt slot `Qt3DCore::QSkeletonLoader::setSource` that can be passed to `qt_core::Signal::connect`.
15774    ///
15775    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#source-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the source url from which to load the skeleton.</p>
15776    /// <p><b>Access functions:</b></p>
15777    /// <div class="table"><table class="alignedsummary">
15778    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QUrl </td><td class="memItemRight bottomAlign"><span class="name"><b>source</b></span>() const</td></tr>
15779    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSource</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
15780    /// </tbody></table></div>
15781    /// <p><b>Notifier signal:</b></p>
15782    /// <div class="table"><table class="alignedsummary">
15783    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>sourceChanged</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
15784    /// </tbody></table></div></div>
15785    #[inline(always)]
15786    #[cfg_attr(
15787        feature = "ritual_rustdoc_nightly",
15788        doc(cfg(any(
15789            cpp_lib_version = "5.11.3",
15790            cpp_lib_version = "5.12.2",
15791            cpp_lib_version = "5.13.0",
15792            cpp_lib_version = "5.14.0"
15793        )))
15794    )]
15795    #[cfg(any(
15796        any(
15797            cpp_lib_version = "5.11.3",
15798            cpp_lib_version = "5.12.2",
15799            cpp_lib_version = "5.13.0",
15800            cpp_lib_version = "5.14.0"
15801        ),
15802        feature = "ritual_rustdoc"
15803    ))]
15804    pub fn slot_set_source(&self) -> ::qt_core::Receiver<(*const ::qt_core::QUrl,)> {
15805        unsafe {
15806            ::qt_core::Receiver::new(
15807                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
15808                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setSource(QUrl const &)\0"),
15809            )
15810        }
15811    }
15812
15813    /// <p><b>Access functions:</b></p>
15814    ///
15815    /// Returns a built-in Qt slot `Qt3DCore::QSkeletonLoader::setCreateJointsEnabled` that can be passed to `qt_core::Signal::connect`.
15816    ///
15817    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#createJointsEnabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
15818    /// <div class="table"><table class="alignedsummary">
15819    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isCreateJointsEnabled</b></span>() const</td></tr>
15820    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setCreateJointsEnabled</b></span>(bool <i>enabled</i>)</td></tr>
15821    /// </tbody></table></div>
15822    /// <p><b>Notifier signal:</b></p>
15823    /// <div class="table"><table class="alignedsummary">
15824    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>createJointsEnabledChanged</b></span>(bool <i>createJointsEnabled</i>)</td></tr>
15825    /// </tbody></table></div></div>
15826    #[inline(always)]
15827    #[cfg_attr(
15828        feature = "ritual_rustdoc_nightly",
15829        doc(cfg(any(
15830            cpp_lib_version = "5.11.3",
15831            cpp_lib_version = "5.12.2",
15832            cpp_lib_version = "5.13.0",
15833            cpp_lib_version = "5.14.0"
15834        )))
15835    )]
15836    #[cfg(any(
15837        any(
15838            cpp_lib_version = "5.11.3",
15839            cpp_lib_version = "5.12.2",
15840            cpp_lib_version = "5.13.0",
15841            cpp_lib_version = "5.14.0"
15842        ),
15843        feature = "ritual_rustdoc"
15844    ))]
15845    pub fn slot_set_create_joints_enabled(&self) -> ::qt_core::Receiver<(bool,)> {
15846        unsafe {
15847            ::qt_core::Receiver::new(
15848                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
15849                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1setCreateJointsEnabled(bool)\0"),
15850            )
15851        }
15852    }
15853
15854    /// <p>Holds the source url from which to load the skeleton.</p>
15855    ///
15856    /// Returns a built-in Qt signal `Qt3DCore::QSkeletonLoader::sourceChanged` that can be passed to `qt_core::Signal::connect`.
15857    ///
15858    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#source-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the source url from which to load the skeleton.</p>
15859    /// <p><b>Access functions:</b></p>
15860    /// <div class="table"><table class="alignedsummary">
15861    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QUrl </td><td class="memItemRight bottomAlign"><span class="name"><b>source</b></span>() const</td></tr>
15862    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSource</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
15863    /// </tbody></table></div>
15864    /// <p><b>Notifier signal:</b></p>
15865    /// <div class="table"><table class="alignedsummary">
15866    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>sourceChanged</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
15867    /// </tbody></table></div></div>
15868    #[inline(always)]
15869    #[cfg_attr(
15870        feature = "ritual_rustdoc_nightly",
15871        doc(cfg(any(
15872            cpp_lib_version = "5.11.3",
15873            cpp_lib_version = "5.12.2",
15874            cpp_lib_version = "5.13.0",
15875            cpp_lib_version = "5.14.0"
15876        )))
15877    )]
15878    #[cfg(any(
15879        any(
15880            cpp_lib_version = "5.11.3",
15881            cpp_lib_version = "5.12.2",
15882            cpp_lib_version = "5.13.0",
15883            cpp_lib_version = "5.14.0"
15884        ),
15885        feature = "ritual_rustdoc"
15886    ))]
15887    pub fn source_changed(&self) -> ::qt_core::Signal<(*const ::qt_core::QUrl,)> {
15888        unsafe {
15889            ::qt_core::Signal::new(
15890                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
15891                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2sourceChanged(QUrl const &)\0"),
15892            )
15893        }
15894    }
15895
15896    /// <p>Holds the current status of skeleton loading.</p>
15897    ///
15898    /// Returns a built-in Qt signal `Qt3DCore::QSkeletonLoader::statusChanged` that can be passed to `qt_core::Signal::connect`.
15899    ///
15900    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#status-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the current status of skeleton loading.</p>
15901    /// <p><b>Access functions:</b></p>
15902    /// <div class="table"><table class="alignedsummary">
15903    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QSkeletonLoader::Status </td><td class="memItemRight bottomAlign"><span class="name"><b>status</b></span>() const</td></tr>
15904    /// </tbody></table></div>
15905    /// <p><b>Notifier signal:</b></p>
15906    /// <div class="table"><table class="alignedsummary">
15907    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>statusChanged</b></span>(Qt3DCore::QSkeletonLoader::Status <i>status</i>)</td></tr>
15908    /// </tbody></table></div></div>
15909    #[inline(always)]
15910    #[cfg_attr(
15911        feature = "ritual_rustdoc_nightly",
15912        doc(cfg(any(
15913            cpp_lib_version = "5.11.3",
15914            cpp_lib_version = "5.12.2",
15915            cpp_lib_version = "5.13.0",
15916            cpp_lib_version = "5.14.0"
15917        )))
15918    )]
15919    #[cfg(any(
15920        any(
15921            cpp_lib_version = "5.11.3",
15922            cpp_lib_version = "5.12.2",
15923            cpp_lib_version = "5.13.0",
15924            cpp_lib_version = "5.14.0"
15925        ),
15926        feature = "ritual_rustdoc"
15927    ))]
15928    pub fn status_changed(&self) -> ::qt_core::Signal<(crate::q_skeleton_loader::Status,)> {
15929        unsafe {
15930            ::qt_core::Signal::new(
15931                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
15932                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
15933                    b"2statusChanged(Qt3DCore::QSkeletonLoader::Status)\0",
15934                ),
15935            )
15936        }
15937    }
15938
15939    /// <p><b>Access functions:</b></p>
15940    ///
15941    /// Returns a built-in Qt signal `Qt3DCore::QSkeletonLoader::createJointsEnabledChanged` that can be passed to `qt_core::Signal::connect`.
15942    ///
15943    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#createJointsEnabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
15944    /// <div class="table"><table class="alignedsummary">
15945    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isCreateJointsEnabled</b></span>() const</td></tr>
15946    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setCreateJointsEnabled</b></span>(bool <i>enabled</i>)</td></tr>
15947    /// </tbody></table></div>
15948    /// <p><b>Notifier signal:</b></p>
15949    /// <div class="table"><table class="alignedsummary">
15950    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>createJointsEnabledChanged</b></span>(bool <i>createJointsEnabled</i>)</td></tr>
15951    /// </tbody></table></div></div>
15952    #[inline(always)]
15953    #[cfg_attr(
15954        feature = "ritual_rustdoc_nightly",
15955        doc(cfg(any(
15956            cpp_lib_version = "5.11.3",
15957            cpp_lib_version = "5.12.2",
15958            cpp_lib_version = "5.13.0",
15959            cpp_lib_version = "5.14.0"
15960        )))
15961    )]
15962    #[cfg(any(
15963        any(
15964            cpp_lib_version = "5.11.3",
15965            cpp_lib_version = "5.12.2",
15966            cpp_lib_version = "5.13.0",
15967            cpp_lib_version = "5.14.0"
15968        ),
15969        feature = "ritual_rustdoc"
15970    ))]
15971    pub fn create_joints_enabled_changed(&self) -> ::qt_core::Signal<(bool,)> {
15972        unsafe {
15973            ::qt_core::Signal::new(
15974                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
15975                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
15976                    b"2createJointsEnabledChanged(bool)\0",
15977                ),
15978            )
15979        }
15980    }
15981
15982    /// <p><b>Access functions:</b></p>
15983    ///
15984    /// Returns a built-in Qt signal `Qt3DCore::QSkeletonLoader::rootJointChanged` that can be passed to `qt_core::Signal::connect`.
15985    ///
15986    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#rootJoint-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
15987    /// <div class="table"><table class="alignedsummary">
15988    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QJoint *</td><td class="memItemRight bottomAlign"><span class="name"><b>rootJoint</b></span>() const</td></tr>
15989    /// </tbody></table></div>
15990    /// <p><b>Notifier signal:</b></p>
15991    /// <div class="table"><table class="alignedsummary">
15992    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rootJointChanged</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
15993    /// </tbody></table></div></div>
15994    #[inline(always)]
15995    #[cfg_attr(
15996        feature = "ritual_rustdoc_nightly",
15997        doc(cfg(any(
15998            cpp_lib_version = "5.11.3",
15999            cpp_lib_version = "5.12.2",
16000            cpp_lib_version = "5.13.0",
16001            cpp_lib_version = "5.14.0"
16002        )))
16003    )]
16004    #[cfg(any(
16005        any(
16006            cpp_lib_version = "5.11.3",
16007            cpp_lib_version = "5.12.2",
16008            cpp_lib_version = "5.13.0",
16009            cpp_lib_version = "5.14.0"
16010        ),
16011        feature = "ritual_rustdoc"
16012    ))]
16013    pub fn root_joint_changed(&self) -> ::qt_core::Signal<(*mut crate::QJoint,)> {
16014        unsafe {
16015            ::qt_core::Signal::new(
16016                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
16017                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
16018                    b"2rootJointChanged(Qt3DCore::QJoint *)\0",
16019                ),
16020            )
16021        }
16022    }
16023
16024    /// <p><b>Access functions:</b></p>
16025    ///
16026    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QSkeletonLoader::isCreateJointsEnabled() const```</span>.
16027    ///
16028    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#createJointsEnabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
16029    /// <div class="table"><table class="alignedsummary">
16030    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isCreateJointsEnabled</b></span>() const</td></tr>
16031    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setCreateJointsEnabled</b></span>(bool <i>enabled</i>)</td></tr>
16032    /// </tbody></table></div>
16033    /// <p><b>Notifier signal:</b></p>
16034    /// <div class="table"><table class="alignedsummary">
16035    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>createJointsEnabledChanged</b></span>(bool <i>createJointsEnabled</i>)</td></tr>
16036    /// </tbody></table></div></div>
16037    #[inline(always)]
16038    #[cfg_attr(
16039        feature = "ritual_rustdoc_nightly",
16040        doc(cfg(any(
16041            cpp_lib_version = "5.11.3",
16042            cpp_lib_version = "5.12.2",
16043            cpp_lib_version = "5.13.0",
16044            cpp_lib_version = "5.14.0"
16045        )))
16046    )]
16047    #[cfg(any(
16048        any(
16049            cpp_lib_version = "5.11.3",
16050            cpp_lib_version = "5.12.2",
16051            cpp_lib_version = "5.13.0",
16052            cpp_lib_version = "5.14.0"
16053        ),
16054        feature = "ritual_rustdoc"
16055    ))]
16056    pub unsafe fn is_create_joints_enabled(&self) -> bool {
16057        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_isCreateJointsEnabled(
16058            self as *const crate::QSkeletonLoader,
16059        )
16060    }
16061
16062    /// Calls C++ function: <span style='color: green;'>```virtual const QMetaObject* Qt3DCore::QSkeletonLoader::metaObject() const```</span>.
16063    #[inline(always)]
16064    #[cfg_attr(
16065        feature = "ritual_rustdoc_nightly",
16066        doc(cfg(any(
16067            cpp_lib_version = "5.11.3",
16068            cpp_lib_version = "5.12.2",
16069            cpp_lib_version = "5.13.0",
16070            cpp_lib_version = "5.14.0"
16071        )))
16072    )]
16073    #[cfg(any(
16074        any(
16075            cpp_lib_version = "5.11.3",
16076            cpp_lib_version = "5.12.2",
16077            cpp_lib_version = "5.13.0",
16078            cpp_lib_version = "5.14.0"
16079        ),
16080        feature = "ritual_rustdoc"
16081    ))]
16082    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
16083        let ffi_result = {
16084            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_metaObject(
16085                self as *const crate::QSkeletonLoader,
16086            )
16087        };
16088        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
16089    }
16090
16091    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a> with <i>parent</i>.</p>
16092    ///
16093    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QSkeletonLoader::QSkeletonLoader(Qt3DCore::QNode* parent = …)```</span>.
16094    ///
16095    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#QSkeletonLoader">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a> with <i>parent</i>.</p></div>
16096    #[inline(always)]
16097    #[cfg_attr(
16098        feature = "ritual_rustdoc_nightly",
16099        doc(cfg(any(
16100            cpp_lib_version = "5.11.3",
16101            cpp_lib_version = "5.12.2",
16102            cpp_lib_version = "5.13.0",
16103            cpp_lib_version = "5.14.0"
16104        )))
16105    )]
16106    #[cfg(any(
16107        any(
16108            cpp_lib_version = "5.11.3",
16109            cpp_lib_version = "5.12.2",
16110            cpp_lib_version = "5.13.0",
16111            cpp_lib_version = "5.14.0"
16112        ),
16113        feature = "ritual_rustdoc"
16114    ))]
16115    pub unsafe fn from_q_node(
16116        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
16117    ) -> ::qt_core::QBox<crate::QSkeletonLoader> {
16118        let ffi_result = {
16119            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_QSkeletonLoader(
16120                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
16121                    .as_raw_ptr() as *mut crate::QNode,
16122            )
16123        };
16124        ::qt_core::QBox::from_raw(ffi_result)
16125    }
16126
16127    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a> with <i>parent</i> and sets the <i>source</i>.</p>
16128    ///
16129    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QSkeletonLoader::QSkeletonLoader(const QUrl& source, Qt3DCore::QNode* parent = …)```</span>.
16130    ///
16131    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#QSkeletonLoader-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a> with <i>parent</i> and sets the <i>source</i>.</p></div>
16132    #[inline(always)]
16133    #[cfg_attr(
16134        feature = "ritual_rustdoc_nightly",
16135        doc(cfg(any(
16136            cpp_lib_version = "5.11.3",
16137            cpp_lib_version = "5.12.2",
16138            cpp_lib_version = "5.13.0",
16139            cpp_lib_version = "5.14.0"
16140        )))
16141    )]
16142    #[cfg(any(
16143        any(
16144            cpp_lib_version = "5.11.3",
16145            cpp_lib_version = "5.12.2",
16146            cpp_lib_version = "5.13.0",
16147            cpp_lib_version = "5.14.0"
16148        ),
16149        feature = "ritual_rustdoc"
16150    ))]
16151    pub unsafe fn from_q_url_q_node(
16152        source: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QUrl>>,
16153        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
16154    ) -> ::qt_core::QBox<crate::QSkeletonLoader> {
16155        let ffi_result = {
16156            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_QSkeletonLoader1(
16157                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QUrl>>::cast_into(source)
16158                    .as_raw_ptr(),
16159                ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(parent)
16160                    .as_raw_ptr() as *mut crate::QNode,
16161            )
16162        };
16163        ::qt_core::QBox::from_raw(ffi_result)
16164    }
16165
16166    /// <p>Used to load a skeleton of joints from file.</p>
16167    ///
16168    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QSkeletonLoader::QSkeletonLoader()```</span>.
16169    ///
16170    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Used to load a skeleton of joints from file.</p>
16171    /// <p>Use <a href="http://doc.qt.io/qt-5/qml-qt3d-core-skeletonloader.html">SkeletonLoader</a> if you wish to load a whole skeleton from file rather than creating the joints yourself using Skeleton and Joints. Creating a skeleton and binding the vertices of a mesh to the skeleton is most easily performed in a 3D digital content creation tool such as Blender. The resulting skeleton and mesh can then be exported in a suitable format such as glTF 2 for consumption by Qt 3D.</p></div>
16172    #[inline(always)]
16173    #[cfg_attr(
16174        feature = "ritual_rustdoc_nightly",
16175        doc(cfg(any(
16176            cpp_lib_version = "5.11.3",
16177            cpp_lib_version = "5.12.2",
16178            cpp_lib_version = "5.13.0",
16179            cpp_lib_version = "5.14.0"
16180        )))
16181    )]
16182    #[cfg(any(
16183        any(
16184            cpp_lib_version = "5.11.3",
16185            cpp_lib_version = "5.12.2",
16186            cpp_lib_version = "5.13.0",
16187            cpp_lib_version = "5.14.0"
16188        ),
16189        feature = "ritual_rustdoc"
16190    ))]
16191    pub unsafe fn new() -> ::qt_core::QBox<crate::QSkeletonLoader> {
16192        let ffi_result =
16193            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_QSkeletonLoader2() };
16194        ::qt_core::QBox::from_raw(ffi_result)
16195    }
16196
16197    /// <p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a> with <i>parent</i> and sets the <i>source</i>.</p>
16198    ///
16199    /// Calls C++ function: <span style='color: green;'>```[constructor] void Qt3DCore::QSkeletonLoader::QSkeletonLoader(const QUrl& source)```</span>.
16200    ///
16201    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#QSkeletonLoader-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a new <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html">QSkeletonLoader</a> with <i>parent</i> and sets the <i>source</i>.</p></div>
16202    #[inline(always)]
16203    #[cfg_attr(
16204        feature = "ritual_rustdoc_nightly",
16205        doc(cfg(any(
16206            cpp_lib_version = "5.11.3",
16207            cpp_lib_version = "5.12.2",
16208            cpp_lib_version = "5.13.0",
16209            cpp_lib_version = "5.14.0"
16210        )))
16211    )]
16212    #[cfg(any(
16213        any(
16214            cpp_lib_version = "5.11.3",
16215            cpp_lib_version = "5.12.2",
16216            cpp_lib_version = "5.13.0",
16217            cpp_lib_version = "5.14.0"
16218        ),
16219        feature = "ritual_rustdoc"
16220    ))]
16221    pub unsafe fn from_q_url(
16222        source: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QUrl>>,
16223    ) -> ::qt_core::QBox<crate::QSkeletonLoader> {
16224        let ffi_result = {
16225            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_QSkeletonLoader4(
16226                ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QUrl>>::cast_into(source)
16227                    .as_raw_ptr(),
16228            )
16229        };
16230        ::qt_core::QBox::from_raw(ffi_result)
16231    }
16232
16233    /// Calls C++ function: <span style='color: green;'>```virtual int Qt3DCore::QSkeletonLoader::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)```</span>.
16234    #[inline(always)]
16235    #[cfg_attr(
16236        feature = "ritual_rustdoc_nightly",
16237        doc(cfg(any(
16238            cpp_lib_version = "5.11.3",
16239            cpp_lib_version = "5.12.2",
16240            cpp_lib_version = "5.13.0",
16241            cpp_lib_version = "5.14.0"
16242        )))
16243    )]
16244    #[cfg(any(
16245        any(
16246            cpp_lib_version = "5.11.3",
16247            cpp_lib_version = "5.12.2",
16248            cpp_lib_version = "5.13.0",
16249            cpp_lib_version = "5.14.0"
16250        ),
16251        feature = "ritual_rustdoc"
16252    ))]
16253    pub unsafe fn qt_metacall(
16254        &self,
16255        arg1: ::qt_core::q_meta_object::Call,
16256        arg2: ::std::os::raw::c_int,
16257        arg3: *mut *mut ::std::ffi::c_void,
16258    ) -> ::std::os::raw::c_int {
16259        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_qt_metacall(
16260            self as *const crate::QSkeletonLoader as *mut crate::QSkeletonLoader,
16261            arg1,
16262            arg2,
16263            arg3,
16264        )
16265    }
16266
16267    /// Calls C++ function: <span style='color: green;'>```virtual void* Qt3DCore::QSkeletonLoader::qt_metacast(const char* arg1)```</span>.
16268    #[inline(always)]
16269    #[cfg_attr(
16270        feature = "ritual_rustdoc_nightly",
16271        doc(cfg(any(
16272            cpp_lib_version = "5.11.3",
16273            cpp_lib_version = "5.12.2",
16274            cpp_lib_version = "5.13.0",
16275            cpp_lib_version = "5.14.0"
16276        )))
16277    )]
16278    #[cfg(any(
16279        any(
16280            cpp_lib_version = "5.11.3",
16281            cpp_lib_version = "5.12.2",
16282            cpp_lib_version = "5.13.0",
16283            cpp_lib_version = "5.14.0"
16284        ),
16285        feature = "ritual_rustdoc"
16286    ))]
16287    pub unsafe fn qt_metacast(
16288        &self,
16289        arg1: *const ::std::os::raw::c_char,
16290    ) -> *mut ::std::ffi::c_void {
16291        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_qt_metacast(
16292            self as *const crate::QSkeletonLoader as *mut crate::QSkeletonLoader,
16293            arg1,
16294        )
16295    }
16296
16297    /// <p><b>Access functions:</b></p>
16298    ///
16299    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* Qt3DCore::QSkeletonLoader::rootJoint() const```</span>.
16300    ///
16301    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#rootJoint-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
16302    /// <div class="table"><table class="alignedsummary">
16303    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QJoint *</td><td class="memItemRight bottomAlign"><span class="name"><b>rootJoint</b></span>() const</td></tr>
16304    /// </tbody></table></div>
16305    /// <p><b>Notifier signal:</b></p>
16306    /// <div class="table"><table class="alignedsummary">
16307    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>rootJointChanged</b></span>(Qt3DCore::QJoint *<i>rootJoint</i>)</td></tr>
16308    /// </tbody></table></div></div>
16309    #[inline(always)]
16310    #[cfg_attr(
16311        feature = "ritual_rustdoc_nightly",
16312        doc(cfg(any(
16313            cpp_lib_version = "5.11.3",
16314            cpp_lib_version = "5.12.2",
16315            cpp_lib_version = "5.13.0",
16316            cpp_lib_version = "5.14.0"
16317        )))
16318    )]
16319    #[cfg(any(
16320        any(
16321            cpp_lib_version = "5.11.3",
16322            cpp_lib_version = "5.12.2",
16323            cpp_lib_version = "5.13.0",
16324            cpp_lib_version = "5.14.0"
16325        ),
16326        feature = "ritual_rustdoc"
16327    ))]
16328    pub unsafe fn root_joint(&self) -> ::qt_core::QPtr<crate::QJoint> {
16329        let ffi_result = {
16330            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_rootJoint(
16331                self as *const crate::QSkeletonLoader,
16332            )
16333        };
16334        ::qt_core::QPtr::from_raw(ffi_result)
16335    }
16336
16337    /// <p><b>Access functions:</b></p>
16338    ///
16339    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QSkeletonLoader::setCreateJointsEnabled(bool enabled)```</span>.
16340    ///
16341    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#createJointsEnabled-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p><b>Access functions:</b></p>
16342    /// <div class="table"><table class="alignedsummary">
16343    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> bool </td><td class="memItemRight bottomAlign"><span class="name"><b>isCreateJointsEnabled</b></span>() const</td></tr>
16344    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setCreateJointsEnabled</b></span>(bool <i>enabled</i>)</td></tr>
16345    /// </tbody></table></div>
16346    /// <p><b>Notifier signal:</b></p>
16347    /// <div class="table"><table class="alignedsummary">
16348    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>createJointsEnabledChanged</b></span>(bool <i>createJointsEnabled</i>)</td></tr>
16349    /// </tbody></table></div></div>
16350    #[inline(always)]
16351    #[cfg_attr(
16352        feature = "ritual_rustdoc_nightly",
16353        doc(cfg(any(
16354            cpp_lib_version = "5.11.3",
16355            cpp_lib_version = "5.12.2",
16356            cpp_lib_version = "5.13.0",
16357            cpp_lib_version = "5.14.0"
16358        )))
16359    )]
16360    #[cfg(any(
16361        any(
16362            cpp_lib_version = "5.11.3",
16363            cpp_lib_version = "5.12.2",
16364            cpp_lib_version = "5.13.0",
16365            cpp_lib_version = "5.14.0"
16366        ),
16367        feature = "ritual_rustdoc"
16368    ))]
16369    pub unsafe fn set_create_joints_enabled(&self, enabled: bool) {
16370        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_setCreateJointsEnabled(
16371            self as *const crate::QSkeletonLoader as *mut crate::QSkeletonLoader,
16372            enabled,
16373        )
16374    }
16375
16376    /// <p>Holds the source url from which to load the skeleton.</p>
16377    ///
16378    /// Calls C++ function: <span style='color: green;'>```[slot] void Qt3DCore::QSkeletonLoader::setSource(const QUrl& source)```</span>.
16379    ///
16380    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#source-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the source url from which to load the skeleton.</p>
16381    /// <p><b>Access functions:</b></p>
16382    /// <div class="table"><table class="alignedsummary">
16383    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QUrl </td><td class="memItemRight bottomAlign"><span class="name"><b>source</b></span>() const</td></tr>
16384    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSource</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
16385    /// </tbody></table></div>
16386    /// <p><b>Notifier signal:</b></p>
16387    /// <div class="table"><table class="alignedsummary">
16388    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>sourceChanged</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
16389    /// </tbody></table></div></div>
16390    #[inline(always)]
16391    #[cfg_attr(
16392        feature = "ritual_rustdoc_nightly",
16393        doc(cfg(any(
16394            cpp_lib_version = "5.11.3",
16395            cpp_lib_version = "5.12.2",
16396            cpp_lib_version = "5.13.0",
16397            cpp_lib_version = "5.14.0"
16398        )))
16399    )]
16400    #[cfg(any(
16401        any(
16402            cpp_lib_version = "5.11.3",
16403            cpp_lib_version = "5.12.2",
16404            cpp_lib_version = "5.13.0",
16405            cpp_lib_version = "5.14.0"
16406        ),
16407        feature = "ritual_rustdoc"
16408    ))]
16409    pub unsafe fn set_source(
16410        &self,
16411        source: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QUrl>>,
16412    ) {
16413        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_setSource(
16414            self as *const crate::QSkeletonLoader as *mut crate::QSkeletonLoader,
16415            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QUrl>>::cast_into(source)
16416                .as_raw_ptr(),
16417        )
16418    }
16419
16420    /// <p>Holds the source url from which to load the skeleton.</p>
16421    ///
16422    /// Calls C++ function: <span style='color: green;'>```QUrl Qt3DCore::QSkeletonLoader::source() const```</span>.
16423    ///
16424    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#source-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the source url from which to load the skeleton.</p>
16425    /// <p><b>Access functions:</b></p>
16426    /// <div class="table"><table class="alignedsummary">
16427    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> QUrl </td><td class="memItemRight bottomAlign"><span class="name"><b>source</b></span>() const</td></tr>
16428    /// <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setSource</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
16429    /// </tbody></table></div>
16430    /// <p><b>Notifier signal:</b></p>
16431    /// <div class="table"><table class="alignedsummary">
16432    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>sourceChanged</b></span>(const QUrl &amp;<i>source</i>)</td></tr>
16433    /// </tbody></table></div></div>
16434    #[inline(always)]
16435    #[cfg_attr(
16436        feature = "ritual_rustdoc_nightly",
16437        doc(cfg(any(
16438            cpp_lib_version = "5.11.3",
16439            cpp_lib_version = "5.12.2",
16440            cpp_lib_version = "5.13.0",
16441            cpp_lib_version = "5.14.0"
16442        )))
16443    )]
16444    #[cfg(any(
16445        any(
16446            cpp_lib_version = "5.11.3",
16447            cpp_lib_version = "5.12.2",
16448            cpp_lib_version = "5.13.0",
16449            cpp_lib_version = "5.14.0"
16450        ),
16451        feature = "ritual_rustdoc"
16452    ))]
16453    pub unsafe fn source(&self) -> ::cpp_core::CppBox<::qt_core::QUrl> {
16454        let ffi_result = {
16455            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_source(
16456                self as *const crate::QSkeletonLoader,
16457            )
16458        };
16459        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
16460    }
16461
16462    /// Returns a reference to the <span style='color: green;'>```staticMetaObject```</span> field.
16463    #[inline(always)]
16464    #[cfg_attr(
16465        feature = "ritual_rustdoc_nightly",
16466        doc(cfg(any(
16467            cpp_lib_version = "5.11.3",
16468            cpp_lib_version = "5.12.2",
16469            cpp_lib_version = "5.13.0",
16470            cpp_lib_version = "5.14.0"
16471        )))
16472    )]
16473    #[cfg(any(
16474        any(
16475            cpp_lib_version = "5.11.3",
16476            cpp_lib_version = "5.12.2",
16477            cpp_lib_version = "5.13.0",
16478            cpp_lib_version = "5.14.0"
16479        ),
16480        feature = "ritual_rustdoc"
16481    ))]
16482    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
16483        let ffi_result =
16484            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_staticMetaObject() };
16485        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
16486            .expect("attempted to construct a null Ref")
16487    }
16488
16489    /// <p>Holds the current status of skeleton loading.</p>
16490    ///
16491    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeletonLoader::Status Qt3DCore::QSkeletonLoader::status() const```</span>.
16492    ///
16493    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qskeletonloader.html#status-prop">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Holds the current status of skeleton loading.</p>
16494    /// <p><b>Access functions:</b></p>
16495    /// <div class="table"><table class="alignedsummary">
16496    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> Qt3DCore::QSkeletonLoader::Status </td><td class="memItemRight bottomAlign"><span class="name"><b>status</b></span>() const</td></tr>
16497    /// </tbody></table></div>
16498    /// <p><b>Notifier signal:</b></p>
16499    /// <div class="table"><table class="alignedsummary">
16500    /// <tbody><tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>statusChanged</b></span>(Qt3DCore::QSkeletonLoader::Status <i>status</i>)</td></tr>
16501    /// </tbody></table></div></div>
16502    #[inline(always)]
16503    #[cfg_attr(
16504        feature = "ritual_rustdoc_nightly",
16505        doc(cfg(any(
16506            cpp_lib_version = "5.11.3",
16507            cpp_lib_version = "5.12.2",
16508            cpp_lib_version = "5.13.0",
16509            cpp_lib_version = "5.14.0"
16510        )))
16511    )]
16512    #[cfg(any(
16513        any(
16514            cpp_lib_version = "5.11.3",
16515            cpp_lib_version = "5.12.2",
16516            cpp_lib_version = "5.13.0",
16517            cpp_lib_version = "5.14.0"
16518        ),
16519        feature = "ritual_rustdoc"
16520    ))]
16521    pub unsafe fn status(&self) -> crate::q_skeleton_loader::Status {
16522        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_status(
16523            self as *const crate::QSkeletonLoader,
16524        )
16525    }
16526
16527    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QSkeletonLoader::tr(const char* s, const char* c, int n)```</span>.
16528    #[inline(always)]
16529    #[cfg_attr(
16530        feature = "ritual_rustdoc_nightly",
16531        doc(cfg(any(
16532            cpp_lib_version = "5.11.3",
16533            cpp_lib_version = "5.12.2",
16534            cpp_lib_version = "5.13.0",
16535            cpp_lib_version = "5.14.0"
16536        )))
16537    )]
16538    #[cfg(any(
16539        any(
16540            cpp_lib_version = "5.11.3",
16541            cpp_lib_version = "5.12.2",
16542            cpp_lib_version = "5.13.0",
16543            cpp_lib_version = "5.14.0"
16544        ),
16545        feature = "ritual_rustdoc"
16546    ))]
16547    pub unsafe fn tr(
16548        s: *const ::std::os::raw::c_char,
16549        c: *const ::std::os::raw::c_char,
16550        n: ::std::os::raw::c_int,
16551    ) -> ::cpp_core::CppBox<::qt_core::QString> {
16552        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_tr(s, c, n) };
16553        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
16554    }
16555
16556    /// Calls C++ function: <span style='color: green;'>```static QString Qt3DCore::QSkeletonLoader::trUtf8(const char* s, const char* c, int n)```</span>.
16557    #[inline(always)]
16558    #[cfg_attr(
16559        feature = "ritual_rustdoc_nightly",
16560        doc(cfg(any(
16561            cpp_lib_version = "5.11.3",
16562            cpp_lib_version = "5.12.2",
16563            cpp_lib_version = "5.13.0",
16564            cpp_lib_version = "5.14.0"
16565        )))
16566    )]
16567    #[cfg(any(
16568        any(
16569            cpp_lib_version = "5.11.3",
16570            cpp_lib_version = "5.12.2",
16571            cpp_lib_version = "5.13.0",
16572            cpp_lib_version = "5.14.0"
16573        ),
16574        feature = "ritual_rustdoc"
16575    ))]
16576    pub unsafe fn tr_utf8(
16577        s: *const ::std::os::raw::c_char,
16578        c: *const ::std::os::raw::c_char,
16579        n: ::std::os::raw::c_int,
16580    ) -> ::cpp_core::CppBox<::qt_core::QString> {
16581        let ffi_result =
16582            { crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_trUtf8(s, c, n) };
16583        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
16584    }
16585}
16586
16587/// <p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
16588///
16589/// C++ class: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>```</span>.
16590///
16591/// <a href="http://doc.qt.io/qt-5/qvector.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> class is a template class that provides a dynamic array.</p>
16592/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; is one of Qt's generic <a href="http://doc.qt.io/qt-5/containers.html">container classes</a>. It stores its items in adjacent memory locations and provides fast index-based access.</p>
16593/// <p><a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>&lt;T&gt;, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt;, and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>&lt;T&gt; provide similar APIs and functionality. They are often interchangeable, but there are performance consequences. Here is an overview of use cases:</p>
16594/// <ul>
16595/// <li><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> should be your default first choice. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; will usually give better performance than <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt;, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>&lt;T&gt; always stores its items sequentially in memory, where <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>&lt;T&gt; will allocate its items on the heap unless <code>sizeof(T) &lt;= sizeof(void*)</code> and T has been declared to be either a <code>Q_MOVABLE_TYPE</code> or a <code>Q_PRIMITIVE_TYPE</code> using <a href="http://doc.qt.io/qt-5/qtglobal.html#Q_DECLARE_TYPEINFO">Q_DECLARE_TYPEINFO</a>. See the <a href="http://marcmutz.wordpress.com/effective-qt/containers/#containers-qlist">Pros and Cons of Using QList</a> for an explanation.</li>
16596/// <li>However, <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> is used throughout the Qt APIs for passing parameters and for returning values. Use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> to interface with those APIs.</li>
16597/// <li>If you need a real linked list, which guarantees <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a> insertions mid-list and uses iterators to items rather than indexes, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a>.</li>
16598/// </ul>
16599/// <p><b>Note: </b><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a> both guarantee C-compatible array layout. <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> does not. This might be important if your application must interface with a C API.</p><p><b>Note: </b>Iterators into a <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> and references into heap-allocating QLists remain valid as long as the referenced items remain in the container. This is not true for iterators and references into a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> and non-heap-allocating QLists.</p><p>Here's an example of a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores integers and a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> that stores <a href="http://doc.qt.io/qt-5/qstring.html">QString</a> values:</p>
16600/// <pre class="cpp">
16601///
16602///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> integerVector;
16603///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> stringVector;
16604///
16605/// </pre>
16606/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> stores its items in a vector (array). Typically, vectors are created with an initial size. For example, the following code constructs a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> with 200 elements:</p>
16607/// <pre class="cpp">
16608///
16609///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span>);
16610///
16611/// </pre>
16612/// <p>The elements are automatically initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you want to initialize the vector with a different value, pass that value as the second argument to the constructor:</p>
16613/// <pre class="cpp">
16614///
16615///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">200</span><span class="operator">,</span> <span class="string">"Pass"</span>);
16616///
16617/// </pre>
16618/// <p>You can also call <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>() at any time to fill the vector with a value.</p>
16619/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> uses 0-based indexes, just like C++ arrays. To access the item at a particular index position, you can use operator[](). On non-const vectors, operator[]() returns a reference to the item that can be used on the left side of an assignment:</p>
16620/// <pre class="cpp">
16621///
16622///   <span class="keyword">if</span> (vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span><span class="operator">=</span> <span class="string">"Liz"</span>)
16623/// &#32;     vector<span class="operator">[</span><span class="number">0</span><span class="operator">]</span> <span class="operator">=</span> <span class="string">"Elizabeth"</span>;
16624///
16625/// </pre>
16626/// <p>For read-only access, an alternative syntax is to use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>():</p>
16627/// <pre class="cpp">
16628///
16629///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> vector<span class="operator">.</span>size(); <span class="operator">+</span><span class="operator">+</span>i) {
16630/// &#32;     <span class="keyword">if</span> (vector<span class="operator">.</span>at(i) <span class="operator">=</span><span class="operator">=</span> <span class="string">"Alfonso"</span>)
16631/// &#32;   &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"Found Alfonso at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
16632///   }
16633///
16634/// </pre>
16635/// <p><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() can be faster than operator[](), because it never causes a <a href="http://doc.qt.io/qt-5/implicit-sharing.html#deep-copy">deep copy</a> to occur.</p>
16636/// <p>Another way to access the data stored in a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is to call <a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>(). The function returns a pointer to the first item in the vector. You can use the pointer to directly access and modify the elements stored in the vector. The pointer is also useful if you need to pass a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to a function that accepts a plain C++ array.</p>
16637/// <p>If you want to find all occurrences of a particular value in a vector, use <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() or <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>(). The former searches forward starting from a given index position, the latter searches backward. Both return the index of the matching item if they found one; otherwise, they return -1. For example:</p>
16638/// <pre class="cpp">
16639///
16640///   <span class="type">int</span> i <span class="operator">=</span> vector<span class="operator">.</span>indexOf(<span class="string">"Harumi"</span>);
16641///   <span class="keyword">if</span> (i <span class="operator">!</span><span class="operator">=</span> <span class="operator">-</span><span class="number">1</span>)
16642/// &#32;     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"First occurrence of Harumi is at position "</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> i <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;
16643///
16644/// </pre>
16645/// <p>If you simply want to check whether a vector contains a particular value, use <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>(). If you want to find out how many times a particular value occurs in the vector, use <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
16646/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides these basic functions to add, move, and remove items: <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(). With the exception of <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), these functions can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>) for large vectors, because they require moving many items in the vector by one position in memory. If you want a container class that provides fast insertion/removal in the middle, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
16647/// <p>Unlike plain C++ arrays, QVectors can be resized at any time by calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). If the new size is larger than the old size, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> might need to reallocate the whole vector. <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> tries to reduce the number of reallocations by preallocating up to twice as much memory as the actual data needs.</p>
16648/// <p>If you know in advance approximately how many items the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will contain, you can call <a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>(), asking <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to preallocate a certain amount of memory. You can also call <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>() to find out how much memory <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> actually allocated.</p>
16649/// <p>Note that using non-const operators and functions can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy of the data. This is due to <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicit sharing</a>.</p>
16650/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s value type must be an <a href="http://doc.qt.io/qt-5/containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> as a value; instead, store a <a href="http://doc.qt.io/qt-5/qwidget.html">QWidget</a> *. A few functions have additional requirements; for example, <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() expect the value type to support <code>operator==()</code>. These requirements are documented on a per-function basis.</p>
16651/// <p>Like the other container classes, <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> provides <a href="http://doc.qt.io/qt-5/containers.html#java-style-iterators">Java-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvectoriterator.html">QVectorIterator</a> and <a href="http://doc.qt.io/qt-5/qmutablevectoriterator.html">QMutableVectorIterator</a>) and <a href="http://doc.qt.io/qt-5/containers.html#stl-style-iterators">STL-style iterators</a> (<a href="http://doc.qt.io/qt-5/qvector.html#const_iterator-typedef">QVector::const_iterator</a> and <a href="http://doc.qt.io/qt-5/qvector.html#iterator-typedefx">QVector::iterator</a>). In practice, these are rarely used, because you can use indexes into the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>.</p>
16652/// <p>In addition to <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>, Qt also provides <a href="http://doc.qt.io/qt-5/qvarlengtharray.html">QVarLengthArray</a>, a very low-level class with little functionality that is optimized for speed.</p>
16653/// <p><a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> does <i>not</i> support inserting, prepending, appending or replacing with references to its own values. Doing so will cause your application to abort with an error message.</p>
16654/// <a name="more-information-on-using-qt-containers"></a>
16655/// <h4>More Information on Using Qt Containers</h4>
16656/// <p>For a detailed discussion comparing Qt containers with each other and with STL containers, see <a href="http://marcmutz.wordpress.com/effective-qt/containers/">Understand the Qt Containers</a>.</p></div>
16657#[repr(C)]
16658pub struct QVectorOfQJoint {
16659    _unused: u8,
16660}
16661impl QVectorOfQJoint {
16662    /// <p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
16663    ///
16664    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>& QVector<Qt3DCore::QJoint*>::operator+=(const QVector<Qt3DCore::QJoint*>& l)```</span>.
16665    ///
16666    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends the items of the <i>other</i> vector to this vector and returns a reference to this vector.</p>
16667    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">operator+</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>().</p></div>
16668    #[inline(always)]
16669    #[cfg_attr(
16670        feature = "ritual_rustdoc_nightly",
16671        doc(cfg(any(
16672            cpp_lib_version = "5.11.3",
16673            cpp_lib_version = "5.12.2",
16674            cpp_lib_version = "5.13.0",
16675            cpp_lib_version = "5.14.0"
16676        )))
16677    )]
16678    #[cfg(any(
16679        any(
16680            cpp_lib_version = "5.11.3",
16681            cpp_lib_version = "5.12.2",
16682            cpp_lib_version = "5.13.0",
16683            cpp_lib_version = "5.14.0"
16684        ),
16685        feature = "ritual_rustdoc"
16686    ))]
16687    pub unsafe fn add_assign_q_vector_of_q_joint(
16688        &self,
16689        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
16690    ) -> ::cpp_core::Ref<crate::QVectorOfQJoint> {
16691        let ffi_result = {
16692            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator__4(
16693                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
16694                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(l)
16695                    .as_raw_ptr(),
16696            )
16697        };
16698        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
16699    }
16700
16701    /// <p>This is an overloaded function.</p>
16702    ///
16703    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>& QVector<Qt3DCore::QJoint*>::operator+=(const Qt3DCore::QJoint*& t)```</span>.
16704    ///
16705    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
16706    /// <p>Appends <i>value</i> to the vector.</p>
16707    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>().</p></div>
16708    #[inline(always)]
16709    #[cfg_attr(
16710        feature = "ritual_rustdoc_nightly",
16711        doc(cfg(any(
16712            cpp_lib_version = "5.11.3",
16713            cpp_lib_version = "5.12.2",
16714            cpp_lib_version = "5.13.0",
16715            cpp_lib_version = "5.14.0"
16716        )))
16717    )]
16718    #[cfg(any(
16719        any(
16720            cpp_lib_version = "5.11.3",
16721            cpp_lib_version = "5.12.2",
16722            cpp_lib_version = "5.13.0",
16723            cpp_lib_version = "5.14.0"
16724        ),
16725        feature = "ritual_rustdoc"
16726    ))]
16727    pub unsafe fn add_assign_q_joint(
16728        &self,
16729        t: *const *mut crate::QJoint,
16730    ) -> ::cpp_core::Ref<crate::QVectorOfQJoint> {
16731        let ffi_result = {
16732            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator__5(
16733                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
16734                t,
16735            )
16736        };
16737        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
16738    }
16739
16740    /// <p>Inserts <i>value</i> at the end of the vector.</p>
16741    ///
16742    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::append(const Qt3DCore::QJoint*& t)```</span>.
16743    ///
16744    /// <a href="http://doc.qt.io/qt-5/qvector.html#append">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the end of the vector.</p>
16745    /// <p>Example:</p>
16746    /// <pre class="cpp">
16747    ///
16748    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
16749    ///   vector<span class="operator">.</span>append(<span class="string">"one"</span>);
16750    ///   vector<span class="operator">.</span>append(<span class="string">"two"</span>);
16751    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span> three <span class="operator">=</span> <span class="string">"three"</span>;
16752    ///   vector<span class="operator">.</span>append(three);
16753    ///   <span class="comment">// vector: ["one", "two", "three"]</span>
16754    ///   <span class="comment">// three: "three"</span>
16755    ///
16756    /// </pre>
16757    /// <p>This is the same as calling resize(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() + 1) and assigning <i>value</i> to the new last element in the vector.</p>
16758    /// <p>This operation is relatively fast, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> typically allocates more memory than necessary, so it can grow without reallocating the entire vector each time.</p>
16759    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
16760    #[inline(always)]
16761    #[cfg_attr(
16762        feature = "ritual_rustdoc_nightly",
16763        doc(cfg(any(
16764            cpp_lib_version = "5.11.3",
16765            cpp_lib_version = "5.12.2",
16766            cpp_lib_version = "5.13.0",
16767            cpp_lib_version = "5.14.0"
16768        )))
16769    )]
16770    #[cfg(any(
16771        any(
16772            cpp_lib_version = "5.11.3",
16773            cpp_lib_version = "5.12.2",
16774            cpp_lib_version = "5.13.0",
16775            cpp_lib_version = "5.14.0"
16776        ),
16777        feature = "ritual_rustdoc"
16778    ))]
16779    pub unsafe fn append_q_joint(&self, t: *const *mut crate::QJoint) {
16780        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_append(
16781            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
16782            t,
16783        )
16784    }
16785
16786    /// <p>This is an overloaded function.</p>
16787    ///
16788    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::append(const QVector<Qt3DCore::QJoint*>& l)```</span>.
16789    ///
16790    /// <a href="http://doc.qt.io/qt-5/qvector.html#append-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
16791    /// <p>Appends the items of the <i>value</i> vector to this vector.</p>
16792    /// <p>This function was introduced in  Qt 5.5.</p>
16793    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">operator&lt;&lt;</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
16794    #[inline(always)]
16795    #[cfg_attr(
16796        feature = "ritual_rustdoc_nightly",
16797        doc(cfg(any(
16798            cpp_lib_version = "5.11.3",
16799            cpp_lib_version = "5.12.2",
16800            cpp_lib_version = "5.13.0",
16801            cpp_lib_version = "5.14.0"
16802        )))
16803    )]
16804    #[cfg(any(
16805        any(
16806            cpp_lib_version = "5.11.3",
16807            cpp_lib_version = "5.12.2",
16808            cpp_lib_version = "5.13.0",
16809            cpp_lib_version = "5.14.0"
16810        ),
16811        feature = "ritual_rustdoc"
16812    ))]
16813    pub unsafe fn append_q_vector_of_q_joint(
16814        &self,
16815        l: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
16816    ) {
16817        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_append2(
16818            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
16819            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(l)
16820                .as_raw_ptr(),
16821        )
16822    }
16823
16824    /// <p>Returns the item at index position <i>i</i> in the vector.</p>
16825    ///
16826    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::at(int i) const```</span>.
16827    ///
16828    /// <a href="http://doc.qt.io/qt-5/qvector.html#at">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> in the vector.</p>
16829    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
16830    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
16831    #[inline(always)]
16832    #[cfg_attr(
16833        feature = "ritual_rustdoc_nightly",
16834        doc(cfg(any(
16835            cpp_lib_version = "5.11.3",
16836            cpp_lib_version = "5.12.2",
16837            cpp_lib_version = "5.13.0",
16838            cpp_lib_version = "5.14.0"
16839        )))
16840    )]
16841    #[cfg(any(
16842        any(
16843            cpp_lib_version = "5.11.3",
16844            cpp_lib_version = "5.12.2",
16845            cpp_lib_version = "5.13.0",
16846            cpp_lib_version = "5.14.0"
16847        ),
16848        feature = "ritual_rustdoc"
16849    ))]
16850    pub unsafe fn at(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QJoint {
16851        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_at(
16852            self as *const crate::QVectorOfQJoint,
16853            i,
16854        )
16855    }
16856
16857    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p>
16858    ///
16859    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::back()```</span>.
16860    ///
16861    /// <a href="http://doc.qt.io/qt-5/qvector.html#back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
16862    #[inline(always)]
16863    #[cfg_attr(
16864        feature = "ritual_rustdoc_nightly",
16865        doc(cfg(any(
16866            cpp_lib_version = "5.11.3",
16867            cpp_lib_version = "5.12.2",
16868            cpp_lib_version = "5.13.0",
16869            cpp_lib_version = "5.14.0"
16870        )))
16871    )]
16872    #[cfg(any(
16873        any(
16874            cpp_lib_version = "5.11.3",
16875            cpp_lib_version = "5.12.2",
16876            cpp_lib_version = "5.13.0",
16877            cpp_lib_version = "5.14.0"
16878        ),
16879        feature = "ritual_rustdoc"
16880    ))]
16881    pub unsafe fn back_mut(&self) -> *mut *mut crate::QJoint {
16882        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_back(
16883            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
16884        )
16885    }
16886
16887    /// <p>This is an overloaded function.</p>
16888    ///
16889    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::back() const```</span>.
16890    ///
16891    /// <a href="http://doc.qt.io/qt-5/qvector.html#back-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
16892    #[inline(always)]
16893    #[cfg_attr(
16894        feature = "ritual_rustdoc_nightly",
16895        doc(cfg(any(
16896            cpp_lib_version = "5.11.3",
16897            cpp_lib_version = "5.12.2",
16898            cpp_lib_version = "5.13.0",
16899            cpp_lib_version = "5.14.0"
16900        )))
16901    )]
16902    #[cfg(any(
16903        any(
16904            cpp_lib_version = "5.11.3",
16905            cpp_lib_version = "5.12.2",
16906            cpp_lib_version = "5.13.0",
16907            cpp_lib_version = "5.14.0"
16908        ),
16909        feature = "ritual_rustdoc"
16910    ))]
16911    pub unsafe fn back(&self) -> *const *mut crate::QJoint {
16912        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_back1(
16913            self as *const crate::QVectorOfQJoint,
16914        )
16915    }
16916
16917    /// <p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
16918    ///
16919    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::capacity() const```</span>.
16920    ///
16921    /// <a href="http://doc.qt.io/qt-5/qvector.html#capacity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the maximum number of items that can be stored in the vector without forcing a reallocation.</p>
16922    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function. If you want to know how many items are in the vector, call <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
16923    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
16924    #[inline(always)]
16925    #[cfg_attr(
16926        feature = "ritual_rustdoc_nightly",
16927        doc(cfg(any(
16928            cpp_lib_version = "5.11.3",
16929            cpp_lib_version = "5.12.2",
16930            cpp_lib_version = "5.13.0",
16931            cpp_lib_version = "5.14.0"
16932        )))
16933    )]
16934    #[cfg(any(
16935        any(
16936            cpp_lib_version = "5.11.3",
16937            cpp_lib_version = "5.12.2",
16938            cpp_lib_version = "5.13.0",
16939            cpp_lib_version = "5.14.0"
16940        ),
16941        feature = "ritual_rustdoc"
16942    ))]
16943    pub unsafe fn capacity(&self) -> ::std::os::raw::c_int {
16944        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_capacity(
16945            self as *const crate::QVectorOfQJoint,
16946        )
16947    }
16948
16949    /// <p>Removes all the elements from the vector.</p>
16950    ///
16951    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::clear()```</span>.
16952    ///
16953    /// <a href="http://doc.qt.io/qt-5/qvector.html#clear">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all the elements from the vector.</p>
16954    /// <p><b>Note: </b>Until Qt 5.6, this also released the memory used by the vector. From Qt 5.7, the capacity is preserved. To shed all capacity, swap with a default-constructed vector:</p><pre class="cpp">
16955    ///
16956    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span> v <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>;
16957    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span>T<span class="operator">&gt;</span>()<span class="operator">.</span>swap(v);
16958    ///   Q_ASSERT(v<span class="operator">.</span>capacity() <span class="operator">=</span><span class="operator">=</span> <span class="number">0</span>);
16959    ///
16960    /// </pre>
16961    /// <p>or call <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
16962    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p></div>
16963    #[inline(always)]
16964    #[cfg_attr(
16965        feature = "ritual_rustdoc_nightly",
16966        doc(cfg(any(
16967            cpp_lib_version = "5.11.3",
16968            cpp_lib_version = "5.12.2",
16969            cpp_lib_version = "5.13.0",
16970            cpp_lib_version = "5.14.0"
16971        )))
16972    )]
16973    #[cfg(any(
16974        any(
16975            cpp_lib_version = "5.11.3",
16976            cpp_lib_version = "5.12.2",
16977            cpp_lib_version = "5.13.0",
16978            cpp_lib_version = "5.14.0"
16979        ),
16980        feature = "ritual_rustdoc"
16981    ))]
16982    pub unsafe fn clear(&self) {
16983        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_clear(
16984            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
16985        )
16986    }
16987
16988    /// <p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
16989    ///
16990    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint** QVector<Qt3DCore::QJoint*>::constData() const```</span>.
16991    ///
16992    /// <a href="http://doc.qt.io/qt-5/qvector.html#constData">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const pointer to the data stored in the vector. The pointer can be used to access the items in the vector. The pointer remains valid as long as the vector isn't reallocated.</p>
16993    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
16994    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#data">data</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
16995    #[inline(always)]
16996    #[cfg_attr(
16997        feature = "ritual_rustdoc_nightly",
16998        doc(cfg(any(
16999            cpp_lib_version = "5.11.3",
17000            cpp_lib_version = "5.12.2",
17001            cpp_lib_version = "5.13.0",
17002            cpp_lib_version = "5.14.0"
17003        )))
17004    )]
17005    #[cfg(any(
17006        any(
17007            cpp_lib_version = "5.11.3",
17008            cpp_lib_version = "5.12.2",
17009            cpp_lib_version = "5.13.0",
17010            cpp_lib_version = "5.14.0"
17011        ),
17012        feature = "ritual_rustdoc"
17013    ))]
17014    pub unsafe fn const_data(&self) -> *const *mut crate::QJoint {
17015        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_constData(
17016            self as *const crate::QVectorOfQJoint,
17017        )
17018    }
17019
17020    /// <p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
17021    ///
17022    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::constFirst() const```</span>.
17023    ///
17024    /// <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
17025    /// <p>This function was introduced in  Qt 5.6.</p>
17026    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
17027    #[inline(always)]
17028    #[cfg_attr(
17029        feature = "ritual_rustdoc_nightly",
17030        doc(cfg(any(
17031            cpp_lib_version = "5.11.3",
17032            cpp_lib_version = "5.12.2",
17033            cpp_lib_version = "5.13.0",
17034            cpp_lib_version = "5.14.0"
17035        )))
17036    )]
17037    #[cfg(any(
17038        any(
17039            cpp_lib_version = "5.11.3",
17040            cpp_lib_version = "5.12.2",
17041            cpp_lib_version = "5.13.0",
17042            cpp_lib_version = "5.14.0"
17043        ),
17044        feature = "ritual_rustdoc"
17045    ))]
17046    pub unsafe fn const_first(&self) -> *const *mut crate::QJoint {
17047        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_constFirst(
17048            self as *const crate::QVectorOfQJoint,
17049        )
17050    }
17051
17052    /// <p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
17053    ///
17054    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::constLast() const```</span>.
17055    ///
17056    /// <a href="http://doc.qt.io/qt-5/qvector.html#constLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a const reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
17057    /// <p>This function was introduced in  Qt 5.6.</p>
17058    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
17059    #[inline(always)]
17060    #[cfg_attr(
17061        feature = "ritual_rustdoc_nightly",
17062        doc(cfg(any(
17063            cpp_lib_version = "5.11.3",
17064            cpp_lib_version = "5.12.2",
17065            cpp_lib_version = "5.13.0",
17066            cpp_lib_version = "5.14.0"
17067        )))
17068    )]
17069    #[cfg(any(
17070        any(
17071            cpp_lib_version = "5.11.3",
17072            cpp_lib_version = "5.12.2",
17073            cpp_lib_version = "5.13.0",
17074            cpp_lib_version = "5.14.0"
17075        ),
17076        feature = "ritual_rustdoc"
17077    ))]
17078    pub unsafe fn const_last(&self) -> *const *mut crate::QJoint {
17079        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_constLast(
17080            self as *const crate::QVectorOfQJoint,
17081        )
17082    }
17083
17084    /// <p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
17085    ///
17086    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::contains(const Qt3DCore::QJoint*& t) const```</span>.
17087    ///
17088    /// <a href="http://doc.qt.io/qt-5/qvector.html#contains">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector contains an occurrence of <i>value</i>; otherwise returns <code>false</code>.</p>
17089    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
17090    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p></div>
17091    #[inline(always)]
17092    #[cfg_attr(
17093        feature = "ritual_rustdoc_nightly",
17094        doc(cfg(any(
17095            cpp_lib_version = "5.11.3",
17096            cpp_lib_version = "5.12.2",
17097            cpp_lib_version = "5.13.0",
17098            cpp_lib_version = "5.14.0"
17099        )))
17100    )]
17101    #[cfg(any(
17102        any(
17103            cpp_lib_version = "5.11.3",
17104            cpp_lib_version = "5.12.2",
17105            cpp_lib_version = "5.13.0",
17106            cpp_lib_version = "5.14.0"
17107        ),
17108        feature = "ritual_rustdoc"
17109    ))]
17110    pub unsafe fn contains(&self, t: *const *mut crate::QJoint) -> bool {
17111        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_contains(
17112            self as *const crate::QVectorOfQJoint,
17113            t,
17114        )
17115    }
17116
17117    /// <p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p>
17118    ///
17119    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>& QVector<Qt3DCore::QJoint*>::operator=(const QVector<Qt3DCore::QJoint*>& v)```</span>.
17120    ///
17121    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>other</i> to this vector and returns a reference to this vector.</p></div>
17122    #[inline(always)]
17123    #[cfg_attr(
17124        feature = "ritual_rustdoc_nightly",
17125        doc(cfg(any(
17126            cpp_lib_version = "5.11.3",
17127            cpp_lib_version = "5.12.2",
17128            cpp_lib_version = "5.13.0",
17129            cpp_lib_version = "5.14.0"
17130        )))
17131    )]
17132    #[cfg(any(
17133        any(
17134            cpp_lib_version = "5.11.3",
17135            cpp_lib_version = "5.12.2",
17136            cpp_lib_version = "5.13.0",
17137            cpp_lib_version = "5.14.0"
17138        ),
17139        feature = "ritual_rustdoc"
17140    ))]
17141    pub unsafe fn copy_from(
17142        &self,
17143        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
17144    ) -> ::cpp_core::Ref<crate::QVectorOfQJoint> {
17145        let ffi_result = {
17146            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator_(
17147                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17148                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(v)
17149                    .as_raw_ptr(),
17150            )
17151        };
17152        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
17153    }
17154
17155    /// <p>Returns the number of occurrences of <i>value</i> in the vector.</p>
17156    ///
17157    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::count(const Qt3DCore::QJoint*& t) const```</span>.
17158    ///
17159    /// <a href="http://doc.qt.io/qt-5/qvector.html#count">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of occurrences of <i>value</i> in the vector.</p>
17160    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
17161    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
17162    #[inline(always)]
17163    #[cfg_attr(
17164        feature = "ritual_rustdoc_nightly",
17165        doc(cfg(any(
17166            cpp_lib_version = "5.11.3",
17167            cpp_lib_version = "5.12.2",
17168            cpp_lib_version = "5.13.0",
17169            cpp_lib_version = "5.14.0"
17170        )))
17171    )]
17172    #[cfg(any(
17173        any(
17174            cpp_lib_version = "5.11.3",
17175            cpp_lib_version = "5.12.2",
17176            cpp_lib_version = "5.13.0",
17177            cpp_lib_version = "5.14.0"
17178        ),
17179        feature = "ritual_rustdoc"
17180    ))]
17181    pub unsafe fn count_1a(&self, t: *const *mut crate::QJoint) -> ::std::os::raw::c_int {
17182        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_count(
17183            self as *const crate::QVectorOfQJoint,
17184            t,
17185        )
17186    }
17187
17188    /// <p>This is an overloaded function.</p>
17189    ///
17190    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::count() const```</span>.
17191    ///
17192    /// <a href="http://doc.qt.io/qt-5/qvector.html#count-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
17193    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
17194    #[inline(always)]
17195    #[cfg_attr(
17196        feature = "ritual_rustdoc_nightly",
17197        doc(cfg(any(
17198            cpp_lib_version = "5.11.3",
17199            cpp_lib_version = "5.12.2",
17200            cpp_lib_version = "5.13.0",
17201            cpp_lib_version = "5.14.0"
17202        )))
17203    )]
17204    #[cfg(any(
17205        any(
17206            cpp_lib_version = "5.11.3",
17207            cpp_lib_version = "5.12.2",
17208            cpp_lib_version = "5.13.0",
17209            cpp_lib_version = "5.14.0"
17210        ),
17211        feature = "ritual_rustdoc"
17212    ))]
17213    pub unsafe fn count_0a(&self) -> ::std::os::raw::c_int {
17214        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_count1(
17215            self as *const crate::QVectorOfQJoint,
17216        )
17217    }
17218
17219    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
17220    ///
17221    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint** QVector<Qt3DCore::QJoint*>::data()```</span>.
17222    ///
17223    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
17224    /// <p>Example:</p>
17225    /// <pre class="cpp">
17226    ///
17227    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
17228    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
17229    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
17230    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
17231    ///
17232    /// </pre>
17233    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
17234    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
17235    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
17236    #[inline(always)]
17237    #[cfg_attr(
17238        feature = "ritual_rustdoc_nightly",
17239        doc(cfg(any(
17240            cpp_lib_version = "5.11.3",
17241            cpp_lib_version = "5.12.2",
17242            cpp_lib_version = "5.13.0",
17243            cpp_lib_version = "5.14.0"
17244        )))
17245    )]
17246    #[cfg(any(
17247        any(
17248            cpp_lib_version = "5.11.3",
17249            cpp_lib_version = "5.12.2",
17250            cpp_lib_version = "5.13.0",
17251            cpp_lib_version = "5.14.0"
17252        ),
17253        feature = "ritual_rustdoc"
17254    ))]
17255    pub unsafe fn data_mut(&self) -> *mut *mut crate::QJoint {
17256        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_data(
17257            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17258        )
17259    }
17260
17261    /// <p>This is an overloaded function.</p>
17262    ///
17263    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint** QVector<Qt3DCore::QJoint*>::data() const```</span>.
17264    ///
17265    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
17266    #[inline(always)]
17267    #[cfg_attr(
17268        feature = "ritual_rustdoc_nightly",
17269        doc(cfg(any(
17270            cpp_lib_version = "5.11.3",
17271            cpp_lib_version = "5.12.2",
17272            cpp_lib_version = "5.13.0",
17273            cpp_lib_version = "5.14.0"
17274        )))
17275    )]
17276    #[cfg(any(
17277        any(
17278            cpp_lib_version = "5.11.3",
17279            cpp_lib_version = "5.12.2",
17280            cpp_lib_version = "5.13.0",
17281            cpp_lib_version = "5.14.0"
17282        ),
17283        feature = "ritual_rustdoc"
17284    ))]
17285    pub unsafe fn data(&self) -> *const *mut crate::QJoint {
17286        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_data1(
17287            self as *const crate::QVectorOfQJoint,
17288        )
17289    }
17290
17291    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::detach()```</span>.
17292    #[inline(always)]
17293    #[cfg_attr(
17294        feature = "ritual_rustdoc_nightly",
17295        doc(cfg(any(
17296            cpp_lib_version = "5.11.3",
17297            cpp_lib_version = "5.12.2",
17298            cpp_lib_version = "5.13.0",
17299            cpp_lib_version = "5.14.0"
17300        )))
17301    )]
17302    #[cfg(any(
17303        any(
17304            cpp_lib_version = "5.11.3",
17305            cpp_lib_version = "5.12.2",
17306            cpp_lib_version = "5.13.0",
17307            cpp_lib_version = "5.14.0"
17308        ),
17309        feature = "ritual_rustdoc"
17310    ))]
17311    pub unsafe fn detach(&self) {
17312        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_detach(
17313            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17314        )
17315    }
17316
17317    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p>
17318    ///
17319    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::empty() const```</span>.
17320    ///
17321    /// <a href="http://doc.qt.io/qt-5/qvector.html#empty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), returning <code>true</code> if the vector is empty; otherwise returns <code>false</code>.</p></div>
17322    #[inline(always)]
17323    #[cfg_attr(
17324        feature = "ritual_rustdoc_nightly",
17325        doc(cfg(any(
17326            cpp_lib_version = "5.11.3",
17327            cpp_lib_version = "5.12.2",
17328            cpp_lib_version = "5.13.0",
17329            cpp_lib_version = "5.14.0"
17330        )))
17331    )]
17332    #[cfg(any(
17333        any(
17334            cpp_lib_version = "5.11.3",
17335            cpp_lib_version = "5.12.2",
17336            cpp_lib_version = "5.13.0",
17337            cpp_lib_version = "5.14.0"
17338        ),
17339        feature = "ritual_rustdoc"
17340    ))]
17341    pub unsafe fn empty(&self) -> bool {
17342        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_empty(
17343            self as *const crate::QVectorOfQJoint,
17344        )
17345    }
17346
17347    /// <p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
17348    ///
17349    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::endsWith(const Qt3DCore::QJoint*& t) const```</span>.
17350    ///
17351    /// <a href="http://doc.qt.io/qt-5/qvector.html#endsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its last item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
17352    /// <p>This function was introduced in  Qt 4.5.</p>
17353    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>().</p></div>
17354    #[inline(always)]
17355    #[cfg_attr(
17356        feature = "ritual_rustdoc_nightly",
17357        doc(cfg(any(
17358            cpp_lib_version = "5.11.3",
17359            cpp_lib_version = "5.12.2",
17360            cpp_lib_version = "5.13.0",
17361            cpp_lib_version = "5.14.0"
17362        )))
17363    )]
17364    #[cfg(any(
17365        any(
17366            cpp_lib_version = "5.11.3",
17367            cpp_lib_version = "5.12.2",
17368            cpp_lib_version = "5.13.0",
17369            cpp_lib_version = "5.14.0"
17370        ),
17371        feature = "ritual_rustdoc"
17372    ))]
17373    pub unsafe fn ends_with(&self, t: *const *mut crate::QJoint) -> bool {
17374        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_endsWith(
17375            self as *const crate::QVectorOfQJoint,
17376            t,
17377        )
17378    }
17379
17380    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
17381    ///
17382    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>& QVector<Qt3DCore::QJoint*>::fill(const Qt3DCore::QJoint*& t, int size = …)```</span>.
17383    ///
17384    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
17385    /// <p>Example:</p>
17386    /// <pre class="cpp">
17387    ///
17388    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
17389    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
17390    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
17391    ///
17392    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
17393    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
17394    ///
17395    /// </pre>
17396    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
17397    #[inline(always)]
17398    #[cfg_attr(
17399        feature = "ritual_rustdoc_nightly",
17400        doc(cfg(any(
17401            cpp_lib_version = "5.11.3",
17402            cpp_lib_version = "5.12.2",
17403            cpp_lib_version = "5.13.0",
17404            cpp_lib_version = "5.14.0"
17405        )))
17406    )]
17407    #[cfg(any(
17408        any(
17409            cpp_lib_version = "5.11.3",
17410            cpp_lib_version = "5.12.2",
17411            cpp_lib_version = "5.13.0",
17412            cpp_lib_version = "5.14.0"
17413        ),
17414        feature = "ritual_rustdoc"
17415    ))]
17416    pub unsafe fn fill_2a(
17417        &self,
17418        t: *const *mut crate::QJoint,
17419        size: ::std::os::raw::c_int,
17420    ) -> ::cpp_core::Ref<crate::QVectorOfQJoint> {
17421        let ffi_result = {
17422            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_fill(
17423                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17424                t,
17425                size,
17426            )
17427        };
17428        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
17429    }
17430
17431    /// <p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
17432    ///
17433    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>& QVector<Qt3DCore::QJoint*>::fill(const Qt3DCore::QJoint*& t)```</span>.
17434    ///
17435    /// <a href="http://doc.qt.io/qt-5/qvector.html#fill">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Assigns <i>value</i> to all items in the vector. If <i>size</i> is different from -1 (the default), the vector is resized to size <i>size</i> beforehand.</p>
17436    /// <p>Example:</p>
17437    /// <pre class="cpp">
17438    ///
17439    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector(<span class="number">3</span>);
17440    ///   vector<span class="operator">.</span>fill(<span class="string">"Yes"</span>);
17441    ///   <span class="comment">// vector: ["Yes", "Yes", "Yes"]</span>
17442    ///
17443    ///   vector<span class="operator">.</span>fill(<span class="string">"oh"</span><span class="operator">,</span> <span class="number">5</span>);
17444    ///   <span class="comment">// vector: ["oh", "oh", "oh", "oh", "oh"]</span>
17445    ///
17446    /// </pre>
17447    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
17448    #[inline(always)]
17449    #[cfg_attr(
17450        feature = "ritual_rustdoc_nightly",
17451        doc(cfg(any(
17452            cpp_lib_version = "5.11.3",
17453            cpp_lib_version = "5.12.2",
17454            cpp_lib_version = "5.13.0",
17455            cpp_lib_version = "5.14.0"
17456        )))
17457    )]
17458    #[cfg(any(
17459        any(
17460            cpp_lib_version = "5.11.3",
17461            cpp_lib_version = "5.12.2",
17462            cpp_lib_version = "5.13.0",
17463            cpp_lib_version = "5.14.0"
17464        ),
17465        feature = "ritual_rustdoc"
17466    ))]
17467    pub unsafe fn fill_1a(
17468        &self,
17469        t: *const *mut crate::QJoint,
17470    ) -> ::cpp_core::Ref<crate::QVectorOfQJoint> {
17471        let ffi_result = {
17472            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_fill1(
17473                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17474                t,
17475            )
17476        };
17477        ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref")
17478    }
17479
17480    /// <p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
17481    ///
17482    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::first()```</span>.
17483    ///
17484    /// <a href="http://doc.qt.io/qt-5/qvector.html#first">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the first item in the vector. This function assumes that the vector isn't empty.</p>
17485    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#last">last</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constFirst">constFirst</a>().</p></div>
17486    #[inline(always)]
17487    #[cfg_attr(
17488        feature = "ritual_rustdoc_nightly",
17489        doc(cfg(any(
17490            cpp_lib_version = "5.11.3",
17491            cpp_lib_version = "5.12.2",
17492            cpp_lib_version = "5.13.0",
17493            cpp_lib_version = "5.14.0"
17494        )))
17495    )]
17496    #[cfg(any(
17497        any(
17498            cpp_lib_version = "5.11.3",
17499            cpp_lib_version = "5.12.2",
17500            cpp_lib_version = "5.13.0",
17501            cpp_lib_version = "5.14.0"
17502        ),
17503        feature = "ritual_rustdoc"
17504    ))]
17505    pub unsafe fn first_mut(&self) -> *mut *mut crate::QJoint {
17506        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_first(
17507            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17508        )
17509    }
17510
17511    /// <p>This is an overloaded function.</p>
17512    ///
17513    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::first() const```</span>.
17514    ///
17515    /// <a href="http://doc.qt.io/qt-5/qvector.html#first-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
17516    #[inline(always)]
17517    #[cfg_attr(
17518        feature = "ritual_rustdoc_nightly",
17519        doc(cfg(any(
17520            cpp_lib_version = "5.11.3",
17521            cpp_lib_version = "5.12.2",
17522            cpp_lib_version = "5.13.0",
17523            cpp_lib_version = "5.14.0"
17524        )))
17525    )]
17526    #[cfg(any(
17527        any(
17528            cpp_lib_version = "5.11.3",
17529            cpp_lib_version = "5.12.2",
17530            cpp_lib_version = "5.13.0",
17531            cpp_lib_version = "5.14.0"
17532        ),
17533        feature = "ritual_rustdoc"
17534    ))]
17535    pub unsafe fn first(&self) -> *const *mut crate::QJoint {
17536        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_first1(
17537            self as *const crate::QVectorOfQJoint,
17538        )
17539    }
17540
17541    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p>
17542    ///
17543    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::front()```</span>.
17544    ///
17545    /// <a href="http://doc.qt.io/qt-5/qvector.html#front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
17546    #[inline(always)]
17547    #[cfg_attr(
17548        feature = "ritual_rustdoc_nightly",
17549        doc(cfg(any(
17550            cpp_lib_version = "5.11.3",
17551            cpp_lib_version = "5.12.2",
17552            cpp_lib_version = "5.13.0",
17553            cpp_lib_version = "5.14.0"
17554        )))
17555    )]
17556    #[cfg(any(
17557        any(
17558            cpp_lib_version = "5.11.3",
17559            cpp_lib_version = "5.12.2",
17560            cpp_lib_version = "5.13.0",
17561            cpp_lib_version = "5.14.0"
17562        ),
17563        feature = "ritual_rustdoc"
17564    ))]
17565    pub unsafe fn front_mut(&self) -> *mut *mut crate::QJoint {
17566        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_front(
17567            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17568        )
17569    }
17570
17571    /// <p>This is an overloaded function.</p>
17572    ///
17573    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::front() const```</span>.
17574    ///
17575    /// <a href="http://doc.qt.io/qt-5/qvector.html#front-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
17576    #[inline(always)]
17577    #[cfg_attr(
17578        feature = "ritual_rustdoc_nightly",
17579        doc(cfg(any(
17580            cpp_lib_version = "5.11.3",
17581            cpp_lib_version = "5.12.2",
17582            cpp_lib_version = "5.13.0",
17583            cpp_lib_version = "5.14.0"
17584        )))
17585    )]
17586    #[cfg(any(
17587        any(
17588            cpp_lib_version = "5.11.3",
17589            cpp_lib_version = "5.12.2",
17590            cpp_lib_version = "5.13.0",
17591            cpp_lib_version = "5.14.0"
17592        ),
17593        feature = "ritual_rustdoc"
17594    ))]
17595    pub unsafe fn front(&self) -> *const *mut crate::QJoint {
17596        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_front1(
17597            self as *const crate::QVectorOfQJoint,
17598        )
17599    }
17600
17601    /// <p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
17602    ///
17603    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::operator[](int i)```</span>.
17604    ///
17605    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the item at index position <i>i</i> as a modifiable reference.</p>
17606    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
17607    /// <p>Note that using non-const operators can cause <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> to do a deep copy.</p>
17608    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#value">value</a>().</p></div>
17609    #[inline(always)]
17610    #[cfg_attr(
17611        feature = "ritual_rustdoc_nightly",
17612        doc(cfg(any(
17613            cpp_lib_version = "5.11.3",
17614            cpp_lib_version = "5.12.2",
17615            cpp_lib_version = "5.13.0",
17616            cpp_lib_version = "5.14.0"
17617        )))
17618    )]
17619    #[cfg(any(
17620        any(
17621            cpp_lib_version = "5.11.3",
17622            cpp_lib_version = "5.12.2",
17623            cpp_lib_version = "5.13.0",
17624            cpp_lib_version = "5.14.0"
17625        ),
17626        feature = "ritual_rustdoc"
17627    ))]
17628    pub unsafe fn index_mut(&self, i: ::std::os::raw::c_int) -> *mut *mut crate::QJoint {
17629        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator__2(
17630            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17631            i,
17632        )
17633    }
17634
17635    /// <p>This is an overloaded function.</p>
17636    ///
17637    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::operator[](int i) const```</span>.
17638    ///
17639    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
17640    /// <p>Same as at(<i>i</i>).</p></div>
17641    #[inline(always)]
17642    #[cfg_attr(
17643        feature = "ritual_rustdoc_nightly",
17644        doc(cfg(any(
17645            cpp_lib_version = "5.11.3",
17646            cpp_lib_version = "5.12.2",
17647            cpp_lib_version = "5.13.0",
17648            cpp_lib_version = "5.14.0"
17649        )))
17650    )]
17651    #[cfg(any(
17652        any(
17653            cpp_lib_version = "5.11.3",
17654            cpp_lib_version = "5.12.2",
17655            cpp_lib_version = "5.13.0",
17656            cpp_lib_version = "5.14.0"
17657        ),
17658        feature = "ritual_rustdoc"
17659    ))]
17660    pub unsafe fn index(&self, i: ::std::os::raw::c_int) -> *const *mut crate::QJoint {
17661        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator__3(
17662            self as *const crate::QVectorOfQJoint,
17663            i,
17664        )
17665    }
17666
17667    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
17668    ///
17669    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::indexOf(const Qt3DCore::QJoint*& t, int from = …) const```</span>.
17670    ///
17671    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
17672    /// <p>Example:</p>
17673    /// <pre class="cpp">
17674    ///
17675    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
17676    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
17677    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
17678    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
17679    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
17680    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
17681    ///
17682    /// </pre>
17683    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
17684    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
17685    #[inline(always)]
17686    #[cfg_attr(
17687        feature = "ritual_rustdoc_nightly",
17688        doc(cfg(any(
17689            cpp_lib_version = "5.11.3",
17690            cpp_lib_version = "5.12.2",
17691            cpp_lib_version = "5.13.0",
17692            cpp_lib_version = "5.14.0"
17693        )))
17694    )]
17695    #[cfg(any(
17696        any(
17697            cpp_lib_version = "5.11.3",
17698            cpp_lib_version = "5.12.2",
17699            cpp_lib_version = "5.13.0",
17700            cpp_lib_version = "5.14.0"
17701        ),
17702        feature = "ritual_rustdoc"
17703    ))]
17704    pub unsafe fn index_of_2a(
17705        &self,
17706        t: *const *mut crate::QJoint,
17707        from: ::std::os::raw::c_int,
17708    ) -> ::std::os::raw::c_int {
17709        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_indexOf(
17710            self as *const crate::QVectorOfQJoint,
17711            t,
17712            from,
17713        )
17714    }
17715
17716    /// <p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
17717    ///
17718    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::indexOf(const Qt3DCore::QJoint*& t) const```</span>.
17719    ///
17720    /// <a href="http://doc.qt.io/qt-5/qvector.html#indexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the first occurrence of <i>value</i> in the vector, searching forward from index position <i>from</i>. Returns -1 if no item matched.</p>
17721    /// <p>Example:</p>
17722    /// <pre class="cpp">
17723    ///
17724    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
17725    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
17726    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span>);            <span class="comment">// returns 1</span>
17727    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">1</span>);         <span class="comment">// returns 1</span>
17728    ///   vector<span class="operator">.</span>indexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);         <span class="comment">// returns 3</span>
17729    ///   vector<span class="operator">.</span>indexOf(<span class="string">"X"</span>);            <span class="comment">// returns -1</span>
17730    ///
17731    /// </pre>
17732    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
17733    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">lastIndexOf</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#contains">contains</a>().</p></div>
17734    #[inline(always)]
17735    #[cfg_attr(
17736        feature = "ritual_rustdoc_nightly",
17737        doc(cfg(any(
17738            cpp_lib_version = "5.11.3",
17739            cpp_lib_version = "5.12.2",
17740            cpp_lib_version = "5.13.0",
17741            cpp_lib_version = "5.14.0"
17742        )))
17743    )]
17744    #[cfg(any(
17745        any(
17746            cpp_lib_version = "5.11.3",
17747            cpp_lib_version = "5.12.2",
17748            cpp_lib_version = "5.13.0",
17749            cpp_lib_version = "5.14.0"
17750        ),
17751        feature = "ritual_rustdoc"
17752    ))]
17753    pub unsafe fn index_of_1a(&self, t: *const *mut crate::QJoint) -> ::std::os::raw::c_int {
17754        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_indexOf1(
17755            self as *const crate::QVectorOfQJoint,
17756            t,
17757        )
17758    }
17759
17760    /// <p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
17761    ///
17762    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::insert(int i, const Qt3DCore::QJoint*& t)```</span>.
17763    ///
17764    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at index position <i>i</i> in the vector. If <i>i</i> is 0, the value is prepended to the vector. If <i>i</i> is <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), the value is appended to the vector.</p>
17765    /// <p>Example:</p>
17766    /// <pre class="cpp">
17767    ///
17768    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
17769    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"alpha"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"beta"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"delta"</span>;
17770    ///   vector<span class="operator">.</span>insert(<span class="number">2</span><span class="operator">,</span> <span class="string">"gamma"</span>);
17771    ///   <span class="comment">// vector: ["alpha", "beta", "gamma", "delta"]</span>
17772    ///
17773    /// </pre>
17774    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items at indexes <i>i</i> and above by one position further in memory. If you want a container class that provides a fast insert() function, use <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
17775    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#prepend">prepend</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
17776    #[inline(always)]
17777    #[cfg_attr(
17778        feature = "ritual_rustdoc_nightly",
17779        doc(cfg(any(
17780            cpp_lib_version = "5.11.3",
17781            cpp_lib_version = "5.12.2",
17782            cpp_lib_version = "5.13.0",
17783            cpp_lib_version = "5.14.0"
17784        )))
17785    )]
17786    #[cfg(any(
17787        any(
17788            cpp_lib_version = "5.11.3",
17789            cpp_lib_version = "5.12.2",
17790            cpp_lib_version = "5.13.0",
17791            cpp_lib_version = "5.14.0"
17792        ),
17793        feature = "ritual_rustdoc"
17794    ))]
17795    pub unsafe fn insert_2a(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QJoint) {
17796        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_insert(
17797            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17798            i,
17799            t,
17800        )
17801    }
17802
17803    /// <p>This is an overloaded function.</p>
17804    ///
17805    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::insert(int i, int n, const Qt3DCore::QJoint*& t)```</span>.
17806    ///
17807    /// <a href="http://doc.qt.io/qt-5/qvector.html#insert-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
17808    /// <p>Inserts <i>count</i> copies of <i>value</i> at index position <i>i</i> in the vector.</p>
17809    /// <p>Example:</p>
17810    /// <pre class="cpp">
17811    ///
17812    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">double</span><span class="operator">&gt;</span> vector;
17813    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2.718</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1.442</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">0.4342</span>;
17814    ///   vector<span class="operator">.</span>insert(<span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">9.9</span>);
17815    ///   <span class="comment">// vector: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]</span>
17816    ///
17817    /// </pre></div>
17818    #[inline(always)]
17819    #[cfg_attr(
17820        feature = "ritual_rustdoc_nightly",
17821        doc(cfg(any(
17822            cpp_lib_version = "5.11.3",
17823            cpp_lib_version = "5.12.2",
17824            cpp_lib_version = "5.13.0",
17825            cpp_lib_version = "5.14.0"
17826        )))
17827    )]
17828    #[cfg(any(
17829        any(
17830            cpp_lib_version = "5.11.3",
17831            cpp_lib_version = "5.12.2",
17832            cpp_lib_version = "5.13.0",
17833            cpp_lib_version = "5.14.0"
17834        ),
17835        feature = "ritual_rustdoc"
17836    ))]
17837    pub unsafe fn insert_3a(
17838        &self,
17839        i: ::std::os::raw::c_int,
17840        n: ::std::os::raw::c_int,
17841        t: *const *mut crate::QJoint,
17842    ) {
17843        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_insert1(
17844            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17845            i,
17846            n,
17847            t,
17848        )
17849    }
17850
17851    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::isDetached() const```</span>.
17852    #[inline(always)]
17853    #[cfg_attr(
17854        feature = "ritual_rustdoc_nightly",
17855        doc(cfg(any(
17856            cpp_lib_version = "5.11.3",
17857            cpp_lib_version = "5.12.2",
17858            cpp_lib_version = "5.13.0",
17859            cpp_lib_version = "5.14.0"
17860        )))
17861    )]
17862    #[cfg(any(
17863        any(
17864            cpp_lib_version = "5.11.3",
17865            cpp_lib_version = "5.12.2",
17866            cpp_lib_version = "5.13.0",
17867            cpp_lib_version = "5.14.0"
17868        ),
17869        feature = "ritual_rustdoc"
17870    ))]
17871    pub unsafe fn is_detached(&self) -> bool {
17872        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_isDetached(
17873            self as *const crate::QVectorOfQJoint,
17874        )
17875    }
17876
17877    /// <p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
17878    ///
17879    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::isEmpty() const```</span>.
17880    ///
17881    /// <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the vector has size 0; otherwise returns <code>false</code>.</p>
17882    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
17883    #[inline(always)]
17884    #[cfg_attr(
17885        feature = "ritual_rustdoc_nightly",
17886        doc(cfg(any(
17887            cpp_lib_version = "5.11.3",
17888            cpp_lib_version = "5.12.2",
17889            cpp_lib_version = "5.13.0",
17890            cpp_lib_version = "5.14.0"
17891        )))
17892    )]
17893    #[cfg(any(
17894        any(
17895            cpp_lib_version = "5.11.3",
17896            cpp_lib_version = "5.12.2",
17897            cpp_lib_version = "5.13.0",
17898            cpp_lib_version = "5.14.0"
17899        ),
17900        feature = "ritual_rustdoc"
17901    ))]
17902    pub unsafe fn is_empty(&self) -> bool {
17903        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_isEmpty(
17904            self as *const crate::QVectorOfQJoint,
17905        )
17906    }
17907
17908    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::isSharedWith(const QVector<Qt3DCore::QJoint*>& other) const```</span>.
17909    #[inline(always)]
17910    #[cfg_attr(
17911        feature = "ritual_rustdoc_nightly",
17912        doc(cfg(any(
17913            cpp_lib_version = "5.11.3",
17914            cpp_lib_version = "5.12.2",
17915            cpp_lib_version = "5.13.0",
17916            cpp_lib_version = "5.14.0"
17917        )))
17918    )]
17919    #[cfg(any(
17920        any(
17921            cpp_lib_version = "5.11.3",
17922            cpp_lib_version = "5.12.2",
17923            cpp_lib_version = "5.13.0",
17924            cpp_lib_version = "5.14.0"
17925        ),
17926        feature = "ritual_rustdoc"
17927    ))]
17928    pub unsafe fn is_shared_with(
17929        &self,
17930        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
17931    ) -> bool {
17932        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_isSharedWith(
17933            self as *const crate::QVectorOfQJoint,
17934            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(other)
17935                .as_raw_ptr(),
17936        )
17937    }
17938
17939    /// <p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
17940    ///
17941    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::last()```</span>.
17942    ///
17943    /// <a href="http://doc.qt.io/qt-5/qvector.html#last">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a reference to the last item in the vector. This function assumes that the vector isn't empty.</p>
17944    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#constLast">constLast</a>().</p></div>
17945    #[inline(always)]
17946    #[cfg_attr(
17947        feature = "ritual_rustdoc_nightly",
17948        doc(cfg(any(
17949            cpp_lib_version = "5.11.3",
17950            cpp_lib_version = "5.12.2",
17951            cpp_lib_version = "5.13.0",
17952            cpp_lib_version = "5.14.0"
17953        )))
17954    )]
17955    #[cfg(any(
17956        any(
17957            cpp_lib_version = "5.11.3",
17958            cpp_lib_version = "5.12.2",
17959            cpp_lib_version = "5.13.0",
17960            cpp_lib_version = "5.14.0"
17961        ),
17962        feature = "ritual_rustdoc"
17963    ))]
17964    pub unsafe fn last_mut(&self) -> *mut *mut crate::QJoint {
17965        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_last(
17966            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
17967        )
17968    }
17969
17970    /// <p>This is an overloaded function.</p>
17971    ///
17972    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint*& QVector<Qt3DCore::QJoint*>::last() const```</span>.
17973    ///
17974    /// <a href="http://doc.qt.io/qt-5/qvector.html#last-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
17975    #[inline(always)]
17976    #[cfg_attr(
17977        feature = "ritual_rustdoc_nightly",
17978        doc(cfg(any(
17979            cpp_lib_version = "5.11.3",
17980            cpp_lib_version = "5.12.2",
17981            cpp_lib_version = "5.13.0",
17982            cpp_lib_version = "5.14.0"
17983        )))
17984    )]
17985    #[cfg(any(
17986        any(
17987            cpp_lib_version = "5.11.3",
17988            cpp_lib_version = "5.12.2",
17989            cpp_lib_version = "5.13.0",
17990            cpp_lib_version = "5.14.0"
17991        ),
17992        feature = "ritual_rustdoc"
17993    ))]
17994    pub unsafe fn last(&self) -> *const *mut crate::QJoint {
17995        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_last1(
17996            self as *const crate::QVectorOfQJoint,
17997        )
17998    }
17999
18000    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
18001    ///
18002    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::lastIndexOf(const Qt3DCore::QJoint*& t, int from = …) const```</span>.
18003    ///
18004    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
18005    /// <p>Example:</p>
18006    /// <pre class="cpp">
18007    ///
18008    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
18009    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
18010    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
18011    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
18012    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
18013    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
18014    ///
18015    /// </pre>
18016    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
18017    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
18018    #[inline(always)]
18019    #[cfg_attr(
18020        feature = "ritual_rustdoc_nightly",
18021        doc(cfg(any(
18022            cpp_lib_version = "5.11.3",
18023            cpp_lib_version = "5.12.2",
18024            cpp_lib_version = "5.13.0",
18025            cpp_lib_version = "5.14.0"
18026        )))
18027    )]
18028    #[cfg(any(
18029        any(
18030            cpp_lib_version = "5.11.3",
18031            cpp_lib_version = "5.12.2",
18032            cpp_lib_version = "5.13.0",
18033            cpp_lib_version = "5.14.0"
18034        ),
18035        feature = "ritual_rustdoc"
18036    ))]
18037    pub unsafe fn last_index_of_2a(
18038        &self,
18039        t: *const *mut crate::QJoint,
18040        from: ::std::os::raw::c_int,
18041    ) -> ::std::os::raw::c_int {
18042        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_lastIndexOf(
18043            self as *const crate::QVectorOfQJoint,
18044            t,
18045            from,
18046        )
18047    }
18048
18049    /// <p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
18050    ///
18051    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::lastIndexOf(const Qt3DCore::QJoint*& t) const```</span>.
18052    ///
18053    /// <a href="http://doc.qt.io/qt-5/qvector.html#lastIndexOf">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the index position of the last occurrence of the value <i>value</i> in the vector, searching backward from index position <i>from</i>. If <i>from</i> is -1 (the default), the search starts at the last item. Returns -1 if no item matched.</p>
18054    /// <p>Example:</p>
18055    /// <pre class="cpp">
18056    ///
18057    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qlist.html">QList</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
18058    ///   vector <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"C"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"B"</span> <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="string">"A"</span>;
18059    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span>);        <span class="comment">// returns 3</span>
18060    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">3</span>);     <span class="comment">// returns 3</span>
18061    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"B"</span><span class="operator">,</span> <span class="number">2</span>);     <span class="comment">// returns 1</span>
18062    ///   vector<span class="operator">.</span>lastIndexOf(<span class="string">"X"</span>);        <span class="comment">// returns -1</span>
18063    ///
18064    /// </pre>
18065    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
18066    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#indexOf">indexOf</a>().</p></div>
18067    #[inline(always)]
18068    #[cfg_attr(
18069        feature = "ritual_rustdoc_nightly",
18070        doc(cfg(any(
18071            cpp_lib_version = "5.11.3",
18072            cpp_lib_version = "5.12.2",
18073            cpp_lib_version = "5.13.0",
18074            cpp_lib_version = "5.14.0"
18075        )))
18076    )]
18077    #[cfg(any(
18078        any(
18079            cpp_lib_version = "5.11.3",
18080            cpp_lib_version = "5.12.2",
18081            cpp_lib_version = "5.13.0",
18082            cpp_lib_version = "5.14.0"
18083        ),
18084        feature = "ritual_rustdoc"
18085    ))]
18086    pub unsafe fn last_index_of_1a(&self, t: *const *mut crate::QJoint) -> ::std::os::raw::c_int {
18087        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_lastIndexOf1(
18088            self as *const crate::QVectorOfQJoint,
18089            t,
18090        )
18091    }
18092
18093    /// <p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
18094    ///
18095    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::length() const```</span>.
18096    ///
18097    /// <a href="http://doc.qt.io/qt-5/qvector.html#length">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Same as <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>().</p>
18098    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
18099    /// <p>This function was introduced in  Qt 5.2.</p>
18100    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#count-1">count</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#length">QList::length</a>().</p></div>
18101    #[inline(always)]
18102    #[cfg_attr(
18103        feature = "ritual_rustdoc_nightly",
18104        doc(cfg(any(
18105            cpp_lib_version = "5.11.3",
18106            cpp_lib_version = "5.12.2",
18107            cpp_lib_version = "5.13.0",
18108            cpp_lib_version = "5.14.0"
18109        )))
18110    )]
18111    #[cfg(any(
18112        any(
18113            cpp_lib_version = "5.11.3",
18114            cpp_lib_version = "5.12.2",
18115            cpp_lib_version = "5.13.0",
18116            cpp_lib_version = "5.14.0"
18117        ),
18118        feature = "ritual_rustdoc"
18119    ))]
18120    pub unsafe fn length(&self) -> ::std::os::raw::c_int {
18121        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_length(
18122            self as *const crate::QVectorOfQJoint,
18123        )
18124    }
18125
18126    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
18127    ///
18128    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*> QVector<Qt3DCore::QJoint*>::mid(int pos, int len = …) const```</span>.
18129    ///
18130    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
18131    #[inline(always)]
18132    #[cfg_attr(
18133        feature = "ritual_rustdoc_nightly",
18134        doc(cfg(any(
18135            cpp_lib_version = "5.11.3",
18136            cpp_lib_version = "5.12.2",
18137            cpp_lib_version = "5.13.0",
18138            cpp_lib_version = "5.14.0"
18139        )))
18140    )]
18141    #[cfg(any(
18142        any(
18143            cpp_lib_version = "5.11.3",
18144            cpp_lib_version = "5.12.2",
18145            cpp_lib_version = "5.13.0",
18146            cpp_lib_version = "5.14.0"
18147        ),
18148        feature = "ritual_rustdoc"
18149    ))]
18150    pub unsafe fn mid_2a(
18151        &self,
18152        pos: ::std::os::raw::c_int,
18153        len: ::std::os::raw::c_int,
18154    ) -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
18155        let ffi_result = {
18156            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_mid(
18157                self as *const crate::QVectorOfQJoint,
18158                pos,
18159                len,
18160            )
18161        };
18162        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
18163    }
18164
18165    /// <p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p>
18166    ///
18167    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*> QVector<Qt3DCore::QJoint*>::mid(int pos) const```</span>.
18168    ///
18169    /// <a href="http://doc.qt.io/qt-5/qvector.html#mid">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a sub-vector which contains elements from this vector, starting at position <i>pos</i>. If <i>length</i> is -1 (the default), all elements after <i>pos</i> are included; otherwise <i>length</i> elements (or all remaining elements if there are less than <i>length</i> elements) are included.</p></div>
18170    #[inline(always)]
18171    #[cfg_attr(
18172        feature = "ritual_rustdoc_nightly",
18173        doc(cfg(any(
18174            cpp_lib_version = "5.11.3",
18175            cpp_lib_version = "5.12.2",
18176            cpp_lib_version = "5.13.0",
18177            cpp_lib_version = "5.14.0"
18178        )))
18179    )]
18180    #[cfg(any(
18181        any(
18182            cpp_lib_version = "5.11.3",
18183            cpp_lib_version = "5.12.2",
18184            cpp_lib_version = "5.13.0",
18185            cpp_lib_version = "5.14.0"
18186        ),
18187        feature = "ritual_rustdoc"
18188    ))]
18189    pub unsafe fn mid_1a(
18190        &self,
18191        pos: ::std::os::raw::c_int,
18192    ) -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
18193        let ffi_result = {
18194            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_mid1(
18195                self as *const crate::QVectorOfQJoint,
18196                pos,
18197            )
18198        };
18199        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
18200    }
18201
18202    /// <p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
18203    ///
18204    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::move(int from, int to)```</span>.
18205    ///
18206    /// <a href="http://doc.qt.io/qt-5/qvector.html#move">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Moves the item at index position <i>from</i> to index position <i>to</i>.</p>
18207    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
18208    /// <p>This function was introduced in  Qt 5.6.</p>
18209    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qlist.html#move">QList::move</a>().</p></div>
18210    #[inline(always)]
18211    #[cfg_attr(
18212        feature = "ritual_rustdoc_nightly",
18213        doc(cfg(any(
18214            cpp_lib_version = "5.11.3",
18215            cpp_lib_version = "5.12.2",
18216            cpp_lib_version = "5.13.0",
18217            cpp_lib_version = "5.14.0"
18218        )))
18219    )]
18220    #[cfg(any(
18221        any(
18222            cpp_lib_version = "5.11.3",
18223            cpp_lib_version = "5.12.2",
18224            cpp_lib_version = "5.13.0",
18225            cpp_lib_version = "5.14.0"
18226        ),
18227        feature = "ritual_rustdoc"
18228    ))]
18229    pub unsafe fn move_(&self, from: ::std::os::raw::c_int, to: ::std::os::raw::c_int) {
18230        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_move(
18231            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18232            from,
18233            to,
18234        )
18235    }
18236
18237    /// <p>Constructs an empty vector.</p>
18238    ///
18239    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QJoint*>::QVector()```</span>.
18240    ///
18241    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs an empty vector.</p>
18242    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
18243    #[inline(always)]
18244    #[cfg_attr(
18245        feature = "ritual_rustdoc_nightly",
18246        doc(cfg(any(
18247            cpp_lib_version = "5.11.3",
18248            cpp_lib_version = "5.12.2",
18249            cpp_lib_version = "5.13.0",
18250            cpp_lib_version = "5.14.0"
18251        )))
18252    )]
18253    #[cfg(any(
18254        any(
18255            cpp_lib_version = "5.11.3",
18256            cpp_lib_version = "5.12.2",
18257            cpp_lib_version = "5.13.0",
18258            cpp_lib_version = "5.14.0"
18259        ),
18260        feature = "ritual_rustdoc"
18261    ))]
18262    pub unsafe fn new_0a() -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
18263        let ffi_result = { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_QVector() };
18264        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
18265    }
18266
18267    /// <p>Constructs a vector with an initial size of <i>size</i> elements.</p>
18268    ///
18269    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QJoint*>::QVector(int size)```</span>.
18270    ///
18271    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements.</p>
18272    /// <p>The elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>.</p>
18273    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
18274    #[inline(always)]
18275    #[cfg_attr(
18276        feature = "ritual_rustdoc_nightly",
18277        doc(cfg(any(
18278            cpp_lib_version = "5.11.3",
18279            cpp_lib_version = "5.12.2",
18280            cpp_lib_version = "5.13.0",
18281            cpp_lib_version = "5.14.0"
18282        )))
18283    )]
18284    #[cfg(any(
18285        any(
18286            cpp_lib_version = "5.11.3",
18287            cpp_lib_version = "5.12.2",
18288            cpp_lib_version = "5.13.0",
18289            cpp_lib_version = "5.14.0"
18290        ),
18291        feature = "ritual_rustdoc"
18292    ))]
18293    pub unsafe fn new_1a(
18294        size: ::std::os::raw::c_int,
18295    ) -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
18296        let ffi_result =
18297            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_QVector1(size) };
18298        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
18299    }
18300
18301    /// <p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
18302    ///
18303    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QJoint*>::QVector(int size, const Qt3DCore::QJoint*& t)```</span>.
18304    ///
18305    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-2">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a vector with an initial size of <i>size</i> elements. Each element is initialized with <i>value</i>.</p>
18306    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
18307    #[inline(always)]
18308    #[cfg_attr(
18309        feature = "ritual_rustdoc_nightly",
18310        doc(cfg(any(
18311            cpp_lib_version = "5.11.3",
18312            cpp_lib_version = "5.12.2",
18313            cpp_lib_version = "5.13.0",
18314            cpp_lib_version = "5.14.0"
18315        )))
18316    )]
18317    #[cfg(any(
18318        any(
18319            cpp_lib_version = "5.11.3",
18320            cpp_lib_version = "5.12.2",
18321            cpp_lib_version = "5.13.0",
18322            cpp_lib_version = "5.14.0"
18323        ),
18324        feature = "ritual_rustdoc"
18325    ))]
18326    pub unsafe fn new_2a(
18327        size: ::std::os::raw::c_int,
18328        t: *const *mut crate::QJoint,
18329    ) -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
18330        let ffi_result =
18331            { crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_QVector2(size, t) };
18332        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
18333    }
18334
18335    /// <p>Constructs a copy of <i>other</i>.</p>
18336    ///
18337    /// Calls C++ function: <span style='color: green;'>```[constructor] void QVector<Qt3DCore::QJoint*>::QVector(const QVector<Qt3DCore::QJoint*>& v)```</span>.
18338    ///
18339    /// <a href="http://doc.qt.io/qt-5/qvector.html#QVector-3">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Constructs a copy of <i>other</i>.</p>
18340    /// <p>This operation takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">constant time</a>, because <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> is <a href="http://doc.qt.io/qt-5/implicit-sharing.html">implicitly shared</a>. This makes returning a <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and that takes <a href="http://doc.qt.io/qt-5/containers.html#algorithmic-complexity">linear time</a>.</p>
18341    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-eq">operator=</a>().</p></div>
18342    #[inline(always)]
18343    #[cfg_attr(
18344        feature = "ritual_rustdoc_nightly",
18345        doc(cfg(any(
18346            cpp_lib_version = "5.11.3",
18347            cpp_lib_version = "5.12.2",
18348            cpp_lib_version = "5.13.0",
18349            cpp_lib_version = "5.14.0"
18350        )))
18351    )]
18352    #[cfg(any(
18353        any(
18354            cpp_lib_version = "5.11.3",
18355            cpp_lib_version = "5.12.2",
18356            cpp_lib_version = "5.13.0",
18357            cpp_lib_version = "5.14.0"
18358        ),
18359        feature = "ritual_rustdoc"
18360    ))]
18361    pub unsafe fn new_copy(
18362        v: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
18363    ) -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
18364        let ffi_result = {
18365            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_QVector3(
18366                ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(v)
18367                    .as_raw_ptr(),
18368            )
18369        };
18370        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
18371    }
18372
18373    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p>
18374    ///
18375    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::pop_back()```</span>.
18376    ///
18377    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
18378    #[inline(always)]
18379    #[cfg_attr(
18380        feature = "ritual_rustdoc_nightly",
18381        doc(cfg(any(
18382            cpp_lib_version = "5.11.3",
18383            cpp_lib_version = "5.12.2",
18384            cpp_lib_version = "5.13.0",
18385            cpp_lib_version = "5.14.0"
18386        )))
18387    )]
18388    #[cfg(any(
18389        any(
18390            cpp_lib_version = "5.11.3",
18391            cpp_lib_version = "5.12.2",
18392            cpp_lib_version = "5.13.0",
18393            cpp_lib_version = "5.14.0"
18394        ),
18395        feature = "ritual_rustdoc"
18396    ))]
18397    pub unsafe fn pop_back(&self) {
18398        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_pop_back(
18399            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18400        )
18401    }
18402
18403    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p>
18404    ///
18405    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::pop_front()```</span>.
18406    ///
18407    /// <a href="http://doc.qt.io/qt-5/qvector.html#pop_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
18408    #[inline(always)]
18409    #[cfg_attr(
18410        feature = "ritual_rustdoc_nightly",
18411        doc(cfg(any(
18412            cpp_lib_version = "5.11.3",
18413            cpp_lib_version = "5.12.2",
18414            cpp_lib_version = "5.13.0",
18415            cpp_lib_version = "5.14.0"
18416        )))
18417    )]
18418    #[cfg(any(
18419        any(
18420            cpp_lib_version = "5.11.3",
18421            cpp_lib_version = "5.12.2",
18422            cpp_lib_version = "5.13.0",
18423            cpp_lib_version = "5.14.0"
18424        ),
18425        feature = "ritual_rustdoc"
18426    ))]
18427    pub unsafe fn pop_front(&self) {
18428        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_pop_front(
18429            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18430        )
18431    }
18432
18433    /// <p>Inserts <i>value</i> at the beginning of the vector.</p>
18434    ///
18435    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::prepend(const Qt3DCore::QJoint*& t)```</span>.
18436    ///
18437    /// <a href="http://doc.qt.io/qt-5/qvector.html#prepend">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Inserts <i>value</i> at the beginning of the vector.</p>
18438    /// <p>Example:</p>
18439    /// <pre class="cpp">
18440    ///
18441    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type"><a href="http://doc.qt.io/qt-5/qstring.html">QString</a></span><span class="operator">&gt;</span> vector;
18442    ///   vector<span class="operator">.</span>prepend(<span class="string">"one"</span>);
18443    ///   vector<span class="operator">.</span>prepend(<span class="string">"two"</span>);
18444    ///   vector<span class="operator">.</span>prepend(<span class="string">"three"</span>);
18445    ///   <span class="comment">// vector: ["three", "two", "one"]</span>
18446    ///
18447    /// </pre>
18448    /// <p>This is the same as vector.insert(0, <i>value</i>).</p>
18449    /// <p>For large vectors, this operation can be slow (<a href="http://doc.qt.io/qt-5/containers.html#linear-time">linear time</a>), because it requires moving all the items in the vector by one position further in memory. If you want a container class that provides a fast prepend() function, use <a href="http://doc.qt.io/qt-5/qlist.html">QList</a> or <a href="http://doc.qt.io/qt-5/qlinkedlist.html">QLinkedList</a> instead.</p>
18450    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>().</p></div>
18451    #[inline(always)]
18452    #[cfg_attr(
18453        feature = "ritual_rustdoc_nightly",
18454        doc(cfg(any(
18455            cpp_lib_version = "5.11.3",
18456            cpp_lib_version = "5.12.2",
18457            cpp_lib_version = "5.13.0",
18458            cpp_lib_version = "5.14.0"
18459        )))
18460    )]
18461    #[cfg(any(
18462        any(
18463            cpp_lib_version = "5.11.3",
18464            cpp_lib_version = "5.12.2",
18465            cpp_lib_version = "5.13.0",
18466            cpp_lib_version = "5.14.0"
18467        ),
18468        feature = "ritual_rustdoc"
18469    ))]
18470    pub unsafe fn prepend(&self, t: *const *mut crate::QJoint) {
18471        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_prepend(
18472            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18473            t,
18474        )
18475    }
18476
18477    /// <p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p>
18478    ///
18479    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::push_back(const Qt3DCore::QJoint*& t)```</span>.
18480    ///
18481    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_back">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to append(<i>value</i>).</p></div>
18482    #[inline(always)]
18483    #[cfg_attr(
18484        feature = "ritual_rustdoc_nightly",
18485        doc(cfg(any(
18486            cpp_lib_version = "5.11.3",
18487            cpp_lib_version = "5.12.2",
18488            cpp_lib_version = "5.13.0",
18489            cpp_lib_version = "5.14.0"
18490        )))
18491    )]
18492    #[cfg(any(
18493        any(
18494            cpp_lib_version = "5.11.3",
18495            cpp_lib_version = "5.12.2",
18496            cpp_lib_version = "5.13.0",
18497            cpp_lib_version = "5.14.0"
18498        ),
18499        feature = "ritual_rustdoc"
18500    ))]
18501    pub unsafe fn push_back(&self, t: *const *mut crate::QJoint) {
18502        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_push_back(
18503            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18504            t,
18505        )
18506    }
18507
18508    /// <p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p>
18509    ///
18510    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::push_front(const Qt3DCore::QJoint*& t)```</span>.
18511    ///
18512    /// <a href="http://doc.qt.io/qt-5/qvector.html#push_front">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to prepend(<i>value</i>).</p></div>
18513    #[inline(always)]
18514    #[cfg_attr(
18515        feature = "ritual_rustdoc_nightly",
18516        doc(cfg(any(
18517            cpp_lib_version = "5.11.3",
18518            cpp_lib_version = "5.12.2",
18519            cpp_lib_version = "5.13.0",
18520            cpp_lib_version = "5.14.0"
18521        )))
18522    )]
18523    #[cfg(any(
18524        any(
18525            cpp_lib_version = "5.11.3",
18526            cpp_lib_version = "5.12.2",
18527            cpp_lib_version = "5.13.0",
18528            cpp_lib_version = "5.14.0"
18529        ),
18530        feature = "ritual_rustdoc"
18531    ))]
18532    pub unsafe fn push_front(&self, t: *const *mut crate::QJoint) {
18533        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_push_front(
18534            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18535            t,
18536        )
18537    }
18538
18539    /// <p>This is an overloaded function.</p>
18540    ///
18541    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::remove(int i)```</span>.
18542    ///
18543    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
18544    /// <p>Removes the element at index position <i>i</i>.</p>
18545    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
18546    #[inline(always)]
18547    #[cfg_attr(
18548        feature = "ritual_rustdoc_nightly",
18549        doc(cfg(any(
18550            cpp_lib_version = "5.11.3",
18551            cpp_lib_version = "5.12.2",
18552            cpp_lib_version = "5.13.0",
18553            cpp_lib_version = "5.14.0"
18554        )))
18555    )]
18556    #[cfg(any(
18557        any(
18558            cpp_lib_version = "5.11.3",
18559            cpp_lib_version = "5.12.2",
18560            cpp_lib_version = "5.13.0",
18561            cpp_lib_version = "5.14.0"
18562        ),
18563        feature = "ritual_rustdoc"
18564    ))]
18565    pub unsafe fn remove_1a(&self, i: ::std::os::raw::c_int) {
18566        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_remove(
18567            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18568            i,
18569        )
18570    }
18571
18572    /// <p>This is an overloaded function.</p>
18573    ///
18574    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::remove(int i, int n)```</span>.
18575    ///
18576    /// <a href="http://doc.qt.io/qt-5/qvector.html#remove-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
18577    /// <p>Removes <i>count</i> elements from the middle of the vector, starting at index position <i>i</i>.</p>
18578    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#insert">insert</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#replace">replace</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#fill">fill</a>().</p></div>
18579    #[inline(always)]
18580    #[cfg_attr(
18581        feature = "ritual_rustdoc_nightly",
18582        doc(cfg(any(
18583            cpp_lib_version = "5.11.3",
18584            cpp_lib_version = "5.12.2",
18585            cpp_lib_version = "5.13.0",
18586            cpp_lib_version = "5.14.0"
18587        )))
18588    )]
18589    #[cfg(any(
18590        any(
18591            cpp_lib_version = "5.11.3",
18592            cpp_lib_version = "5.12.2",
18593            cpp_lib_version = "5.13.0",
18594            cpp_lib_version = "5.14.0"
18595        ),
18596        feature = "ritual_rustdoc"
18597    ))]
18598    pub unsafe fn remove_2a(&self, i: ::std::os::raw::c_int, n: ::std::os::raw::c_int) {
18599        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_remove1(
18600            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18601            i,
18602            n,
18603        )
18604    }
18605
18606    /// <p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
18607    ///
18608    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::removeAll(const Qt3DCore::QJoint*& t)```</span>.
18609    ///
18610    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAll">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes all elements that compare equal to <i>t</i> from the vector. Returns the number of elements removed, if any.</p>
18611    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
18612    /// <p>This function was introduced in  Qt 5.4.</p>
18613    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeOne">removeOne</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAll">QList::removeAll</a>().</p></div>
18614    #[inline(always)]
18615    #[cfg_attr(
18616        feature = "ritual_rustdoc_nightly",
18617        doc(cfg(any(
18618            cpp_lib_version = "5.11.3",
18619            cpp_lib_version = "5.12.2",
18620            cpp_lib_version = "5.13.0",
18621            cpp_lib_version = "5.14.0"
18622        )))
18623    )]
18624    #[cfg(any(
18625        any(
18626            cpp_lib_version = "5.11.3",
18627            cpp_lib_version = "5.12.2",
18628            cpp_lib_version = "5.13.0",
18629            cpp_lib_version = "5.14.0"
18630        ),
18631        feature = "ritual_rustdoc"
18632    ))]
18633    pub unsafe fn remove_all(&self, t: *const *mut crate::QJoint) -> ::std::os::raw::c_int {
18634        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_removeAll(
18635            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18636            t,
18637        )
18638    }
18639
18640    /// <p>Removes the element at index position <i>i</i>. Equivalent to</p>
18641    ///
18642    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::removeAt(int i)```</span>.
18643    ///
18644    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i>. Equivalent to</p>
18645    /// <pre class="cpp">
18646    ///
18647    ///   remove(i);
18648    ///
18649    /// </pre>
18650    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
18651    /// <p>This function was introduced in  Qt 5.2.</p>
18652    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeAt">QList::removeAt</a>().</p></div>
18653    #[inline(always)]
18654    #[cfg_attr(
18655        feature = "ritual_rustdoc_nightly",
18656        doc(cfg(any(
18657            cpp_lib_version = "5.11.3",
18658            cpp_lib_version = "5.12.2",
18659            cpp_lib_version = "5.13.0",
18660            cpp_lib_version = "5.14.0"
18661        )))
18662    )]
18663    #[cfg(any(
18664        any(
18665            cpp_lib_version = "5.11.3",
18666            cpp_lib_version = "5.12.2",
18667            cpp_lib_version = "5.13.0",
18668            cpp_lib_version = "5.14.0"
18669        ),
18670        feature = "ritual_rustdoc"
18671    ))]
18672    pub unsafe fn remove_at(&self, i: ::std::os::raw::c_int) {
18673        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_removeAt(
18674            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18675            i,
18676        )
18677    }
18678
18679    /// <p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
18680    ///
18681    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::removeFirst()```</span>.
18682    ///
18683    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector. Calling this function is equivalent to calling remove(0). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
18684    /// <p>This function was introduced in  Qt 5.1.</p>
18685    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
18686    #[inline(always)]
18687    #[cfg_attr(
18688        feature = "ritual_rustdoc_nightly",
18689        doc(cfg(any(
18690            cpp_lib_version = "5.11.3",
18691            cpp_lib_version = "5.12.2",
18692            cpp_lib_version = "5.13.0",
18693            cpp_lib_version = "5.14.0"
18694        )))
18695    )]
18696    #[cfg(any(
18697        any(
18698            cpp_lib_version = "5.11.3",
18699            cpp_lib_version = "5.12.2",
18700            cpp_lib_version = "5.13.0",
18701            cpp_lib_version = "5.14.0"
18702        ),
18703        feature = "ritual_rustdoc"
18704    ))]
18705    pub unsafe fn remove_first(&self) {
18706        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_removeFirst(
18707            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18708        )
18709    }
18710
18711    /// <p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
18712    ///
18713    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::removeLast()```</span>.
18714    ///
18715    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the vector. Calling this function is equivalent to calling remove(<a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>() - 1). The vector must not be empty. If the vector can be empty, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
18716    /// <p>This function was introduced in  Qt 5.1.</p>
18717    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>(), and <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>().</p></div>
18718    #[inline(always)]
18719    #[cfg_attr(
18720        feature = "ritual_rustdoc_nightly",
18721        doc(cfg(any(
18722            cpp_lib_version = "5.11.3",
18723            cpp_lib_version = "5.12.2",
18724            cpp_lib_version = "5.13.0",
18725            cpp_lib_version = "5.14.0"
18726        )))
18727    )]
18728    #[cfg(any(
18729        any(
18730            cpp_lib_version = "5.11.3",
18731            cpp_lib_version = "5.12.2",
18732            cpp_lib_version = "5.13.0",
18733            cpp_lib_version = "5.14.0"
18734        ),
18735        feature = "ritual_rustdoc"
18736    ))]
18737    pub unsafe fn remove_last(&self) {
18738        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_removeLast(
18739            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18740        )
18741    }
18742
18743    /// <p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
18744    ///
18745    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::removeOne(const Qt3DCore::QJoint*& t)```</span>.
18746    ///
18747    /// <a href="http://doc.qt.io/qt-5/qvector.html#removeOne">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first element that compares equal to <i>t</i> from the vector. Returns whether an element was, in fact, removed.</p>
18748    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
18749    /// <p>This function was introduced in  Qt 5.4.</p>
18750    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#removeAll">removeAll</a>() and <a href="http://doc.qt.io/qt-5/qlist.html#removeOne">QList::removeOne</a>().</p></div>
18751    #[inline(always)]
18752    #[cfg_attr(
18753        feature = "ritual_rustdoc_nightly",
18754        doc(cfg(any(
18755            cpp_lib_version = "5.11.3",
18756            cpp_lib_version = "5.12.2",
18757            cpp_lib_version = "5.13.0",
18758            cpp_lib_version = "5.14.0"
18759        )))
18760    )]
18761    #[cfg(any(
18762        any(
18763            cpp_lib_version = "5.11.3",
18764            cpp_lib_version = "5.12.2",
18765            cpp_lib_version = "5.13.0",
18766            cpp_lib_version = "5.14.0"
18767        ),
18768        feature = "ritual_rustdoc"
18769    ))]
18770    pub unsafe fn remove_one(&self, t: *const *mut crate::QJoint) -> bool {
18771        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_removeOne(
18772            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18773            t,
18774        )
18775    }
18776
18777    /// <p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
18778    ///
18779    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::replace(int i, const Qt3DCore::QJoint*& t)```</span>.
18780    ///
18781    /// <a href="http://doc.qt.io/qt-5/qvector.html#replace">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Replaces the item at index position <i>i</i> with <i>value</i>.</p>
18782    /// <p><i>i</i> must be a valid index position in the vector (i.e., 0 &lt;= <i>i</i> &lt; <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>()).</p>
18783    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#remove">remove</a>().</p></div>
18784    #[inline(always)]
18785    #[cfg_attr(
18786        feature = "ritual_rustdoc_nightly",
18787        doc(cfg(any(
18788            cpp_lib_version = "5.11.3",
18789            cpp_lib_version = "5.12.2",
18790            cpp_lib_version = "5.13.0",
18791            cpp_lib_version = "5.14.0"
18792        )))
18793    )]
18794    #[cfg(any(
18795        any(
18796            cpp_lib_version = "5.11.3",
18797            cpp_lib_version = "5.12.2",
18798            cpp_lib_version = "5.13.0",
18799            cpp_lib_version = "5.14.0"
18800        ),
18801        feature = "ritual_rustdoc"
18802    ))]
18803    pub unsafe fn replace(&self, i: ::std::os::raw::c_int, t: *const *mut crate::QJoint) {
18804        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_replace(
18805            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18806            i,
18807            t,
18808        )
18809    }
18810
18811    /// <p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
18812    ///
18813    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::reserve(int size)```</span>.
18814    ///
18815    /// <a href="http://doc.qt.io/qt-5/qvector.html#reserve">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Attempts to allocate memory for at least <i>size</i> elements. If you know in advance how large the vector will be, you should call this function to prevent reallocations and memory fragmentation.</p>
18816    /// <p>If <i>size</i> is an underestimate, the worst that will happen is that the <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> will be a bit slower. If <i>size</i> is an overestimate, you may have used more memory than the normal <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a> growth strategy would have allocated—or you may have used less.</p>
18817    /// <p>An alternative to reserve() is calling <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>(). Whether or not that is faster than reserve() depends on the element type, because <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() default-constructs all elements, and requires assignment to existing entries rather than calling <a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>(), which copy- or move-constructs. For simple types, like <code>int</code> or <code>double</code>, <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() is typically faster, but for anything more complex, you should prefer reserve().</p>
18818    /// <p><b>Warning:</b> If the size passed to <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>() was underestimated, you run out of allocated space and into undefined behavior. This problem does not exist with reserve(), because it treats the size as just a hint.</p>
18819    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
18820    #[inline(always)]
18821    #[cfg_attr(
18822        feature = "ritual_rustdoc_nightly",
18823        doc(cfg(any(
18824            cpp_lib_version = "5.11.3",
18825            cpp_lib_version = "5.12.2",
18826            cpp_lib_version = "5.13.0",
18827            cpp_lib_version = "5.14.0"
18828        )))
18829    )]
18830    #[cfg(any(
18831        any(
18832            cpp_lib_version = "5.11.3",
18833            cpp_lib_version = "5.12.2",
18834            cpp_lib_version = "5.13.0",
18835            cpp_lib_version = "5.14.0"
18836        ),
18837        feature = "ritual_rustdoc"
18838    ))]
18839    pub unsafe fn reserve(&self, size: ::std::os::raw::c_int) {
18840        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_reserve(
18841            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18842            size,
18843        )
18844    }
18845
18846    /// <p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
18847    ///
18848    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::resize(int size)```</span>.
18849    ///
18850    /// <a href="http://doc.qt.io/qt-5/qvector.html#resize">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Sets the size of the vector to <i>size</i>. If <i>size</i> is greater than the current size, elements are added to the end; the new elements are initialized with a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If <i>size</i> is less than the current size, elements are removed from the end.</p>
18851    /// <p>Since Qt 5.6, resize() doesn't shrink the capacity anymore. To shed excess capacity, use <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
18852    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p></div>
18853    #[inline(always)]
18854    #[cfg_attr(
18855        feature = "ritual_rustdoc_nightly",
18856        doc(cfg(any(
18857            cpp_lib_version = "5.11.3",
18858            cpp_lib_version = "5.12.2",
18859            cpp_lib_version = "5.13.0",
18860            cpp_lib_version = "5.14.0"
18861        )))
18862    )]
18863    #[cfg(any(
18864        any(
18865            cpp_lib_version = "5.11.3",
18866            cpp_lib_version = "5.12.2",
18867            cpp_lib_version = "5.13.0",
18868            cpp_lib_version = "5.14.0"
18869        ),
18870        feature = "ritual_rustdoc"
18871    ))]
18872    pub unsafe fn resize(&self, size: ::std::os::raw::c_int) {
18873        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_resize(
18874            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18875            size,
18876        )
18877    }
18878
18879    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::setSharable(bool sharable)```</span>.
18880    #[inline(always)]
18881    #[cfg_attr(
18882        feature = "ritual_rustdoc_nightly",
18883        doc(cfg(any(
18884            cpp_lib_version = "5.11.3",
18885            cpp_lib_version = "5.12.2",
18886            cpp_lib_version = "5.13.0",
18887            cpp_lib_version = "5.14.0"
18888        )))
18889    )]
18890    #[cfg(any(
18891        any(
18892            cpp_lib_version = "5.11.3",
18893            cpp_lib_version = "5.12.2",
18894            cpp_lib_version = "5.13.0",
18895            cpp_lib_version = "5.14.0"
18896        ),
18897        feature = "ritual_rustdoc"
18898    ))]
18899    pub unsafe fn set_sharable(&self, sharable: bool) {
18900        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_setSharable(
18901            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18902            sharable,
18903        )
18904    }
18905
18906    /// <p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
18907    ///
18908    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::shrink_to_fit()```</span>.
18909    ///
18910    /// <a href="http://doc.qt.io/qt-5/qvector.html#shrink_to_fit">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This function is provided for STL compatibility. It is equivalent to <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">squeeze</a>().</p>
18911    /// <p>This function was introduced in  Qt 5.10.</p></div>
18912    #[inline(always)]
18913    #[cfg_attr(
18914        feature = "ritual_rustdoc_nightly",
18915        doc(cfg(any(
18916            cpp_lib_version = "5.11.3",
18917            cpp_lib_version = "5.12.2",
18918            cpp_lib_version = "5.13.0",
18919            cpp_lib_version = "5.14.0"
18920        )))
18921    )]
18922    #[cfg(any(
18923        any(
18924            cpp_lib_version = "5.11.3",
18925            cpp_lib_version = "5.12.2",
18926            cpp_lib_version = "5.13.0",
18927            cpp_lib_version = "5.14.0"
18928        ),
18929        feature = "ritual_rustdoc"
18930    ))]
18931    pub unsafe fn shrink_to_fit(&self) {
18932        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_shrink_to_fit(
18933            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18934        )
18935    }
18936
18937    /// <p>Returns the number of items in the vector.</p>
18938    ///
18939    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::size() const```</span>.
18940    ///
18941    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
18942    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
18943    #[inline(always)]
18944    #[cfg_attr(
18945        feature = "ritual_rustdoc_nightly",
18946        doc(cfg(any(
18947            cpp_lib_version = "5.11.3",
18948            cpp_lib_version = "5.12.2",
18949            cpp_lib_version = "5.13.0",
18950            cpp_lib_version = "5.14.0"
18951        )))
18952    )]
18953    #[cfg(any(
18954        any(
18955            cpp_lib_version = "5.11.3",
18956            cpp_lib_version = "5.12.2",
18957            cpp_lib_version = "5.13.0",
18958            cpp_lib_version = "5.14.0"
18959        ),
18960        feature = "ritual_rustdoc"
18961    ))]
18962    pub unsafe fn size(&self) -> ::std::os::raw::c_int {
18963        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_size(
18964            self as *const crate::QVectorOfQJoint,
18965        )
18966    }
18967
18968    /// <p>Releases any memory not required to store the items.</p>
18969    ///
18970    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::squeeze()```</span>.
18971    ///
18972    /// <a href="http://doc.qt.io/qt-5/qvector.html#squeeze">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Releases any memory not required to store the items.</p>
18973    /// <p>The sole purpose of this function is to provide a means of fine tuning <a href="http://doc.qt.io/qt-5/qvector.html">QVector</a>'s memory usage. In general, you will rarely ever need to call this function.</p>
18974    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#reserve">reserve</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#capacity">capacity</a>().</p></div>
18975    #[inline(always)]
18976    #[cfg_attr(
18977        feature = "ritual_rustdoc_nightly",
18978        doc(cfg(any(
18979            cpp_lib_version = "5.11.3",
18980            cpp_lib_version = "5.12.2",
18981            cpp_lib_version = "5.13.0",
18982            cpp_lib_version = "5.14.0"
18983        )))
18984    )]
18985    #[cfg(any(
18986        any(
18987            cpp_lib_version = "5.11.3",
18988            cpp_lib_version = "5.12.2",
18989            cpp_lib_version = "5.13.0",
18990            cpp_lib_version = "5.14.0"
18991        ),
18992        feature = "ritual_rustdoc"
18993    ))]
18994    pub unsafe fn squeeze(&self) {
18995        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_squeeze(
18996            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
18997        )
18998    }
18999
19000    /// <p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
19001    ///
19002    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::startsWith(const Qt3DCore::QJoint*& t) const```</span>.
19003    ///
19004    /// <a href="http://doc.qt.io/qt-5/qvector.html#startsWith">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if this vector is not empty and its first item is equal to <i>value</i>; otherwise returns <code>false</code>.</p>
19005    /// <p>This function was introduced in  Qt 4.5.</p>
19006    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#first">first</a>().</p></div>
19007    #[inline(always)]
19008    #[cfg_attr(
19009        feature = "ritual_rustdoc_nightly",
19010        doc(cfg(any(
19011            cpp_lib_version = "5.11.3",
19012            cpp_lib_version = "5.12.2",
19013            cpp_lib_version = "5.13.0",
19014            cpp_lib_version = "5.14.0"
19015        )))
19016    )]
19017    #[cfg(any(
19018        any(
19019            cpp_lib_version = "5.11.3",
19020            cpp_lib_version = "5.12.2",
19021            cpp_lib_version = "5.13.0",
19022            cpp_lib_version = "5.14.0"
19023        ),
19024        feature = "ritual_rustdoc"
19025    ))]
19026    pub unsafe fn starts_with(&self, t: *const *mut crate::QJoint) -> bool {
19027        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_startsWith(
19028            self as *const crate::QVectorOfQJoint,
19029            t,
19030        )
19031    }
19032
19033    /// <p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
19034    ///
19035    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::swap(QVector<Qt3DCore::QJoint*>& other)```</span>.
19036    ///
19037    /// <a href="http://doc.qt.io/qt-5/qvector.html#swap">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Swaps vector <i>other</i> with this vector. This operation is very fast and never fails.</p>
19038    /// <p>This function was introduced in  Qt 4.8.</p></div>
19039    #[inline(always)]
19040    #[cfg_attr(
19041        feature = "ritual_rustdoc_nightly",
19042        doc(cfg(any(
19043            cpp_lib_version = "5.11.3",
19044            cpp_lib_version = "5.12.2",
19045            cpp_lib_version = "5.13.0",
19046            cpp_lib_version = "5.14.0"
19047        )))
19048    )]
19049    #[cfg(any(
19050        any(
19051            cpp_lib_version = "5.11.3",
19052            cpp_lib_version = "5.12.2",
19053            cpp_lib_version = "5.13.0",
19054            cpp_lib_version = "5.14.0"
19055        ),
19056        feature = "ritual_rustdoc"
19057    ))]
19058    pub unsafe fn swap(
19059        &self,
19060        other: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
19061    ) {
19062        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_swap(
19063            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
19064            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(other)
19065                .as_raw_ptr() as *mut crate::QVectorOfQJoint,
19066        )
19067    }
19068
19069    /// <p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
19070    ///
19071    /// Calls C++ function: <span style='color: green;'>```void QVector<Qt3DCore::QJoint*>::swapItemsAt(int i, int j)```</span>.
19072    ///
19073    /// <a href="http://doc.qt.io/qt-5/qvector.html#swapItemsAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Exchange the item at index position <i>i</i> with the item at index position <i>j</i>. This function assumes that both <i>i</i> and <i>j</i> are at least 0 but less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>(). To avoid failure, test that both <i>i</i> and <i>j</i> are at least 0 and less than <a href="http://doc.qt.io/qt-5/qvector.html#size">size</a>().</p>
19074    /// <p>This function was introduced in  Qt 5.14.</p></div>
19075    #[inline(always)]
19076    #[cfg_attr(
19077        feature = "ritual_rustdoc_nightly",
19078        doc(cfg(cpp_lib_version = "5.14.0"))
19079    )]
19080    #[cfg(any(cpp_lib_version = "5.14.0", feature = "ritual_rustdoc"))]
19081    pub unsafe fn swap_items_at(&self, i: ::std::os::raw::c_int, j: ::std::os::raw::c_int) {
19082        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_swapItemsAt(
19083            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
19084            i,
19085            j,
19086        )
19087    }
19088
19089    /// <p>Removes the element at index position <i>i</i> and returns it.</p>
19090    ///
19091    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* QVector<Qt3DCore::QJoint*>::takeAt(int i)```</span>.
19092    ///
19093    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeAt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the element at index position <i>i</i> and returns it.</p>
19094    /// <p>Equivalent to</p>
19095    /// <pre class="cpp">
19096    ///
19097    ///   T t <span class="operator">=</span> at(i);
19098    ///   remove(i);
19099    ///   <span class="keyword">return</span> t;
19100    ///
19101    /// </pre>
19102    /// <p>Provided for compatibility with <a href="http://doc.qt.io/qt-5/qlist.html">QList</a>.</p>
19103    /// <p>This function was introduced in  Qt 5.2.</p>
19104    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>(), <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>(), and <a href="http://doc.qt.io/qt-5/qlist.html#takeAt">QList::takeAt</a>().</p></div>
19105    #[inline(always)]
19106    #[cfg_attr(
19107        feature = "ritual_rustdoc_nightly",
19108        doc(cfg(any(
19109            cpp_lib_version = "5.11.3",
19110            cpp_lib_version = "5.12.2",
19111            cpp_lib_version = "5.13.0",
19112            cpp_lib_version = "5.14.0"
19113        )))
19114    )]
19115    #[cfg(any(
19116        any(
19117            cpp_lib_version = "5.11.3",
19118            cpp_lib_version = "5.12.2",
19119            cpp_lib_version = "5.13.0",
19120            cpp_lib_version = "5.14.0"
19121        ),
19122        feature = "ritual_rustdoc"
19123    ))]
19124    pub unsafe fn take_at(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QJoint> {
19125        let ffi_result = {
19126            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_takeAt(
19127                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
19128                i,
19129            )
19130        };
19131        ::qt_core::QPtr::from_raw(ffi_result)
19132    }
19133
19134    /// <p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
19135    ///
19136    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* QVector<Qt3DCore::QJoint*>::takeFirst()```</span>.
19137    ///
19138    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the first item in the vector and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
19139    /// <p>This function was introduced in  Qt 5.1.</p>
19140    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeLast">takeLast</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeFirst">removeFirst</a>().</p></div>
19141    #[inline(always)]
19142    #[cfg_attr(
19143        feature = "ritual_rustdoc_nightly",
19144        doc(cfg(any(
19145            cpp_lib_version = "5.11.3",
19146            cpp_lib_version = "5.12.2",
19147            cpp_lib_version = "5.13.0",
19148            cpp_lib_version = "5.14.0"
19149        )))
19150    )]
19151    #[cfg(any(
19152        any(
19153            cpp_lib_version = "5.11.3",
19154            cpp_lib_version = "5.12.2",
19155            cpp_lib_version = "5.13.0",
19156            cpp_lib_version = "5.14.0"
19157        ),
19158        feature = "ritual_rustdoc"
19159    ))]
19160    pub unsafe fn take_first(&self) -> ::qt_core::QPtr<crate::QJoint> {
19161        let ffi_result = {
19162            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_takeFirst(
19163                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
19164            )
19165        };
19166        ::qt_core::QPtr::from_raw(ffi_result)
19167    }
19168
19169    /// <p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
19170    ///
19171    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* QVector<Qt3DCore::QJoint*>::takeLast()```</span>.
19172    ///
19173    /// <a href="http://doc.qt.io/qt-5/qvector.html#takeLast">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Removes the last item in the list and returns it. This function assumes the vector is not empty. To avoid failure, call <a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() before calling this function.</p>
19174    /// <p>If you don't use the return value, <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>() is more efficient.</p>
19175    /// <p>This function was introduced in  Qt 5.1.</p>
19176    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#takeFirst">takeFirst</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#removeLast">removeLast</a>().</p></div>
19177    #[inline(always)]
19178    #[cfg_attr(
19179        feature = "ritual_rustdoc_nightly",
19180        doc(cfg(any(
19181            cpp_lib_version = "5.11.3",
19182            cpp_lib_version = "5.12.2",
19183            cpp_lib_version = "5.13.0",
19184            cpp_lib_version = "5.14.0"
19185        )))
19186    )]
19187    #[cfg(any(
19188        any(
19189            cpp_lib_version = "5.11.3",
19190            cpp_lib_version = "5.12.2",
19191            cpp_lib_version = "5.13.0",
19192            cpp_lib_version = "5.14.0"
19193        ),
19194        feature = "ritual_rustdoc"
19195    ))]
19196    pub unsafe fn take_last(&self) -> ::qt_core::QPtr<crate::QJoint> {
19197        let ffi_result = {
19198            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_takeLast(
19199                self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
19200            )
19201        };
19202        ::qt_core::QPtr::from_raw(ffi_result)
19203    }
19204
19205    /// <p>Returns the value at index position <i>i</i> in the vector.</p>
19206    ///
19207    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* QVector<Qt3DCore::QJoint*>::value(int i) const```</span>.
19208    ///
19209    /// <a href="http://doc.qt.io/qt-5/qvector.html#value">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the value at index position <i>i</i> in the vector.</p>
19210    /// <p>If the index <i>i</i> is out of bounds, the function returns a <a href="http://doc.qt.io/qt-5/containers.html#default-constructed-value">default-constructed value</a>. If you are certain that <i>i</i> is within bounds, you can use <a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() instead, which is slightly faster.</p>
19211    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#at">at</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
19212    #[inline(always)]
19213    #[cfg_attr(
19214        feature = "ritual_rustdoc_nightly",
19215        doc(cfg(any(
19216            cpp_lib_version = "5.11.3",
19217            cpp_lib_version = "5.12.2",
19218            cpp_lib_version = "5.13.0",
19219            cpp_lib_version = "5.14.0"
19220        )))
19221    )]
19222    #[cfg(any(
19223        any(
19224            cpp_lib_version = "5.11.3",
19225            cpp_lib_version = "5.12.2",
19226            cpp_lib_version = "5.13.0",
19227            cpp_lib_version = "5.14.0"
19228        ),
19229        feature = "ritual_rustdoc"
19230    ))]
19231    pub unsafe fn value_1a(&self, i: ::std::os::raw::c_int) -> ::qt_core::QPtr<crate::QJoint> {
19232        let ffi_result = {
19233            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_value(
19234                self as *const crate::QVectorOfQJoint,
19235                i,
19236            )
19237        };
19238        ::qt_core::QPtr::from_raw(ffi_result)
19239    }
19240
19241    /// <p>This is an overloaded function.</p>
19242    ///
19243    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* QVector<Qt3DCore::QJoint*>::value(int i, const Qt3DCore::QJoint*& defaultValue) const```</span>.
19244    ///
19245    /// <a href="http://doc.qt.io/qt-5/qvector.html#value-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p>
19246    /// <p>If the index <i>i</i> is out of bounds, the function returns <i>defaultValue</i>.</p></div>
19247    #[inline(always)]
19248    #[cfg_attr(
19249        feature = "ritual_rustdoc_nightly",
19250        doc(cfg(any(
19251            cpp_lib_version = "5.11.3",
19252            cpp_lib_version = "5.12.2",
19253            cpp_lib_version = "5.13.0",
19254            cpp_lib_version = "5.14.0"
19255        )))
19256    )]
19257    #[cfg(any(
19258        any(
19259            cpp_lib_version = "5.11.3",
19260            cpp_lib_version = "5.12.2",
19261            cpp_lib_version = "5.13.0",
19262            cpp_lib_version = "5.14.0"
19263        ),
19264        feature = "ritual_rustdoc"
19265    ))]
19266    pub unsafe fn value_2a(
19267        &self,
19268        i: ::std::os::raw::c_int,
19269        default_value: *const *mut crate::QJoint,
19270    ) -> ::qt_core::QPtr<crate::QJoint> {
19271        let ffi_result = {
19272            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_value1(
19273                self as *const crate::QVectorOfQJoint,
19274                i,
19275                default_value,
19276            )
19277        };
19278        ::qt_core::QPtr::from_raw(ffi_result)
19279    }
19280}
19281
19282#[cfg_attr(
19283    feature = "ritual_rustdoc_nightly",
19284    doc(cfg(any(
19285        cpp_lib_version = "5.14.0",
19286        cpp_lib_version = "5.11.3",
19287        cpp_lib_version = "5.12.2",
19288        cpp_lib_version = "5.13.0"
19289    )))
19290)]
19291#[cfg(any(
19292    any(
19293        cpp_lib_version = "5.14.0",
19294        cpp_lib_version = "5.11.3",
19295        cpp_lib_version = "5.12.2",
19296        cpp_lib_version = "5.13.0"
19297    ),
19298    feature = "ritual_rustdoc"
19299))]
19300
19301impl ::qt_core::AsReceiver for crate::SignalOfQJoint {
19302    type Arguments = (*mut crate::QJoint,);
19303    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
19304        unsafe {
19305            ::qt_core::Receiver::new(
19306                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
19307                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(Qt3DCore::QJoint *)\0"),
19308            )
19309        }
19310    }
19311}
19312
19313impl crate::SignalOfQJoint {
19314    /// Connects this signal to another signal or slot.
19315    ///
19316    /// This is a shortcut for `self.signal().connect(receiver)`.
19317    #[cfg_attr(
19318        feature = "ritual_rustdoc_nightly",
19319        doc(cfg(any(
19320            cpp_lib_version = "5.14.0",
19321            cpp_lib_version = "5.11.3",
19322            cpp_lib_version = "5.12.2",
19323            cpp_lib_version = "5.13.0"
19324        )))
19325    )]
19326    #[cfg(any(
19327        any(
19328            cpp_lib_version = "5.14.0",
19329            cpp_lib_version = "5.11.3",
19330            cpp_lib_version = "5.12.2",
19331            cpp_lib_version = "5.13.0"
19332        ),
19333        feature = "ritual_rustdoc"
19334    ))]
19335
19336    pub unsafe fn connect_with_type<R>(
19337        &self,
19338        connection_type: ::qt_core::ConnectionType,
19339        receiver: R,
19340    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19341    where
19342        R: ::qt_core::AsReceiver,
19343        (*mut crate::QJoint,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19344    {
19345        self.signal().connect_with_type(connection_type, receiver)
19346    }
19347
19348    /// Connects this signal to another signal or slot, using auto connection type.
19349    ///
19350    /// This is a shortcut for `self.signal().connect(receiver)`.
19351    #[cfg_attr(
19352        feature = "ritual_rustdoc_nightly",
19353        doc(cfg(any(
19354            cpp_lib_version = "5.14.0",
19355            cpp_lib_version = "5.11.3",
19356            cpp_lib_version = "5.12.2",
19357            cpp_lib_version = "5.13.0"
19358        )))
19359    )]
19360    #[cfg(any(
19361        any(
19362            cpp_lib_version = "5.14.0",
19363            cpp_lib_version = "5.11.3",
19364            cpp_lib_version = "5.12.2",
19365            cpp_lib_version = "5.13.0"
19366        ),
19367        feature = "ritual_rustdoc"
19368    ))]
19369
19370    pub unsafe fn connect<R>(
19371        &self,
19372        receiver: R,
19373    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19374    where
19375        R: ::qt_core::AsReceiver,
19376        (*mut crate::QJoint,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19377    {
19378        self.signal().connect(receiver)
19379    }
19380}
19381
19382/// Emits a Qt signal with arguments `*mut crate::QJoint`.
19383///
19384/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QJoint*```</span>).
19385///
19386/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
19387#[repr(C)]
19388pub struct SignalOfQJoint {
19389    _unused: u8,
19390}
19391impl SignalOfQJoint {
19392    /// Returns a `Signal` object representing the signal.
19393    ///
19394    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
19395    #[inline(always)]
19396    #[cfg_attr(
19397        feature = "ritual_rustdoc_nightly",
19398        doc(cfg(any(
19399            cpp_lib_version = "5.14.0",
19400            cpp_lib_version = "5.11.3",
19401            cpp_lib_version = "5.12.2",
19402            cpp_lib_version = "5.13.0"
19403        )))
19404    )]
19405    #[cfg(any(
19406        any(
19407            cpp_lib_version = "5.14.0",
19408            cpp_lib_version = "5.11.3",
19409            cpp_lib_version = "5.12.2",
19410            cpp_lib_version = "5.13.0"
19411        ),
19412        feature = "ritual_rustdoc"
19413    ))]
19414    pub fn signal(&self) -> ::qt_core::Signal<(*mut crate::QJoint,)> {
19415        unsafe {
19416            ::qt_core::Signal::new(
19417                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
19418                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(Qt3DCore::QJoint *)\0"),
19419            )
19420        }
19421    }
19422
19423    /// Emits the signal.
19424    #[inline(always)]
19425    #[cfg_attr(
19426        feature = "ritual_rustdoc_nightly",
19427        doc(cfg(any(
19428            cpp_lib_version = "5.14.0",
19429            cpp_lib_version = "5.11.3",
19430            cpp_lib_version = "5.12.2",
19431            cpp_lib_version = "5.13.0"
19432        )))
19433    )]
19434    #[cfg(any(
19435        any(
19436            cpp_lib_version = "5.14.0",
19437            cpp_lib_version = "5.11.3",
19438            cpp_lib_version = "5.12.2",
19439            cpp_lib_version = "5.13.0"
19440        ),
19441        feature = "ritual_rustdoc"
19442    ))]
19443    pub unsafe fn emit(&self, arg0: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QJoint>>) {
19444        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_emit_(
19445            self as *const crate::SignalOfQJoint as *mut crate::SignalOfQJoint,
19446            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QJoint>>::cast_into(arg0).as_raw_ptr()
19447                as *mut crate::QJoint,
19448        )
19449    }
19450
19451    #[inline(always)]
19452    #[cfg_attr(
19453        feature = "ritual_rustdoc_nightly",
19454        doc(cfg(any(
19455            cpp_lib_version = "5.14.0",
19456            cpp_lib_version = "5.11.3",
19457            cpp_lib_version = "5.12.2",
19458            cpp_lib_version = "5.13.0"
19459        )))
19460    )]
19461    #[cfg(any(
19462        any(
19463            cpp_lib_version = "5.14.0",
19464            cpp_lib_version = "5.11.3",
19465            cpp_lib_version = "5.12.2",
19466            cpp_lib_version = "5.13.0"
19467        ),
19468        feature = "ritual_rustdoc"
19469    ))]
19470    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
19471        let ffi_result = {
19472            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_metaObject(self as *const crate::SignalOfQJoint)
19473        };
19474        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
19475    }
19476
19477    /// Creates a new object.
19478    #[inline(always)]
19479    #[cfg_attr(
19480        feature = "ritual_rustdoc_nightly",
19481        doc(cfg(any(
19482            cpp_lib_version = "5.14.0",
19483            cpp_lib_version = "5.11.3",
19484            cpp_lib_version = "5.12.2",
19485            cpp_lib_version = "5.13.0"
19486        )))
19487    )]
19488    #[cfg(any(
19489        any(
19490            cpp_lib_version = "5.14.0",
19491            cpp_lib_version = "5.11.3",
19492            cpp_lib_version = "5.12.2",
19493            cpp_lib_version = "5.13.0"
19494        ),
19495        feature = "ritual_rustdoc"
19496    ))]
19497    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfQJoint> {
19498        let ffi_result = {
19499            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr()
19500        };
19501        ::qt_core::QBox::from_raw(ffi_result)
19502    }
19503
19504    #[inline(always)]
19505    #[cfg_attr(
19506        feature = "ritual_rustdoc_nightly",
19507        doc(cfg(any(
19508            cpp_lib_version = "5.14.0",
19509            cpp_lib_version = "5.11.3",
19510            cpp_lib_version = "5.12.2",
19511            cpp_lib_version = "5.13.0"
19512        )))
19513    )]
19514    #[cfg(any(
19515        any(
19516            cpp_lib_version = "5.14.0",
19517            cpp_lib_version = "5.11.3",
19518            cpp_lib_version = "5.12.2",
19519            cpp_lib_version = "5.13.0"
19520        ),
19521        feature = "ritual_rustdoc"
19522    ))]
19523    pub unsafe fn qt_metacall(
19524        &self,
19525        arg1: ::qt_core::q_meta_object::Call,
19526        arg2: ::std::os::raw::c_int,
19527        arg3: *mut *mut ::std::ffi::c_void,
19528    ) -> ::std::os::raw::c_int {
19529        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_qt_metacall(self as *const crate::SignalOfQJoint as *mut crate::SignalOfQJoint, arg1, arg2, arg3)
19530    }
19531
19532    #[inline(always)]
19533    #[cfg_attr(
19534        feature = "ritual_rustdoc_nightly",
19535        doc(cfg(any(
19536            cpp_lib_version = "5.14.0",
19537            cpp_lib_version = "5.11.3",
19538            cpp_lib_version = "5.12.2",
19539            cpp_lib_version = "5.13.0"
19540        )))
19541    )]
19542    #[cfg(any(
19543        any(
19544            cpp_lib_version = "5.14.0",
19545            cpp_lib_version = "5.11.3",
19546            cpp_lib_version = "5.12.2",
19547            cpp_lib_version = "5.13.0"
19548        ),
19549        feature = "ritual_rustdoc"
19550    ))]
19551    pub unsafe fn qt_metacast(
19552        &self,
19553        arg1: *const ::std::os::raw::c_char,
19554    ) -> *mut ::std::ffi::c_void {
19555        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_qt_metacast(self as *const crate::SignalOfQJoint as *mut crate::SignalOfQJoint, arg1)
19556    }
19557
19558    #[inline(always)]
19559    #[cfg_attr(
19560        feature = "ritual_rustdoc_nightly",
19561        doc(cfg(any(
19562            cpp_lib_version = "5.14.0",
19563            cpp_lib_version = "5.11.3",
19564            cpp_lib_version = "5.12.2",
19565            cpp_lib_version = "5.13.0"
19566        )))
19567    )]
19568    #[cfg(any(
19569        any(
19570            cpp_lib_version = "5.14.0",
19571            cpp_lib_version = "5.11.3",
19572            cpp_lib_version = "5.12.2",
19573            cpp_lib_version = "5.13.0"
19574        ),
19575        feature = "ritual_rustdoc"
19576    ))]
19577    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
19578        let ffi_result = {
19579            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_staticMetaObject()
19580        };
19581        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
19582            .expect("attempted to construct a null Ref")
19583    }
19584
19585    #[inline(always)]
19586    #[cfg_attr(
19587        feature = "ritual_rustdoc_nightly",
19588        doc(cfg(any(
19589            cpp_lib_version = "5.14.0",
19590            cpp_lib_version = "5.11.3",
19591            cpp_lib_version = "5.12.2",
19592            cpp_lib_version = "5.13.0"
19593        )))
19594    )]
19595    #[cfg(any(
19596        any(
19597            cpp_lib_version = "5.14.0",
19598            cpp_lib_version = "5.11.3",
19599            cpp_lib_version = "5.12.2",
19600            cpp_lib_version = "5.13.0"
19601        ),
19602        feature = "ritual_rustdoc"
19603    ))]
19604    pub unsafe fn tr(
19605        s: *const ::std::os::raw::c_char,
19606        c: *const ::std::os::raw::c_char,
19607        n: ::std::os::raw::c_int,
19608    ) -> ::cpp_core::CppBox<::qt_core::QString> {
19609        let ffi_result = {
19610            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_tr(s, c, n)
19611        };
19612        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
19613    }
19614
19615    #[inline(always)]
19616    #[cfg_attr(
19617        feature = "ritual_rustdoc_nightly",
19618        doc(cfg(any(
19619            cpp_lib_version = "5.14.0",
19620            cpp_lib_version = "5.11.3",
19621            cpp_lib_version = "5.12.2",
19622            cpp_lib_version = "5.13.0"
19623        )))
19624    )]
19625    #[cfg(any(
19626        any(
19627            cpp_lib_version = "5.14.0",
19628            cpp_lib_version = "5.11.3",
19629            cpp_lib_version = "5.12.2",
19630            cpp_lib_version = "5.13.0"
19631        ),
19632        feature = "ritual_rustdoc"
19633    ))]
19634    pub unsafe fn tr_utf8(
19635        s: *const ::std::os::raw::c_char,
19636        c: *const ::std::os::raw::c_char,
19637        n: ::std::os::raw::c_int,
19638    ) -> ::cpp_core::CppBox<::qt_core::QString> {
19639        let ffi_result = {
19640            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_trUtf8(s, c, n)
19641        };
19642        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
19643    }
19644}
19645
19646impl ::qt_core::AsReceiver for crate::SignalOfQMatrix4X4 {
19647    type Arguments = (*const ::qt_gui::QMatrix4X4,);
19648    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
19649        unsafe {
19650            ::qt_core::Receiver::new(
19651                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
19652                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(QMatrix4x4 const &)\0"),
19653            )
19654        }
19655    }
19656}
19657
19658impl crate::SignalOfQMatrix4X4 {
19659    /// Connects this signal to another signal or slot.
19660    ///
19661    /// This is a shortcut for `self.signal().connect(receiver)`.
19662
19663    pub unsafe fn connect_with_type<R>(
19664        &self,
19665        connection_type: ::qt_core::ConnectionType,
19666        receiver: R,
19667    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19668    where
19669        R: ::qt_core::AsReceiver,
19670        (*const ::qt_gui::QMatrix4X4,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19671    {
19672        self.signal().connect_with_type(connection_type, receiver)
19673    }
19674
19675    /// Connects this signal to another signal or slot, using auto connection type.
19676    ///
19677    /// This is a shortcut for `self.signal().connect(receiver)`.
19678
19679    pub unsafe fn connect<R>(
19680        &self,
19681        receiver: R,
19682    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19683    where
19684        R: ::qt_core::AsReceiver,
19685        (*const ::qt_gui::QMatrix4X4,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19686    {
19687        self.signal().connect(receiver)
19688    }
19689}
19690
19691/// Emits a Qt signal with arguments `*const ::qt_gui::QMatrix4X4`.
19692///
19693/// Corresponding C++ argument types: (<span style='color: green;'>```const QMatrix4x4&```</span>).
19694///
19695/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
19696#[repr(C)]
19697pub struct SignalOfQMatrix4X4 {
19698    _unused: u8,
19699}
19700impl SignalOfQMatrix4X4 {
19701    /// Returns a `Signal` object representing the signal.
19702    ///
19703    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
19704    #[inline(always)]
19705    pub fn signal(&self) -> ::qt_core::Signal<(*const ::qt_gui::QMatrix4X4,)> {
19706        unsafe {
19707            ::qt_core::Signal::new(
19708                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
19709                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(QMatrix4x4 const &)\0"),
19710            )
19711        }
19712    }
19713
19714    /// Emits the signal.
19715    #[inline(always)]
19716    pub unsafe fn emit(
19717        &self,
19718        arg0: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QMatrix4X4>>,
19719    ) {
19720        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_emit_(self as *const crate::SignalOfQMatrix4X4 as *mut crate::SignalOfQMatrix4X4, ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QMatrix4X4>>::cast_into(arg0).as_raw_ptr())
19721    }
19722
19723    #[inline(always)]
19724    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
19725        let ffi_result = {
19726            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_metaObject(self as *const crate::SignalOfQMatrix4X4)
19727        };
19728        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
19729    }
19730
19731    /// Creates a new object.
19732    #[inline(always)]
19733    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfQMatrix4X4> {
19734        let ffi_result = {
19735            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref()
19736        };
19737        ::qt_core::QBox::from_raw(ffi_result)
19738    }
19739
19740    #[inline(always)]
19741    pub unsafe fn qt_metacall(
19742        &self,
19743        arg1: ::qt_core::q_meta_object::Call,
19744        arg2: ::std::os::raw::c_int,
19745        arg3: *mut *mut ::std::ffi::c_void,
19746    ) -> ::std::os::raw::c_int {
19747        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_qt_metacall(self as *const crate::SignalOfQMatrix4X4 as *mut crate::SignalOfQMatrix4X4, arg1, arg2, arg3)
19748    }
19749
19750    #[inline(always)]
19751    pub unsafe fn qt_metacast(
19752        &self,
19753        arg1: *const ::std::os::raw::c_char,
19754    ) -> *mut ::std::ffi::c_void {
19755        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_qt_metacast(self as *const crate::SignalOfQMatrix4X4 as *mut crate::SignalOfQMatrix4X4, arg1)
19756    }
19757
19758    #[inline(always)]
19759    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
19760        let ffi_result = {
19761            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_staticMetaObject()
19762        };
19763        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
19764            .expect("attempted to construct a null Ref")
19765    }
19766
19767    #[inline(always)]
19768    pub unsafe fn tr(
19769        s: *const ::std::os::raw::c_char,
19770        c: *const ::std::os::raw::c_char,
19771        n: ::std::os::raw::c_int,
19772    ) -> ::cpp_core::CppBox<::qt_core::QString> {
19773        let ffi_result = {
19774            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_tr(s, c, n)
19775        };
19776        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
19777    }
19778
19779    #[inline(always)]
19780    pub unsafe fn tr_utf8(
19781        s: *const ::std::os::raw::c_char,
19782        c: *const ::std::os::raw::c_char,
19783        n: ::std::os::raw::c_int,
19784    ) -> ::cpp_core::CppBox<::qt_core::QString> {
19785        let ffi_result = {
19786            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_trUtf8(s, c, n)
19787        };
19788        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
19789    }
19790}
19791
19792impl ::qt_core::AsReceiver for crate::SignalOfPropertyTrackingMode {
19793    type Arguments = (crate::q_node::PropertyTrackingMode,);
19794    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
19795        unsafe {
19796            ::qt_core::Receiver::new(
19797                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
19798                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
19799                    b"2emit_(Qt3DCore::QNode::PropertyTrackingMode)\0",
19800                ),
19801            )
19802        }
19803    }
19804}
19805
19806impl crate::SignalOfPropertyTrackingMode {
19807    /// Connects this signal to another signal or slot.
19808    ///
19809    /// This is a shortcut for `self.signal().connect(receiver)`.
19810
19811    pub unsafe fn connect_with_type<R>(
19812        &self,
19813        connection_type: ::qt_core::ConnectionType,
19814        receiver: R,
19815    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19816    where
19817        R: ::qt_core::AsReceiver,
19818        (crate::q_node::PropertyTrackingMode,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19819    {
19820        self.signal().connect_with_type(connection_type, receiver)
19821    }
19822
19823    /// Connects this signal to another signal or slot, using auto connection type.
19824    ///
19825    /// This is a shortcut for `self.signal().connect(receiver)`.
19826
19827    pub unsafe fn connect<R>(
19828        &self,
19829        receiver: R,
19830    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19831    where
19832        R: ::qt_core::AsReceiver,
19833        (crate::q_node::PropertyTrackingMode,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19834    {
19835        self.signal().connect(receiver)
19836    }
19837}
19838
19839/// Emits a Qt signal with arguments `crate::q_node::PropertyTrackingMode`.
19840///
19841/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QNode::PropertyTrackingMode```</span>).
19842///
19843/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
19844#[repr(C)]
19845pub struct SignalOfPropertyTrackingMode {
19846    _unused: u8,
19847}
19848impl SignalOfPropertyTrackingMode {
19849    /// Returns a `Signal` object representing the signal.
19850    ///
19851    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
19852    #[inline(always)]
19853    pub fn signal(&self) -> ::qt_core::Signal<(crate::q_node::PropertyTrackingMode,)> {
19854        unsafe {
19855            ::qt_core::Signal::new(
19856                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
19857                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
19858                    b"2emit_(Qt3DCore::QNode::PropertyTrackingMode)\0",
19859                ),
19860            )
19861        }
19862    }
19863
19864    /// Emits the signal.
19865    #[inline(always)]
19866    pub unsafe fn emit(&self, arg0: crate::q_node::PropertyTrackingMode) {
19867        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_emit_(self as *const crate::SignalOfPropertyTrackingMode as *mut crate::SignalOfPropertyTrackingMode, arg0)
19868    }
19869
19870    #[inline(always)]
19871    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
19872        let ffi_result = {
19873            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_metaObject(self as *const crate::SignalOfPropertyTrackingMode)
19874        };
19875        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
19876    }
19877
19878    /// Creates a new object.
19879    #[inline(always)]
19880    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfPropertyTrackingMode> {
19881        let ffi_result = {
19882            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode()
19883        };
19884        ::qt_core::QBox::from_raw(ffi_result)
19885    }
19886
19887    #[inline(always)]
19888    pub unsafe fn qt_metacall(
19889        &self,
19890        arg1: ::qt_core::q_meta_object::Call,
19891        arg2: ::std::os::raw::c_int,
19892        arg3: *mut *mut ::std::ffi::c_void,
19893    ) -> ::std::os::raw::c_int {
19894        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_qt_metacall(self as *const crate::SignalOfPropertyTrackingMode as *mut crate::SignalOfPropertyTrackingMode, arg1, arg2, arg3)
19895    }
19896
19897    #[inline(always)]
19898    pub unsafe fn qt_metacast(
19899        &self,
19900        arg1: *const ::std::os::raw::c_char,
19901    ) -> *mut ::std::ffi::c_void {
19902        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_qt_metacast(self as *const crate::SignalOfPropertyTrackingMode as *mut crate::SignalOfPropertyTrackingMode, arg1)
19903    }
19904
19905    #[inline(always)]
19906    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
19907        let ffi_result = {
19908            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_staticMetaObject()
19909        };
19910        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
19911            .expect("attempted to construct a null Ref")
19912    }
19913
19914    #[inline(always)]
19915    pub unsafe fn tr(
19916        s: *const ::std::os::raw::c_char,
19917        c: *const ::std::os::raw::c_char,
19918        n: ::std::os::raw::c_int,
19919    ) -> ::cpp_core::CppBox<::qt_core::QString> {
19920        let ffi_result = {
19921            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_tr(s, c, n)
19922        };
19923        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
19924    }
19925
19926    #[inline(always)]
19927    pub unsafe fn tr_utf8(
19928        s: *const ::std::os::raw::c_char,
19929        c: *const ::std::os::raw::c_char,
19930        n: ::std::os::raw::c_int,
19931    ) -> ::cpp_core::CppBox<::qt_core::QString> {
19932        let ffi_result = {
19933            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_trUtf8(s, c, n)
19934        };
19935        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
19936    }
19937}
19938
19939impl ::qt_core::AsReceiver for crate::SignalOfQEntity {
19940    type Arguments = (*mut crate::QEntity,);
19941    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
19942        unsafe {
19943            ::qt_core::Receiver::new(
19944                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
19945                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(Qt3DCore::QEntity *)\0"),
19946            )
19947        }
19948    }
19949}
19950
19951impl crate::SignalOfQEntity {
19952    /// Connects this signal to another signal or slot.
19953    ///
19954    /// This is a shortcut for `self.signal().connect(receiver)`.
19955
19956    pub unsafe fn connect_with_type<R>(
19957        &self,
19958        connection_type: ::qt_core::ConnectionType,
19959        receiver: R,
19960    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19961    where
19962        R: ::qt_core::AsReceiver,
19963        (*mut crate::QEntity,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19964    {
19965        self.signal().connect_with_type(connection_type, receiver)
19966    }
19967
19968    /// Connects this signal to another signal or slot, using auto connection type.
19969    ///
19970    /// This is a shortcut for `self.signal().connect(receiver)`.
19971
19972    pub unsafe fn connect<R>(
19973        &self,
19974        receiver: R,
19975    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
19976    where
19977        R: ::qt_core::AsReceiver,
19978        (*mut crate::QEntity,): ::qt_core::ArgumentsCompatible<R::Arguments>,
19979    {
19980        self.signal().connect(receiver)
19981    }
19982}
19983
19984/// Emits a Qt signal with arguments `*mut crate::QEntity`.
19985///
19986/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QEntity*```</span>).
19987///
19988/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
19989#[repr(C)]
19990pub struct SignalOfQEntity {
19991    _unused: u8,
19992}
19993impl SignalOfQEntity {
19994    /// Returns a `Signal` object representing the signal.
19995    ///
19996    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
19997    #[inline(always)]
19998    pub fn signal(&self) -> ::qt_core::Signal<(*mut crate::QEntity,)> {
19999        unsafe {
20000            ::qt_core::Signal::new(
20001                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20002                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(Qt3DCore::QEntity *)\0"),
20003            )
20004        }
20005    }
20006
20007    /// Emits the signal.
20008    #[inline(always)]
20009    pub unsafe fn emit(&self, arg0: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QEntity>>) {
20010        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_emit_(self as *const crate::SignalOfQEntity as *mut crate::SignalOfQEntity, ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QEntity>>::cast_into(arg0).as_raw_ptr() as *mut crate::QEntity)
20011    }
20012
20013    #[inline(always)]
20014    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
20015        let ffi_result = {
20016            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_metaObject(self as *const crate::SignalOfQEntity)
20017        };
20018        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20019    }
20020
20021    /// Creates a new object.
20022    #[inline(always)]
20023    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfQEntity> {
20024        let ffi_result = {
20025            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr()
20026        };
20027        ::qt_core::QBox::from_raw(ffi_result)
20028    }
20029
20030    #[inline(always)]
20031    pub unsafe fn qt_metacall(
20032        &self,
20033        arg1: ::qt_core::q_meta_object::Call,
20034        arg2: ::std::os::raw::c_int,
20035        arg3: *mut *mut ::std::ffi::c_void,
20036    ) -> ::std::os::raw::c_int {
20037        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_qt_metacall(self as *const crate::SignalOfQEntity as *mut crate::SignalOfQEntity, arg1, arg2, arg3)
20038    }
20039
20040    #[inline(always)]
20041    pub unsafe fn qt_metacast(
20042        &self,
20043        arg1: *const ::std::os::raw::c_char,
20044    ) -> *mut ::std::ffi::c_void {
20045        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_qt_metacast(self as *const crate::SignalOfQEntity as *mut crate::SignalOfQEntity, arg1)
20046    }
20047
20048    #[inline(always)]
20049    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
20050        let ffi_result = {
20051            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_staticMetaObject()
20052        };
20053        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20054            .expect("attempted to construct a null Ref")
20055    }
20056
20057    #[inline(always)]
20058    pub unsafe fn tr(
20059        s: *const ::std::os::raw::c_char,
20060        c: *const ::std::os::raw::c_char,
20061        n: ::std::os::raw::c_int,
20062    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20063        let ffi_result = {
20064            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_tr(s, c, n)
20065        };
20066        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20067    }
20068
20069    #[inline(always)]
20070    pub unsafe fn tr_utf8(
20071        s: *const ::std::os::raw::c_char,
20072        c: *const ::std::os::raw::c_char,
20073        n: ::std::os::raw::c_int,
20074    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20075        let ffi_result = {
20076            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_trUtf8(s, c, n)
20077        };
20078        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20079    }
20080}
20081
20082#[cfg_attr(
20083    feature = "ritual_rustdoc_nightly",
20084    doc(cfg(any(
20085        cpp_lib_version = "5.14.0",
20086        cpp_lib_version = "5.11.3",
20087        cpp_lib_version = "5.12.2",
20088        cpp_lib_version = "5.13.0"
20089    )))
20090)]
20091#[cfg(any(
20092    any(
20093        cpp_lib_version = "5.14.0",
20094        cpp_lib_version = "5.11.3",
20095        cpp_lib_version = "5.12.2",
20096        cpp_lib_version = "5.13.0"
20097    ),
20098    feature = "ritual_rustdoc"
20099))]
20100
20101impl ::qt_core::AsReceiver for crate::SignalOfQAbstractSkeleton {
20102    type Arguments = (*mut crate::QAbstractSkeleton,);
20103    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
20104        unsafe {
20105            ::qt_core::Receiver::new(
20106                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20107                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
20108                    b"2emit_(Qt3DCore::QAbstractSkeleton *)\0",
20109                ),
20110            )
20111        }
20112    }
20113}
20114
20115impl crate::SignalOfQAbstractSkeleton {
20116    /// Connects this signal to another signal or slot.
20117    ///
20118    /// This is a shortcut for `self.signal().connect(receiver)`.
20119    #[cfg_attr(
20120        feature = "ritual_rustdoc_nightly",
20121        doc(cfg(any(
20122            cpp_lib_version = "5.14.0",
20123            cpp_lib_version = "5.11.3",
20124            cpp_lib_version = "5.12.2",
20125            cpp_lib_version = "5.13.0"
20126        )))
20127    )]
20128    #[cfg(any(
20129        any(
20130            cpp_lib_version = "5.14.0",
20131            cpp_lib_version = "5.11.3",
20132            cpp_lib_version = "5.12.2",
20133            cpp_lib_version = "5.13.0"
20134        ),
20135        feature = "ritual_rustdoc"
20136    ))]
20137
20138    pub unsafe fn connect_with_type<R>(
20139        &self,
20140        connection_type: ::qt_core::ConnectionType,
20141        receiver: R,
20142    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20143    where
20144        R: ::qt_core::AsReceiver,
20145        (*mut crate::QAbstractSkeleton,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20146    {
20147        self.signal().connect_with_type(connection_type, receiver)
20148    }
20149
20150    /// Connects this signal to another signal or slot, using auto connection type.
20151    ///
20152    /// This is a shortcut for `self.signal().connect(receiver)`.
20153    #[cfg_attr(
20154        feature = "ritual_rustdoc_nightly",
20155        doc(cfg(any(
20156            cpp_lib_version = "5.14.0",
20157            cpp_lib_version = "5.11.3",
20158            cpp_lib_version = "5.12.2",
20159            cpp_lib_version = "5.13.0"
20160        )))
20161    )]
20162    #[cfg(any(
20163        any(
20164            cpp_lib_version = "5.14.0",
20165            cpp_lib_version = "5.11.3",
20166            cpp_lib_version = "5.12.2",
20167            cpp_lib_version = "5.13.0"
20168        ),
20169        feature = "ritual_rustdoc"
20170    ))]
20171
20172    pub unsafe fn connect<R>(
20173        &self,
20174        receiver: R,
20175    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20176    where
20177        R: ::qt_core::AsReceiver,
20178        (*mut crate::QAbstractSkeleton,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20179    {
20180        self.signal().connect(receiver)
20181    }
20182}
20183
20184/// Emits a Qt signal with arguments `*mut crate::QAbstractSkeleton`.
20185///
20186/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QAbstractSkeleton*```</span>).
20187///
20188/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
20189#[repr(C)]
20190pub struct SignalOfQAbstractSkeleton {
20191    _unused: u8,
20192}
20193impl SignalOfQAbstractSkeleton {
20194    /// Returns a `Signal` object representing the signal.
20195    ///
20196    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
20197    #[inline(always)]
20198    #[cfg_attr(
20199        feature = "ritual_rustdoc_nightly",
20200        doc(cfg(any(
20201            cpp_lib_version = "5.14.0",
20202            cpp_lib_version = "5.11.3",
20203            cpp_lib_version = "5.12.2",
20204            cpp_lib_version = "5.13.0"
20205        )))
20206    )]
20207    #[cfg(any(
20208        any(
20209            cpp_lib_version = "5.14.0",
20210            cpp_lib_version = "5.11.3",
20211            cpp_lib_version = "5.12.2",
20212            cpp_lib_version = "5.13.0"
20213        ),
20214        feature = "ritual_rustdoc"
20215    ))]
20216    pub fn signal(&self) -> ::qt_core::Signal<(*mut crate::QAbstractSkeleton,)> {
20217        unsafe {
20218            ::qt_core::Signal::new(
20219                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20220                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
20221                    b"2emit_(Qt3DCore::QAbstractSkeleton *)\0",
20222                ),
20223            )
20224        }
20225    }
20226
20227    /// Emits the signal.
20228    #[inline(always)]
20229    #[cfg_attr(
20230        feature = "ritual_rustdoc_nightly",
20231        doc(cfg(any(
20232            cpp_lib_version = "5.14.0",
20233            cpp_lib_version = "5.11.3",
20234            cpp_lib_version = "5.12.2",
20235            cpp_lib_version = "5.13.0"
20236        )))
20237    )]
20238    #[cfg(any(
20239        any(
20240            cpp_lib_version = "5.14.0",
20241            cpp_lib_version = "5.11.3",
20242            cpp_lib_version = "5.12.2",
20243            cpp_lib_version = "5.13.0"
20244        ),
20245        feature = "ritual_rustdoc"
20246    ))]
20247    pub unsafe fn emit(
20248        &self,
20249        arg0: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QAbstractSkeleton>>,
20250    ) {
20251        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_emit_(self as *const crate::SignalOfQAbstractSkeleton as *mut crate::SignalOfQAbstractSkeleton, ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QAbstractSkeleton>>::cast_into(arg0).as_raw_ptr() as *mut crate::QAbstractSkeleton)
20252    }
20253
20254    #[inline(always)]
20255    #[cfg_attr(
20256        feature = "ritual_rustdoc_nightly",
20257        doc(cfg(any(
20258            cpp_lib_version = "5.14.0",
20259            cpp_lib_version = "5.11.3",
20260            cpp_lib_version = "5.12.2",
20261            cpp_lib_version = "5.13.0"
20262        )))
20263    )]
20264    #[cfg(any(
20265        any(
20266            cpp_lib_version = "5.14.0",
20267            cpp_lib_version = "5.11.3",
20268            cpp_lib_version = "5.12.2",
20269            cpp_lib_version = "5.13.0"
20270        ),
20271        feature = "ritual_rustdoc"
20272    ))]
20273    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
20274        let ffi_result = {
20275            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_metaObject(self as *const crate::SignalOfQAbstractSkeleton)
20276        };
20277        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20278    }
20279
20280    /// Creates a new object.
20281    #[inline(always)]
20282    #[cfg_attr(
20283        feature = "ritual_rustdoc_nightly",
20284        doc(cfg(any(
20285            cpp_lib_version = "5.14.0",
20286            cpp_lib_version = "5.11.3",
20287            cpp_lib_version = "5.12.2",
20288            cpp_lib_version = "5.13.0"
20289        )))
20290    )]
20291    #[cfg(any(
20292        any(
20293            cpp_lib_version = "5.14.0",
20294            cpp_lib_version = "5.11.3",
20295            cpp_lib_version = "5.12.2",
20296            cpp_lib_version = "5.13.0"
20297        ),
20298        feature = "ritual_rustdoc"
20299    ))]
20300    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfQAbstractSkeleton> {
20301        let ffi_result = {
20302            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr()
20303        };
20304        ::qt_core::QBox::from_raw(ffi_result)
20305    }
20306
20307    #[inline(always)]
20308    #[cfg_attr(
20309        feature = "ritual_rustdoc_nightly",
20310        doc(cfg(any(
20311            cpp_lib_version = "5.14.0",
20312            cpp_lib_version = "5.11.3",
20313            cpp_lib_version = "5.12.2",
20314            cpp_lib_version = "5.13.0"
20315        )))
20316    )]
20317    #[cfg(any(
20318        any(
20319            cpp_lib_version = "5.14.0",
20320            cpp_lib_version = "5.11.3",
20321            cpp_lib_version = "5.12.2",
20322            cpp_lib_version = "5.13.0"
20323        ),
20324        feature = "ritual_rustdoc"
20325    ))]
20326    pub unsafe fn qt_metacall(
20327        &self,
20328        arg1: ::qt_core::q_meta_object::Call,
20329        arg2: ::std::os::raw::c_int,
20330        arg3: *mut *mut ::std::ffi::c_void,
20331    ) -> ::std::os::raw::c_int {
20332        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_qt_metacall(self as *const crate::SignalOfQAbstractSkeleton as *mut crate::SignalOfQAbstractSkeleton, arg1, arg2, arg3)
20333    }
20334
20335    #[inline(always)]
20336    #[cfg_attr(
20337        feature = "ritual_rustdoc_nightly",
20338        doc(cfg(any(
20339            cpp_lib_version = "5.14.0",
20340            cpp_lib_version = "5.11.3",
20341            cpp_lib_version = "5.12.2",
20342            cpp_lib_version = "5.13.0"
20343        )))
20344    )]
20345    #[cfg(any(
20346        any(
20347            cpp_lib_version = "5.14.0",
20348            cpp_lib_version = "5.11.3",
20349            cpp_lib_version = "5.12.2",
20350            cpp_lib_version = "5.13.0"
20351        ),
20352        feature = "ritual_rustdoc"
20353    ))]
20354    pub unsafe fn qt_metacast(
20355        &self,
20356        arg1: *const ::std::os::raw::c_char,
20357    ) -> *mut ::std::ffi::c_void {
20358        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_qt_metacast(self as *const crate::SignalOfQAbstractSkeleton as *mut crate::SignalOfQAbstractSkeleton, arg1)
20359    }
20360
20361    #[inline(always)]
20362    #[cfg_attr(
20363        feature = "ritual_rustdoc_nightly",
20364        doc(cfg(any(
20365            cpp_lib_version = "5.14.0",
20366            cpp_lib_version = "5.11.3",
20367            cpp_lib_version = "5.12.2",
20368            cpp_lib_version = "5.13.0"
20369        )))
20370    )]
20371    #[cfg(any(
20372        any(
20373            cpp_lib_version = "5.14.0",
20374            cpp_lib_version = "5.11.3",
20375            cpp_lib_version = "5.12.2",
20376            cpp_lib_version = "5.13.0"
20377        ),
20378        feature = "ritual_rustdoc"
20379    ))]
20380    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
20381        let ffi_result = {
20382            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_staticMetaObject()
20383        };
20384        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20385            .expect("attempted to construct a null Ref")
20386    }
20387
20388    #[inline(always)]
20389    #[cfg_attr(
20390        feature = "ritual_rustdoc_nightly",
20391        doc(cfg(any(
20392            cpp_lib_version = "5.14.0",
20393            cpp_lib_version = "5.11.3",
20394            cpp_lib_version = "5.12.2",
20395            cpp_lib_version = "5.13.0"
20396        )))
20397    )]
20398    #[cfg(any(
20399        any(
20400            cpp_lib_version = "5.14.0",
20401            cpp_lib_version = "5.11.3",
20402            cpp_lib_version = "5.12.2",
20403            cpp_lib_version = "5.13.0"
20404        ),
20405        feature = "ritual_rustdoc"
20406    ))]
20407    pub unsafe fn tr(
20408        s: *const ::std::os::raw::c_char,
20409        c: *const ::std::os::raw::c_char,
20410        n: ::std::os::raw::c_int,
20411    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20412        let ffi_result = {
20413            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_tr(s, c, n)
20414        };
20415        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20416    }
20417
20418    #[inline(always)]
20419    #[cfg_attr(
20420        feature = "ritual_rustdoc_nightly",
20421        doc(cfg(any(
20422            cpp_lib_version = "5.14.0",
20423            cpp_lib_version = "5.11.3",
20424            cpp_lib_version = "5.12.2",
20425            cpp_lib_version = "5.13.0"
20426        )))
20427    )]
20428    #[cfg(any(
20429        any(
20430            cpp_lib_version = "5.14.0",
20431            cpp_lib_version = "5.11.3",
20432            cpp_lib_version = "5.12.2",
20433            cpp_lib_version = "5.13.0"
20434        ),
20435        feature = "ritual_rustdoc"
20436    ))]
20437    pub unsafe fn tr_utf8(
20438        s: *const ::std::os::raw::c_char,
20439        c: *const ::std::os::raw::c_char,
20440        n: ::std::os::raw::c_int,
20441    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20442        let ffi_result = {
20443            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_trUtf8(s, c, n)
20444        };
20445        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20446    }
20447}
20448
20449impl ::qt_core::AsReceiver for crate::SignalOfQVector3D {
20450    type Arguments = (*const ::qt_gui::QVector3D,);
20451    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
20452        unsafe {
20453            ::qt_core::Receiver::new(
20454                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20455                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(QVector3D const &)\0"),
20456            )
20457        }
20458    }
20459}
20460
20461impl crate::SignalOfQVector3D {
20462    /// Connects this signal to another signal or slot.
20463    ///
20464    /// This is a shortcut for `self.signal().connect(receiver)`.
20465
20466    pub unsafe fn connect_with_type<R>(
20467        &self,
20468        connection_type: ::qt_core::ConnectionType,
20469        receiver: R,
20470    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20471    where
20472        R: ::qt_core::AsReceiver,
20473        (*const ::qt_gui::QVector3D,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20474    {
20475        self.signal().connect_with_type(connection_type, receiver)
20476    }
20477
20478    /// Connects this signal to another signal or slot, using auto connection type.
20479    ///
20480    /// This is a shortcut for `self.signal().connect(receiver)`.
20481
20482    pub unsafe fn connect<R>(
20483        &self,
20484        receiver: R,
20485    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20486    where
20487        R: ::qt_core::AsReceiver,
20488        (*const ::qt_gui::QVector3D,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20489    {
20490        self.signal().connect(receiver)
20491    }
20492}
20493
20494/// Emits a Qt signal with arguments `*const ::qt_gui::QVector3D`.
20495///
20496/// Corresponding C++ argument types: (<span style='color: green;'>```const QVector3D&```</span>).
20497///
20498/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
20499#[repr(C)]
20500pub struct SignalOfQVector3D {
20501    _unused: u8,
20502}
20503impl SignalOfQVector3D {
20504    /// Returns a `Signal` object representing the signal.
20505    ///
20506    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
20507    #[inline(always)]
20508    pub fn signal(&self) -> ::qt_core::Signal<(*const ::qt_gui::QVector3D,)> {
20509        unsafe {
20510            ::qt_core::Signal::new(
20511                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20512                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(QVector3D const &)\0"),
20513            )
20514        }
20515    }
20516
20517    /// Emits the signal.
20518    #[inline(always)]
20519    pub unsafe fn emit(
20520        &self,
20521        arg0: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
20522    ) {
20523        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_emit_(
20524            self as *const crate::SignalOfQVector3D as *mut crate::SignalOfQVector3D,
20525            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(arg0)
20526                .as_raw_ptr(),
20527        )
20528    }
20529
20530    #[inline(always)]
20531    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
20532        let ffi_result = {
20533            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_metaObject(self as *const crate::SignalOfQVector3D)
20534        };
20535        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20536    }
20537
20538    /// Creates a new object.
20539    #[inline(always)]
20540    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfQVector3D> {
20541        let ffi_result = {
20542            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref()
20543        };
20544        ::qt_core::QBox::from_raw(ffi_result)
20545    }
20546
20547    #[inline(always)]
20548    pub unsafe fn qt_metacall(
20549        &self,
20550        arg1: ::qt_core::q_meta_object::Call,
20551        arg2: ::std::os::raw::c_int,
20552        arg3: *mut *mut ::std::ffi::c_void,
20553    ) -> ::std::os::raw::c_int {
20554        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_qt_metacall(self as *const crate::SignalOfQVector3D as *mut crate::SignalOfQVector3D, arg1, arg2, arg3)
20555    }
20556
20557    #[inline(always)]
20558    pub unsafe fn qt_metacast(
20559        &self,
20560        arg1: *const ::std::os::raw::c_char,
20561    ) -> *mut ::std::ffi::c_void {
20562        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_qt_metacast(self as *const crate::SignalOfQVector3D as *mut crate::SignalOfQVector3D, arg1)
20563    }
20564
20565    #[inline(always)]
20566    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
20567        let ffi_result = {
20568            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_staticMetaObject()
20569        };
20570        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20571            .expect("attempted to construct a null Ref")
20572    }
20573
20574    #[inline(always)]
20575    pub unsafe fn tr(
20576        s: *const ::std::os::raw::c_char,
20577        c: *const ::std::os::raw::c_char,
20578        n: ::std::os::raw::c_int,
20579    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20580        let ffi_result = {
20581            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_tr(s, c, n)
20582        };
20583        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20584    }
20585
20586    #[inline(always)]
20587    pub unsafe fn tr_utf8(
20588        s: *const ::std::os::raw::c_char,
20589        c: *const ::std::os::raw::c_char,
20590        n: ::std::os::raw::c_int,
20591    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20592        let ffi_result = {
20593            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_trUtf8(s, c, n)
20594        };
20595        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20596    }
20597}
20598
20599impl ::qt_core::AsReceiver for crate::SignalOfFloat {
20600    type Arguments = (::std::os::raw::c_float,);
20601    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
20602        unsafe {
20603            ::qt_core::Receiver::new(
20604                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20605                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(float)\0"),
20606            )
20607        }
20608    }
20609}
20610
20611impl crate::SignalOfFloat {
20612    /// Connects this signal to another signal or slot.
20613    ///
20614    /// This is a shortcut for `self.signal().connect(receiver)`.
20615
20616    pub unsafe fn connect_with_type<R>(
20617        &self,
20618        connection_type: ::qt_core::ConnectionType,
20619        receiver: R,
20620    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20621    where
20622        R: ::qt_core::AsReceiver,
20623        (::std::os::raw::c_float,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20624    {
20625        self.signal().connect_with_type(connection_type, receiver)
20626    }
20627
20628    /// Connects this signal to another signal or slot, using auto connection type.
20629    ///
20630    /// This is a shortcut for `self.signal().connect(receiver)`.
20631
20632    pub unsafe fn connect<R>(
20633        &self,
20634        receiver: R,
20635    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20636    where
20637        R: ::qt_core::AsReceiver,
20638        (::std::os::raw::c_float,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20639    {
20640        self.signal().connect(receiver)
20641    }
20642}
20643
20644/// Emits a Qt signal with arguments `::std::os::raw::c_float`.
20645///
20646/// Corresponding C++ argument types: (<span style='color: green;'>```float```</span>).
20647///
20648/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
20649#[repr(C)]
20650pub struct SignalOfFloat {
20651    _unused: u8,
20652}
20653impl SignalOfFloat {
20654    /// Returns a `Signal` object representing the signal.
20655    ///
20656    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
20657    #[inline(always)]
20658    pub fn signal(&self) -> ::qt_core::Signal<(::std::os::raw::c_float,)> {
20659        unsafe {
20660            ::qt_core::Signal::new(
20661                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20662                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(float)\0"),
20663            )
20664        }
20665    }
20666
20667    /// Emits the signal.
20668    #[inline(always)]
20669    pub unsafe fn emit(&self, arg0: ::std::os::raw::c_float) {
20670        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_emit_(
20671            self as *const crate::SignalOfFloat as *mut crate::SignalOfFloat,
20672            arg0,
20673        )
20674    }
20675
20676    #[inline(always)]
20677    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
20678        let ffi_result = {
20679            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_metaObject(
20680                self as *const crate::SignalOfFloat,
20681            )
20682        };
20683        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20684    }
20685
20686    /// Creates a new object.
20687    #[inline(always)]
20688    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfFloat> {
20689        let ffi_result = {
20690            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_ctr_qt_3d_core_ffi_signal_wrapper_float()
20691        };
20692        ::qt_core::QBox::from_raw(ffi_result)
20693    }
20694
20695    #[inline(always)]
20696    pub unsafe fn qt_metacall(
20697        &self,
20698        arg1: ::qt_core::q_meta_object::Call,
20699        arg2: ::std::os::raw::c_int,
20700        arg3: *mut *mut ::std::ffi::c_void,
20701    ) -> ::std::os::raw::c_int {
20702        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_qt_metacall(
20703            self as *const crate::SignalOfFloat as *mut crate::SignalOfFloat,
20704            arg1,
20705            arg2,
20706            arg3,
20707        )
20708    }
20709
20710    #[inline(always)]
20711    pub unsafe fn qt_metacast(
20712        &self,
20713        arg1: *const ::std::os::raw::c_char,
20714    ) -> *mut ::std::ffi::c_void {
20715        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_qt_metacast(
20716            self as *const crate::SignalOfFloat as *mut crate::SignalOfFloat,
20717            arg1,
20718        )
20719    }
20720
20721    #[inline(always)]
20722    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
20723        let ffi_result = {
20724            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_staticMetaObject()
20725        };
20726        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20727            .expect("attempted to construct a null Ref")
20728    }
20729
20730    #[inline(always)]
20731    pub unsafe fn tr(
20732        s: *const ::std::os::raw::c_char,
20733        c: *const ::std::os::raw::c_char,
20734        n: ::std::os::raw::c_int,
20735    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20736        let ffi_result = {
20737            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_tr(s, c, n)
20738        };
20739        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20740    }
20741
20742    #[inline(always)]
20743    pub unsafe fn tr_utf8(
20744        s: *const ::std::os::raw::c_char,
20745        c: *const ::std::os::raw::c_char,
20746        n: ::std::os::raw::c_int,
20747    ) -> ::cpp_core::CppBox<::qt_core::QString> {
20748        let ffi_result = {
20749            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_trUtf8(s, c, n)
20750        };
20751        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
20752    }
20753}
20754
20755#[cfg_attr(
20756    feature = "ritual_rustdoc_nightly",
20757    doc(cfg(any(
20758        cpp_lib_version = "5.14.0",
20759        cpp_lib_version = "5.11.3",
20760        cpp_lib_version = "5.12.2",
20761        cpp_lib_version = "5.13.0"
20762    )))
20763)]
20764#[cfg(any(
20765    any(
20766        cpp_lib_version = "5.14.0",
20767        cpp_lib_version = "5.11.3",
20768        cpp_lib_version = "5.12.2",
20769        cpp_lib_version = "5.13.0"
20770    ),
20771    feature = "ritual_rustdoc"
20772))]
20773
20774impl ::qt_core::AsReceiver for crate::SignalOfStatus {
20775    type Arguments = (crate::q_skeleton_loader::Status,);
20776    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
20777        unsafe {
20778            ::qt_core::Receiver::new(
20779                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20780                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
20781                    b"2emit_(Qt3DCore::QSkeletonLoader::Status)\0",
20782                ),
20783            )
20784        }
20785    }
20786}
20787
20788impl crate::SignalOfStatus {
20789    /// Connects this signal to another signal or slot.
20790    ///
20791    /// This is a shortcut for `self.signal().connect(receiver)`.
20792    #[cfg_attr(
20793        feature = "ritual_rustdoc_nightly",
20794        doc(cfg(any(
20795            cpp_lib_version = "5.14.0",
20796            cpp_lib_version = "5.11.3",
20797            cpp_lib_version = "5.12.2",
20798            cpp_lib_version = "5.13.0"
20799        )))
20800    )]
20801    #[cfg(any(
20802        any(
20803            cpp_lib_version = "5.14.0",
20804            cpp_lib_version = "5.11.3",
20805            cpp_lib_version = "5.12.2",
20806            cpp_lib_version = "5.13.0"
20807        ),
20808        feature = "ritual_rustdoc"
20809    ))]
20810
20811    pub unsafe fn connect_with_type<R>(
20812        &self,
20813        connection_type: ::qt_core::ConnectionType,
20814        receiver: R,
20815    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20816    where
20817        R: ::qt_core::AsReceiver,
20818        (crate::q_skeleton_loader::Status,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20819    {
20820        self.signal().connect_with_type(connection_type, receiver)
20821    }
20822
20823    /// Connects this signal to another signal or slot, using auto connection type.
20824    ///
20825    /// This is a shortcut for `self.signal().connect(receiver)`.
20826    #[cfg_attr(
20827        feature = "ritual_rustdoc_nightly",
20828        doc(cfg(any(
20829            cpp_lib_version = "5.14.0",
20830            cpp_lib_version = "5.11.3",
20831            cpp_lib_version = "5.12.2",
20832            cpp_lib_version = "5.13.0"
20833        )))
20834    )]
20835    #[cfg(any(
20836        any(
20837            cpp_lib_version = "5.14.0",
20838            cpp_lib_version = "5.11.3",
20839            cpp_lib_version = "5.12.2",
20840            cpp_lib_version = "5.13.0"
20841        ),
20842        feature = "ritual_rustdoc"
20843    ))]
20844
20845    pub unsafe fn connect<R>(
20846        &self,
20847        receiver: R,
20848    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
20849    where
20850        R: ::qt_core::AsReceiver,
20851        (crate::q_skeleton_loader::Status,): ::qt_core::ArgumentsCompatible<R::Arguments>,
20852    {
20853        self.signal().connect(receiver)
20854    }
20855}
20856
20857/// Emits a Qt signal with arguments `crate::q_skeleton_loader::Status`.
20858///
20859/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QSkeletonLoader::Status```</span>).
20860///
20861/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
20862#[repr(C)]
20863pub struct SignalOfStatus {
20864    _unused: u8,
20865}
20866impl SignalOfStatus {
20867    /// Returns a `Signal` object representing the signal.
20868    ///
20869    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
20870    #[inline(always)]
20871    #[cfg_attr(
20872        feature = "ritual_rustdoc_nightly",
20873        doc(cfg(any(
20874            cpp_lib_version = "5.14.0",
20875            cpp_lib_version = "5.11.3",
20876            cpp_lib_version = "5.12.2",
20877            cpp_lib_version = "5.13.0"
20878        )))
20879    )]
20880    #[cfg(any(
20881        any(
20882            cpp_lib_version = "5.14.0",
20883            cpp_lib_version = "5.11.3",
20884            cpp_lib_version = "5.12.2",
20885            cpp_lib_version = "5.13.0"
20886        ),
20887        feature = "ritual_rustdoc"
20888    ))]
20889    pub fn signal(&self) -> ::qt_core::Signal<(crate::q_skeleton_loader::Status,)> {
20890        unsafe {
20891            ::qt_core::Signal::new(
20892                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
20893                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
20894                    b"2emit_(Qt3DCore::QSkeletonLoader::Status)\0",
20895                ),
20896            )
20897        }
20898    }
20899
20900    /// Emits the signal.
20901    #[inline(always)]
20902    #[cfg_attr(
20903        feature = "ritual_rustdoc_nightly",
20904        doc(cfg(any(
20905            cpp_lib_version = "5.14.0",
20906            cpp_lib_version = "5.11.3",
20907            cpp_lib_version = "5.12.2",
20908            cpp_lib_version = "5.13.0"
20909        )))
20910    )]
20911    #[cfg(any(
20912        any(
20913            cpp_lib_version = "5.14.0",
20914            cpp_lib_version = "5.11.3",
20915            cpp_lib_version = "5.12.2",
20916            cpp_lib_version = "5.13.0"
20917        ),
20918        feature = "ritual_rustdoc"
20919    ))]
20920    pub unsafe fn emit(&self, arg0: crate::q_skeleton_loader::Status) {
20921        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_emit_(self as *const crate::SignalOfStatus as *mut crate::SignalOfStatus, arg0)
20922    }
20923
20924    #[inline(always)]
20925    #[cfg_attr(
20926        feature = "ritual_rustdoc_nightly",
20927        doc(cfg(any(
20928            cpp_lib_version = "5.14.0",
20929            cpp_lib_version = "5.11.3",
20930            cpp_lib_version = "5.12.2",
20931            cpp_lib_version = "5.13.0"
20932        )))
20933    )]
20934    #[cfg(any(
20935        any(
20936            cpp_lib_version = "5.14.0",
20937            cpp_lib_version = "5.11.3",
20938            cpp_lib_version = "5.12.2",
20939            cpp_lib_version = "5.13.0"
20940        ),
20941        feature = "ritual_rustdoc"
20942    ))]
20943    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
20944        let ffi_result = {
20945            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_metaObject(self as *const crate::SignalOfStatus)
20946        };
20947        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
20948    }
20949
20950    /// Creates a new object.
20951    #[inline(always)]
20952    #[cfg_attr(
20953        feature = "ritual_rustdoc_nightly",
20954        doc(cfg(any(
20955            cpp_lib_version = "5.14.0",
20956            cpp_lib_version = "5.11.3",
20957            cpp_lib_version = "5.12.2",
20958            cpp_lib_version = "5.13.0"
20959        )))
20960    )]
20961    #[cfg(any(
20962        any(
20963            cpp_lib_version = "5.14.0",
20964            cpp_lib_version = "5.11.3",
20965            cpp_lib_version = "5.12.2",
20966            cpp_lib_version = "5.13.0"
20967        ),
20968        feature = "ritual_rustdoc"
20969    ))]
20970    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfStatus> {
20971        let ffi_result = {
20972            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status()
20973        };
20974        ::qt_core::QBox::from_raw(ffi_result)
20975    }
20976
20977    #[inline(always)]
20978    #[cfg_attr(
20979        feature = "ritual_rustdoc_nightly",
20980        doc(cfg(any(
20981            cpp_lib_version = "5.14.0",
20982            cpp_lib_version = "5.11.3",
20983            cpp_lib_version = "5.12.2",
20984            cpp_lib_version = "5.13.0"
20985        )))
20986    )]
20987    #[cfg(any(
20988        any(
20989            cpp_lib_version = "5.14.0",
20990            cpp_lib_version = "5.11.3",
20991            cpp_lib_version = "5.12.2",
20992            cpp_lib_version = "5.13.0"
20993        ),
20994        feature = "ritual_rustdoc"
20995    ))]
20996    pub unsafe fn qt_metacall(
20997        &self,
20998        arg1: ::qt_core::q_meta_object::Call,
20999        arg2: ::std::os::raw::c_int,
21000        arg3: *mut *mut ::std::ffi::c_void,
21001    ) -> ::std::os::raw::c_int {
21002        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_qt_metacall(self as *const crate::SignalOfStatus as *mut crate::SignalOfStatus, arg1, arg2, arg3)
21003    }
21004
21005    #[inline(always)]
21006    #[cfg_attr(
21007        feature = "ritual_rustdoc_nightly",
21008        doc(cfg(any(
21009            cpp_lib_version = "5.14.0",
21010            cpp_lib_version = "5.11.3",
21011            cpp_lib_version = "5.12.2",
21012            cpp_lib_version = "5.13.0"
21013        )))
21014    )]
21015    #[cfg(any(
21016        any(
21017            cpp_lib_version = "5.14.0",
21018            cpp_lib_version = "5.11.3",
21019            cpp_lib_version = "5.12.2",
21020            cpp_lib_version = "5.13.0"
21021        ),
21022        feature = "ritual_rustdoc"
21023    ))]
21024    pub unsafe fn qt_metacast(
21025        &self,
21026        arg1: *const ::std::os::raw::c_char,
21027    ) -> *mut ::std::ffi::c_void {
21028        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_qt_metacast(self as *const crate::SignalOfStatus as *mut crate::SignalOfStatus, arg1)
21029    }
21030
21031    #[inline(always)]
21032    #[cfg_attr(
21033        feature = "ritual_rustdoc_nightly",
21034        doc(cfg(any(
21035            cpp_lib_version = "5.14.0",
21036            cpp_lib_version = "5.11.3",
21037            cpp_lib_version = "5.12.2",
21038            cpp_lib_version = "5.13.0"
21039        )))
21040    )]
21041    #[cfg(any(
21042        any(
21043            cpp_lib_version = "5.14.0",
21044            cpp_lib_version = "5.11.3",
21045            cpp_lib_version = "5.12.2",
21046            cpp_lib_version = "5.13.0"
21047        ),
21048        feature = "ritual_rustdoc"
21049    ))]
21050    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
21051        let ffi_result = {
21052            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_staticMetaObject()
21053        };
21054        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21055            .expect("attempted to construct a null Ref")
21056    }
21057
21058    #[inline(always)]
21059    #[cfg_attr(
21060        feature = "ritual_rustdoc_nightly",
21061        doc(cfg(any(
21062            cpp_lib_version = "5.14.0",
21063            cpp_lib_version = "5.11.3",
21064            cpp_lib_version = "5.12.2",
21065            cpp_lib_version = "5.13.0"
21066        )))
21067    )]
21068    #[cfg(any(
21069        any(
21070            cpp_lib_version = "5.14.0",
21071            cpp_lib_version = "5.11.3",
21072            cpp_lib_version = "5.12.2",
21073            cpp_lib_version = "5.13.0"
21074        ),
21075        feature = "ritual_rustdoc"
21076    ))]
21077    pub unsafe fn tr(
21078        s: *const ::std::os::raw::c_char,
21079        c: *const ::std::os::raw::c_char,
21080        n: ::std::os::raw::c_int,
21081    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21082        let ffi_result = {
21083            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_tr(s, c, n)
21084        };
21085        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21086    }
21087
21088    #[inline(always)]
21089    #[cfg_attr(
21090        feature = "ritual_rustdoc_nightly",
21091        doc(cfg(any(
21092            cpp_lib_version = "5.14.0",
21093            cpp_lib_version = "5.11.3",
21094            cpp_lib_version = "5.12.2",
21095            cpp_lib_version = "5.13.0"
21096        )))
21097    )]
21098    #[cfg(any(
21099        any(
21100            cpp_lib_version = "5.14.0",
21101            cpp_lib_version = "5.11.3",
21102            cpp_lib_version = "5.12.2",
21103            cpp_lib_version = "5.13.0"
21104        ),
21105        feature = "ritual_rustdoc"
21106    ))]
21107    pub unsafe fn tr_utf8(
21108        s: *const ::std::os::raw::c_char,
21109        c: *const ::std::os::raw::c_char,
21110        n: ::std::os::raw::c_int,
21111    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21112        let ffi_result = {
21113            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_trUtf8(s, c, n)
21114        };
21115        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21116    }
21117}
21118
21119impl ::qt_core::AsReceiver for crate::SignalOfQQuaternion {
21120    type Arguments = (*const ::qt_gui::QQuaternion,);
21121    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
21122        unsafe {
21123            ::qt_core::Receiver::new(
21124                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
21125                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(QQuaternion const &)\0"),
21126            )
21127        }
21128    }
21129}
21130
21131impl crate::SignalOfQQuaternion {
21132    /// Connects this signal to another signal or slot.
21133    ///
21134    /// This is a shortcut for `self.signal().connect(receiver)`.
21135
21136    pub unsafe fn connect_with_type<R>(
21137        &self,
21138        connection_type: ::qt_core::ConnectionType,
21139        receiver: R,
21140    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
21141    where
21142        R: ::qt_core::AsReceiver,
21143        (*const ::qt_gui::QQuaternion,): ::qt_core::ArgumentsCompatible<R::Arguments>,
21144    {
21145        self.signal().connect_with_type(connection_type, receiver)
21146    }
21147
21148    /// Connects this signal to another signal or slot, using auto connection type.
21149    ///
21150    /// This is a shortcut for `self.signal().connect(receiver)`.
21151
21152    pub unsafe fn connect<R>(
21153        &self,
21154        receiver: R,
21155    ) -> cpp_core::CppBox<::qt_core::q_meta_object::Connection>
21156    where
21157        R: ::qt_core::AsReceiver,
21158        (*const ::qt_gui::QQuaternion,): ::qt_core::ArgumentsCompatible<R::Arguments>,
21159    {
21160        self.signal().connect(receiver)
21161    }
21162}
21163
21164/// Emits a Qt signal with arguments `*const ::qt_gui::QQuaternion`.
21165///
21166/// Corresponding C++ argument types: (<span style='color: green;'>```const QQuaternion&```</span>).
21167///
21168/// Use `connect()` method of this object to connect this signal to a slot. Use `emit()` method to emit the signal.
21169#[repr(C)]
21170pub struct SignalOfQQuaternion {
21171    _unused: u8,
21172}
21173impl SignalOfQQuaternion {
21174    /// Returns a `Signal` object representing the signal.
21175    ///
21176    /// This method is useful if you need to connect another signal to this signal. However, when you need to connect this signal to another signal or slot, it's simpler to use the `connect()` method of this object directly.
21177    #[inline(always)]
21178    pub fn signal(&self) -> ::qt_core::Signal<(*const ::qt_gui::QQuaternion,)> {
21179        unsafe {
21180            ::qt_core::Signal::new(
21181                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
21182                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"2emit_(QQuaternion const &)\0"),
21183            )
21184        }
21185    }
21186
21187    /// Emits the signal.
21188    #[inline(always)]
21189    pub unsafe fn emit(
21190        &self,
21191        arg0: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QQuaternion>>,
21192    ) {
21193        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_emit_(self as *const crate::SignalOfQQuaternion as *mut crate::SignalOfQQuaternion, ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QQuaternion>>::cast_into(arg0).as_raw_ptr())
21194    }
21195
21196    #[inline(always)]
21197    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
21198        let ffi_result = {
21199            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_metaObject(self as *const crate::SignalOfQQuaternion)
21200        };
21201        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21202    }
21203
21204    /// Creates a new object.
21205    #[inline(always)]
21206    pub unsafe fn new() -> ::qt_core::QBox<crate::SignalOfQQuaternion> {
21207        let ffi_result = {
21208            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref()
21209        };
21210        ::qt_core::QBox::from_raw(ffi_result)
21211    }
21212
21213    #[inline(always)]
21214    pub unsafe fn qt_metacall(
21215        &self,
21216        arg1: ::qt_core::q_meta_object::Call,
21217        arg2: ::std::os::raw::c_int,
21218        arg3: *mut *mut ::std::ffi::c_void,
21219    ) -> ::std::os::raw::c_int {
21220        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_qt_metacall(self as *const crate::SignalOfQQuaternion as *mut crate::SignalOfQQuaternion, arg1, arg2, arg3)
21221    }
21222
21223    #[inline(always)]
21224    pub unsafe fn qt_metacast(
21225        &self,
21226        arg1: *const ::std::os::raw::c_char,
21227    ) -> *mut ::std::ffi::c_void {
21228        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_qt_metacast(self as *const crate::SignalOfQQuaternion as *mut crate::SignalOfQQuaternion, arg1)
21229    }
21230
21231    #[inline(always)]
21232    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
21233        let ffi_result = {
21234            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_staticMetaObject()
21235        };
21236        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21237            .expect("attempted to construct a null Ref")
21238    }
21239
21240    #[inline(always)]
21241    pub unsafe fn tr(
21242        s: *const ::std::os::raw::c_char,
21243        c: *const ::std::os::raw::c_char,
21244        n: ::std::os::raw::c_int,
21245    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21246        let ffi_result = {
21247            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_tr(s, c, n)
21248        };
21249        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21250    }
21251
21252    #[inline(always)]
21253    pub unsafe fn tr_utf8(
21254        s: *const ::std::os::raw::c_char,
21255        c: *const ::std::os::raw::c_char,
21256        n: ::std::os::raw::c_int,
21257    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21258        let ffi_result = {
21259            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_trUtf8(s, c, n)
21260        };
21261        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21262    }
21263}
21264
21265#[cfg_attr(
21266    feature = "ritual_rustdoc_nightly",
21267    doc(cfg(any(
21268        cpp_lib_version = "5.14.0",
21269        cpp_lib_version = "5.11.3",
21270        cpp_lib_version = "5.12.2",
21271        cpp_lib_version = "5.13.0"
21272    )))
21273)]
21274#[cfg(any(
21275    any(
21276        cpp_lib_version = "5.14.0",
21277        cpp_lib_version = "5.11.3",
21278        cpp_lib_version = "5.12.2",
21279        cpp_lib_version = "5.13.0"
21280    ),
21281    feature = "ritual_rustdoc"
21282))]
21283
21284impl ::qt_core::AsReceiver for crate::SlotOfStatus {
21285    type Arguments = (crate::q_skeleton_loader::Status,);
21286    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
21287        unsafe {
21288            ::qt_core::Receiver::new(
21289                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
21290                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
21291                    b"1slot_(Qt3DCore::QSkeletonLoader::Status)\0",
21292                ),
21293            )
21294        }
21295    }
21296}
21297
21298/// Binds a Qt signal with arguments `crate::q_skeleton_loader::Status` to a Rust closure.
21299///
21300/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QSkeletonLoader::Status```</span>).
21301///
21302/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
21303///
21304/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
21305///
21306/// If `set()` was not called, slot invocation has no effect.
21307#[repr(C)]
21308pub struct SlotOfStatus {
21309    _unused: u8,
21310}
21311impl SlotOfStatus {
21312    #[inline(always)]
21313    #[cfg_attr(
21314        feature = "ritual_rustdoc_nightly",
21315        doc(cfg(any(
21316            cpp_lib_version = "5.14.0",
21317            cpp_lib_version = "5.11.3",
21318            cpp_lib_version = "5.12.2",
21319            cpp_lib_version = "5.13.0"
21320        )))
21321    )]
21322    #[cfg(any(
21323        any(
21324            cpp_lib_version = "5.14.0",
21325            cpp_lib_version = "5.11.3",
21326            cpp_lib_version = "5.12.2",
21327            cpp_lib_version = "5.13.0"
21328        ),
21329        feature = "ritual_rustdoc"
21330    ))]
21331    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
21332        let ffi_result = {
21333            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_metaObject(self as *const crate::SlotOfStatus)
21334        };
21335        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21336    }
21337
21338    /// Creates a new object.
21339    #[inline(always)]
21340    #[cfg_attr(
21341        feature = "ritual_rustdoc_nightly",
21342        doc(cfg(any(
21343            cpp_lib_version = "5.14.0",
21344            cpp_lib_version = "5.11.3",
21345            cpp_lib_version = "5.12.2",
21346            cpp_lib_version = "5.13.0"
21347        )))
21348    )]
21349    #[cfg(any(
21350        any(
21351            cpp_lib_version = "5.14.0",
21352            cpp_lib_version = "5.11.3",
21353            cpp_lib_version = "5.12.2",
21354            cpp_lib_version = "5.13.0"
21355        ),
21356        feature = "ritual_rustdoc"
21357    ))]
21358    pub unsafe fn new<T: FnMut(crate::q_skeleton_loader::Status) + 'static>(
21359        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
21360        callback: T,
21361    ) -> ::qt_core::QBox<crate::SlotOfStatus> {
21362        let ffi_result = {
21363            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
21364                unsafe {
21365                    let _ = Box::from_raw(data as *mut T);
21366                }
21367            }
21368            extern "C" fn ffi_callback<T: FnMut(crate::q_skeleton_loader::Status) + 'static>(
21369                data: *mut ::std::ffi::c_void,
21370                arg0: crate::q_skeleton_loader::Status,
21371            ) {
21372                unsafe { (*(data as *mut T))(arg0) }
21373            }
21374            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
21375            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
21376        };
21377        ::qt_core::QBox::from_raw(ffi_result)
21378    }
21379
21380    #[inline(always)]
21381    #[cfg_attr(
21382        feature = "ritual_rustdoc_nightly",
21383        doc(cfg(any(
21384            cpp_lib_version = "5.14.0",
21385            cpp_lib_version = "5.11.3",
21386            cpp_lib_version = "5.12.2",
21387            cpp_lib_version = "5.13.0"
21388        )))
21389    )]
21390    #[cfg(any(
21391        any(
21392            cpp_lib_version = "5.14.0",
21393            cpp_lib_version = "5.11.3",
21394            cpp_lib_version = "5.12.2",
21395            cpp_lib_version = "5.13.0"
21396        ),
21397        feature = "ritual_rustdoc"
21398    ))]
21399    pub unsafe fn qt_metacall(
21400        &self,
21401        arg1: ::qt_core::q_meta_object::Call,
21402        arg2: ::std::os::raw::c_int,
21403        arg3: *mut *mut ::std::ffi::c_void,
21404    ) -> ::std::os::raw::c_int {
21405        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_qt_metacall(self as *const crate::SlotOfStatus as *mut crate::SlotOfStatus, arg1, arg2, arg3)
21406    }
21407
21408    #[inline(always)]
21409    #[cfg_attr(
21410        feature = "ritual_rustdoc_nightly",
21411        doc(cfg(any(
21412            cpp_lib_version = "5.14.0",
21413            cpp_lib_version = "5.11.3",
21414            cpp_lib_version = "5.12.2",
21415            cpp_lib_version = "5.13.0"
21416        )))
21417    )]
21418    #[cfg(any(
21419        any(
21420            cpp_lib_version = "5.14.0",
21421            cpp_lib_version = "5.11.3",
21422            cpp_lib_version = "5.12.2",
21423            cpp_lib_version = "5.13.0"
21424        ),
21425        feature = "ritual_rustdoc"
21426    ))]
21427    pub unsafe fn qt_metacast(
21428        &self,
21429        arg1: *const ::std::os::raw::c_char,
21430    ) -> *mut ::std::ffi::c_void {
21431        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_qt_metacast(self as *const crate::SlotOfStatus as *mut crate::SlotOfStatus, arg1)
21432    }
21433
21434    /// Assigns `callback` as the signal handler.
21435    ///
21436    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
21437    #[inline(always)]
21438    #[cfg_attr(
21439        feature = "ritual_rustdoc_nightly",
21440        doc(cfg(any(
21441            cpp_lib_version = "5.14.0",
21442            cpp_lib_version = "5.11.3",
21443            cpp_lib_version = "5.12.2",
21444            cpp_lib_version = "5.13.0"
21445        )))
21446    )]
21447    #[cfg(any(
21448        any(
21449            cpp_lib_version = "5.14.0",
21450            cpp_lib_version = "5.11.3",
21451            cpp_lib_version = "5.12.2",
21452            cpp_lib_version = "5.13.0"
21453        ),
21454        feature = "ritual_rustdoc"
21455    ))]
21456    pub unsafe fn set<T: FnMut(crate::q_skeleton_loader::Status) + 'static>(&self, callback: T) {
21457        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
21458            unsafe {
21459                let _ = Box::from_raw(data as *mut T);
21460            }
21461        }
21462        extern "C" fn ffi_callback<T: FnMut(crate::q_skeleton_loader::Status) + 'static>(
21463            data: *mut ::std::ffi::c_void,
21464            arg0: crate::q_skeleton_loader::Status,
21465        ) {
21466            unsafe { (*(data as *mut T))(arg0) }
21467        }
21468        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
21469        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_set(self as *const crate::SlotOfStatus as *mut crate::SlotOfStatus, Some(ffi_callback::<T>), Some(deleter::<T>), data)
21470    }
21471
21472    /// Calls the slot directly, invoking the assigned handler (if any).
21473    #[inline(always)]
21474    #[cfg_attr(
21475        feature = "ritual_rustdoc_nightly",
21476        doc(cfg(any(
21477            cpp_lib_version = "5.14.0",
21478            cpp_lib_version = "5.11.3",
21479            cpp_lib_version = "5.12.2",
21480            cpp_lib_version = "5.13.0"
21481        )))
21482    )]
21483    #[cfg(any(
21484        any(
21485            cpp_lib_version = "5.14.0",
21486            cpp_lib_version = "5.11.3",
21487            cpp_lib_version = "5.12.2",
21488            cpp_lib_version = "5.13.0"
21489        ),
21490        feature = "ritual_rustdoc"
21491    ))]
21492    pub unsafe fn slot(&self, arg0: crate::q_skeleton_loader::Status) {
21493        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_slot_(self as *const crate::SlotOfStatus as *mut crate::SlotOfStatus, arg0)
21494    }
21495
21496    #[inline(always)]
21497    #[cfg_attr(
21498        feature = "ritual_rustdoc_nightly",
21499        doc(cfg(any(
21500            cpp_lib_version = "5.14.0",
21501            cpp_lib_version = "5.11.3",
21502            cpp_lib_version = "5.12.2",
21503            cpp_lib_version = "5.13.0"
21504        )))
21505    )]
21506    #[cfg(any(
21507        any(
21508            cpp_lib_version = "5.14.0",
21509            cpp_lib_version = "5.11.3",
21510            cpp_lib_version = "5.12.2",
21511            cpp_lib_version = "5.13.0"
21512        ),
21513        feature = "ritual_rustdoc"
21514    ))]
21515    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
21516        let ffi_result = {
21517            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_staticMetaObject()
21518        };
21519        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21520            .expect("attempted to construct a null Ref")
21521    }
21522
21523    #[inline(always)]
21524    #[cfg_attr(
21525        feature = "ritual_rustdoc_nightly",
21526        doc(cfg(any(
21527            cpp_lib_version = "5.14.0",
21528            cpp_lib_version = "5.11.3",
21529            cpp_lib_version = "5.12.2",
21530            cpp_lib_version = "5.13.0"
21531        )))
21532    )]
21533    #[cfg(any(
21534        any(
21535            cpp_lib_version = "5.14.0",
21536            cpp_lib_version = "5.11.3",
21537            cpp_lib_version = "5.12.2",
21538            cpp_lib_version = "5.13.0"
21539        ),
21540        feature = "ritual_rustdoc"
21541    ))]
21542    pub unsafe fn tr(
21543        s: *const ::std::os::raw::c_char,
21544        c: *const ::std::os::raw::c_char,
21545        n: ::std::os::raw::c_int,
21546    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21547        let ffi_result = {
21548            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_tr(s, c, n)
21549        };
21550        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21551    }
21552
21553    #[inline(always)]
21554    #[cfg_attr(
21555        feature = "ritual_rustdoc_nightly",
21556        doc(cfg(any(
21557            cpp_lib_version = "5.14.0",
21558            cpp_lib_version = "5.11.3",
21559            cpp_lib_version = "5.12.2",
21560            cpp_lib_version = "5.13.0"
21561        )))
21562    )]
21563    #[cfg(any(
21564        any(
21565            cpp_lib_version = "5.14.0",
21566            cpp_lib_version = "5.11.3",
21567            cpp_lib_version = "5.12.2",
21568            cpp_lib_version = "5.13.0"
21569        ),
21570        feature = "ritual_rustdoc"
21571    ))]
21572    pub unsafe fn tr_utf8(
21573        s: *const ::std::os::raw::c_char,
21574        c: *const ::std::os::raw::c_char,
21575        n: ::std::os::raw::c_int,
21576    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21577        let ffi_result = {
21578            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_trUtf8(s, c, n)
21579        };
21580        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21581    }
21582}
21583
21584#[cfg_attr(
21585    feature = "ritual_rustdoc_nightly",
21586    doc(cfg(any(
21587        cpp_lib_version = "5.14.0",
21588        cpp_lib_version = "5.11.3",
21589        cpp_lib_version = "5.12.2",
21590        cpp_lib_version = "5.13.0"
21591    )))
21592)]
21593#[cfg(any(
21594    any(
21595        cpp_lib_version = "5.14.0",
21596        cpp_lib_version = "5.11.3",
21597        cpp_lib_version = "5.12.2",
21598        cpp_lib_version = "5.13.0"
21599    ),
21600    feature = "ritual_rustdoc"
21601))]
21602
21603impl ::qt_core::AsReceiver for crate::SlotOfQAbstractSkeleton {
21604    type Arguments = (*mut crate::QAbstractSkeleton,);
21605    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
21606        unsafe {
21607            ::qt_core::Receiver::new(
21608                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
21609                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
21610                    b"1slot_(Qt3DCore::QAbstractSkeleton *)\0",
21611                ),
21612            )
21613        }
21614    }
21615}
21616
21617/// Binds a Qt signal with arguments `*mut crate::QAbstractSkeleton` to a Rust closure.
21618///
21619/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QAbstractSkeleton*```</span>).
21620///
21621/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
21622///
21623/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
21624///
21625/// If `set()` was not called, slot invocation has no effect.
21626#[repr(C)]
21627pub struct SlotOfQAbstractSkeleton {
21628    _unused: u8,
21629}
21630impl SlotOfQAbstractSkeleton {
21631    #[inline(always)]
21632    #[cfg_attr(
21633        feature = "ritual_rustdoc_nightly",
21634        doc(cfg(any(
21635            cpp_lib_version = "5.14.0",
21636            cpp_lib_version = "5.11.3",
21637            cpp_lib_version = "5.12.2",
21638            cpp_lib_version = "5.13.0"
21639        )))
21640    )]
21641    #[cfg(any(
21642        any(
21643            cpp_lib_version = "5.14.0",
21644            cpp_lib_version = "5.11.3",
21645            cpp_lib_version = "5.12.2",
21646            cpp_lib_version = "5.13.0"
21647        ),
21648        feature = "ritual_rustdoc"
21649    ))]
21650    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
21651        let ffi_result = {
21652            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_metaObject(self as *const crate::SlotOfQAbstractSkeleton)
21653        };
21654        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21655    }
21656
21657    /// Creates a new object.
21658    #[inline(always)]
21659    #[cfg_attr(
21660        feature = "ritual_rustdoc_nightly",
21661        doc(cfg(any(
21662            cpp_lib_version = "5.14.0",
21663            cpp_lib_version = "5.11.3",
21664            cpp_lib_version = "5.12.2",
21665            cpp_lib_version = "5.13.0"
21666        )))
21667    )]
21668    #[cfg(any(
21669        any(
21670            cpp_lib_version = "5.14.0",
21671            cpp_lib_version = "5.11.3",
21672            cpp_lib_version = "5.12.2",
21673            cpp_lib_version = "5.13.0"
21674        ),
21675        feature = "ritual_rustdoc"
21676    ))]
21677    pub unsafe fn new<T: FnMut(::qt_core::QPtr<crate::QAbstractSkeleton>) + 'static>(
21678        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
21679        callback: T,
21680    ) -> ::qt_core::QBox<crate::SlotOfQAbstractSkeleton> {
21681        let ffi_result = {
21682            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
21683                unsafe {
21684                    let _ = Box::from_raw(data as *mut T);
21685                }
21686            }
21687            extern "C" fn ffi_callback<
21688                T: FnMut(::qt_core::QPtr<crate::QAbstractSkeleton>) + 'static,
21689            >(
21690                data: *mut ::std::ffi::c_void,
21691                arg0: *mut crate::QAbstractSkeleton,
21692            ) {
21693                unsafe { (*(data as *mut T))(::qt_core::QPtr::from_raw(arg0)) }
21694            }
21695            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
21696            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
21697        };
21698        ::qt_core::QBox::from_raw(ffi_result)
21699    }
21700
21701    #[inline(always)]
21702    #[cfg_attr(
21703        feature = "ritual_rustdoc_nightly",
21704        doc(cfg(any(
21705            cpp_lib_version = "5.14.0",
21706            cpp_lib_version = "5.11.3",
21707            cpp_lib_version = "5.12.2",
21708            cpp_lib_version = "5.13.0"
21709        )))
21710    )]
21711    #[cfg(any(
21712        any(
21713            cpp_lib_version = "5.14.0",
21714            cpp_lib_version = "5.11.3",
21715            cpp_lib_version = "5.12.2",
21716            cpp_lib_version = "5.13.0"
21717        ),
21718        feature = "ritual_rustdoc"
21719    ))]
21720    pub unsafe fn qt_metacall(
21721        &self,
21722        arg1: ::qt_core::q_meta_object::Call,
21723        arg2: ::std::os::raw::c_int,
21724        arg3: *mut *mut ::std::ffi::c_void,
21725    ) -> ::std::os::raw::c_int {
21726        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_qt_metacall(self as *const crate::SlotOfQAbstractSkeleton as *mut crate::SlotOfQAbstractSkeleton, arg1, arg2, arg3)
21727    }
21728
21729    #[inline(always)]
21730    #[cfg_attr(
21731        feature = "ritual_rustdoc_nightly",
21732        doc(cfg(any(
21733            cpp_lib_version = "5.14.0",
21734            cpp_lib_version = "5.11.3",
21735            cpp_lib_version = "5.12.2",
21736            cpp_lib_version = "5.13.0"
21737        )))
21738    )]
21739    #[cfg(any(
21740        any(
21741            cpp_lib_version = "5.14.0",
21742            cpp_lib_version = "5.11.3",
21743            cpp_lib_version = "5.12.2",
21744            cpp_lib_version = "5.13.0"
21745        ),
21746        feature = "ritual_rustdoc"
21747    ))]
21748    pub unsafe fn qt_metacast(
21749        &self,
21750        arg1: *const ::std::os::raw::c_char,
21751    ) -> *mut ::std::ffi::c_void {
21752        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_qt_metacast(self as *const crate::SlotOfQAbstractSkeleton as *mut crate::SlotOfQAbstractSkeleton, arg1)
21753    }
21754
21755    /// Assigns `callback` as the signal handler.
21756    ///
21757    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
21758    #[inline(always)]
21759    #[cfg_attr(
21760        feature = "ritual_rustdoc_nightly",
21761        doc(cfg(any(
21762            cpp_lib_version = "5.14.0",
21763            cpp_lib_version = "5.11.3",
21764            cpp_lib_version = "5.12.2",
21765            cpp_lib_version = "5.13.0"
21766        )))
21767    )]
21768    #[cfg(any(
21769        any(
21770            cpp_lib_version = "5.14.0",
21771            cpp_lib_version = "5.11.3",
21772            cpp_lib_version = "5.12.2",
21773            cpp_lib_version = "5.13.0"
21774        ),
21775        feature = "ritual_rustdoc"
21776    ))]
21777    pub unsafe fn set<T: FnMut(::qt_core::QPtr<crate::QAbstractSkeleton>) + 'static>(
21778        &self,
21779        callback: T,
21780    ) {
21781        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
21782            unsafe {
21783                let _ = Box::from_raw(data as *mut T);
21784            }
21785        }
21786        extern "C" fn ffi_callback<
21787            T: FnMut(::qt_core::QPtr<crate::QAbstractSkeleton>) + 'static,
21788        >(
21789            data: *mut ::std::ffi::c_void,
21790            arg0: *mut crate::QAbstractSkeleton,
21791        ) {
21792            unsafe { (*(data as *mut T))(::qt_core::QPtr::from_raw(arg0)) }
21793        }
21794        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
21795        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_set(self as *const crate::SlotOfQAbstractSkeleton as *mut crate::SlotOfQAbstractSkeleton, Some(ffi_callback::<T>), Some(deleter::<T>), data)
21796    }
21797
21798    /// Calls the slot directly, invoking the assigned handler (if any).
21799    #[inline(always)]
21800    #[cfg_attr(
21801        feature = "ritual_rustdoc_nightly",
21802        doc(cfg(any(
21803            cpp_lib_version = "5.14.0",
21804            cpp_lib_version = "5.11.3",
21805            cpp_lib_version = "5.12.2",
21806            cpp_lib_version = "5.13.0"
21807        )))
21808    )]
21809    #[cfg(any(
21810        any(
21811            cpp_lib_version = "5.14.0",
21812            cpp_lib_version = "5.11.3",
21813            cpp_lib_version = "5.12.2",
21814            cpp_lib_version = "5.13.0"
21815        ),
21816        feature = "ritual_rustdoc"
21817    ))]
21818    pub unsafe fn slot(
21819        &self,
21820        arg0: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QAbstractSkeleton>>,
21821    ) {
21822        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_slot_(self as *const crate::SlotOfQAbstractSkeleton as *mut crate::SlotOfQAbstractSkeleton, ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QAbstractSkeleton>>::cast_into(arg0).as_raw_ptr() as *mut crate::QAbstractSkeleton)
21823    }
21824
21825    #[inline(always)]
21826    #[cfg_attr(
21827        feature = "ritual_rustdoc_nightly",
21828        doc(cfg(any(
21829            cpp_lib_version = "5.14.0",
21830            cpp_lib_version = "5.11.3",
21831            cpp_lib_version = "5.12.2",
21832            cpp_lib_version = "5.13.0"
21833        )))
21834    )]
21835    #[cfg(any(
21836        any(
21837            cpp_lib_version = "5.14.0",
21838            cpp_lib_version = "5.11.3",
21839            cpp_lib_version = "5.12.2",
21840            cpp_lib_version = "5.13.0"
21841        ),
21842        feature = "ritual_rustdoc"
21843    ))]
21844    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
21845        let ffi_result = {
21846            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_staticMetaObject()
21847        };
21848        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21849            .expect("attempted to construct a null Ref")
21850    }
21851
21852    #[inline(always)]
21853    #[cfg_attr(
21854        feature = "ritual_rustdoc_nightly",
21855        doc(cfg(any(
21856            cpp_lib_version = "5.14.0",
21857            cpp_lib_version = "5.11.3",
21858            cpp_lib_version = "5.12.2",
21859            cpp_lib_version = "5.13.0"
21860        )))
21861    )]
21862    #[cfg(any(
21863        any(
21864            cpp_lib_version = "5.14.0",
21865            cpp_lib_version = "5.11.3",
21866            cpp_lib_version = "5.12.2",
21867            cpp_lib_version = "5.13.0"
21868        ),
21869        feature = "ritual_rustdoc"
21870    ))]
21871    pub unsafe fn tr(
21872        s: *const ::std::os::raw::c_char,
21873        c: *const ::std::os::raw::c_char,
21874        n: ::std::os::raw::c_int,
21875    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21876        let ffi_result = {
21877            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_tr(s, c, n)
21878        };
21879        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21880    }
21881
21882    #[inline(always)]
21883    #[cfg_attr(
21884        feature = "ritual_rustdoc_nightly",
21885        doc(cfg(any(
21886            cpp_lib_version = "5.14.0",
21887            cpp_lib_version = "5.11.3",
21888            cpp_lib_version = "5.12.2",
21889            cpp_lib_version = "5.13.0"
21890        )))
21891    )]
21892    #[cfg(any(
21893        any(
21894            cpp_lib_version = "5.14.0",
21895            cpp_lib_version = "5.11.3",
21896            cpp_lib_version = "5.12.2",
21897            cpp_lib_version = "5.13.0"
21898        ),
21899        feature = "ritual_rustdoc"
21900    ))]
21901    pub unsafe fn tr_utf8(
21902        s: *const ::std::os::raw::c_char,
21903        c: *const ::std::os::raw::c_char,
21904        n: ::std::os::raw::c_int,
21905    ) -> ::cpp_core::CppBox<::qt_core::QString> {
21906        let ffi_result = {
21907            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_trUtf8(s, c, n)
21908        };
21909        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
21910    }
21911}
21912
21913impl ::qt_core::AsReceiver for crate::SlotOfPropertyTrackingMode {
21914    type Arguments = (crate::q_node::PropertyTrackingMode,);
21915    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
21916        unsafe {
21917            ::qt_core::Receiver::new(
21918                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
21919                ::std::ffi::CStr::from_bytes_with_nul_unchecked(
21920                    b"1slot_(Qt3DCore::QNode::PropertyTrackingMode)\0",
21921                ),
21922            )
21923        }
21924    }
21925}
21926
21927/// Binds a Qt signal with arguments `crate::q_node::PropertyTrackingMode` to a Rust closure.
21928///
21929/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QNode::PropertyTrackingMode```</span>).
21930///
21931/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
21932///
21933/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
21934///
21935/// If `set()` was not called, slot invocation has no effect.
21936#[repr(C)]
21937pub struct SlotOfPropertyTrackingMode {
21938    _unused: u8,
21939}
21940impl SlotOfPropertyTrackingMode {
21941    #[inline(always)]
21942    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
21943        let ffi_result = {
21944            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_metaObject(self as *const crate::SlotOfPropertyTrackingMode)
21945        };
21946        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
21947    }
21948
21949    /// Creates a new object.
21950    #[inline(always)]
21951    pub unsafe fn new<T: FnMut(crate::q_node::PropertyTrackingMode) + 'static>(
21952        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
21953        callback: T,
21954    ) -> ::qt_core::QBox<crate::SlotOfPropertyTrackingMode> {
21955        let ffi_result = {
21956            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
21957                unsafe {
21958                    let _ = Box::from_raw(data as *mut T);
21959                }
21960            }
21961            extern "C" fn ffi_callback<T: FnMut(crate::q_node::PropertyTrackingMode) + 'static>(
21962                data: *mut ::std::ffi::c_void,
21963                arg0: crate::q_node::PropertyTrackingMode,
21964            ) {
21965                unsafe { (*(data as *mut T))(arg0) }
21966            }
21967            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
21968            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
21969        };
21970        ::qt_core::QBox::from_raw(ffi_result)
21971    }
21972
21973    #[inline(always)]
21974    pub unsafe fn qt_metacall(
21975        &self,
21976        arg1: ::qt_core::q_meta_object::Call,
21977        arg2: ::std::os::raw::c_int,
21978        arg3: *mut *mut ::std::ffi::c_void,
21979    ) -> ::std::os::raw::c_int {
21980        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_qt_metacall(self as *const crate::SlotOfPropertyTrackingMode as *mut crate::SlotOfPropertyTrackingMode, arg1, arg2, arg3)
21981    }
21982
21983    #[inline(always)]
21984    pub unsafe fn qt_metacast(
21985        &self,
21986        arg1: *const ::std::os::raw::c_char,
21987    ) -> *mut ::std::ffi::c_void {
21988        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_qt_metacast(self as *const crate::SlotOfPropertyTrackingMode as *mut crate::SlotOfPropertyTrackingMode, arg1)
21989    }
21990
21991    /// Assigns `callback` as the signal handler.
21992    ///
21993    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
21994    #[inline(always)]
21995    pub unsafe fn set<T: FnMut(crate::q_node::PropertyTrackingMode) + 'static>(&self, callback: T) {
21996        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
21997            unsafe {
21998                let _ = Box::from_raw(data as *mut T);
21999            }
22000        }
22001        extern "C" fn ffi_callback<T: FnMut(crate::q_node::PropertyTrackingMode) + 'static>(
22002            data: *mut ::std::ffi::c_void,
22003            arg0: crate::q_node::PropertyTrackingMode,
22004        ) {
22005            unsafe { (*(data as *mut T))(arg0) }
22006        }
22007        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22008        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_set(self as *const crate::SlotOfPropertyTrackingMode as *mut crate::SlotOfPropertyTrackingMode, Some(ffi_callback::<T>), Some(deleter::<T>), data)
22009    }
22010
22011    /// Calls the slot directly, invoking the assigned handler (if any).
22012    #[inline(always)]
22013    pub unsafe fn slot(&self, arg0: crate::q_node::PropertyTrackingMode) {
22014        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_slot_(self as *const crate::SlotOfPropertyTrackingMode as *mut crate::SlotOfPropertyTrackingMode, arg0)
22015    }
22016
22017    #[inline(always)]
22018    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
22019        let ffi_result = {
22020            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_staticMetaObject()
22021        };
22022        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22023            .expect("attempted to construct a null Ref")
22024    }
22025
22026    #[inline(always)]
22027    pub unsafe fn tr(
22028        s: *const ::std::os::raw::c_char,
22029        c: *const ::std::os::raw::c_char,
22030        n: ::std::os::raw::c_int,
22031    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22032        let ffi_result = {
22033            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_tr(s, c, n)
22034        };
22035        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22036    }
22037
22038    #[inline(always)]
22039    pub unsafe fn tr_utf8(
22040        s: *const ::std::os::raw::c_char,
22041        c: *const ::std::os::raw::c_char,
22042        n: ::std::os::raw::c_int,
22043    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22044        let ffi_result = {
22045            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_trUtf8(s, c, n)
22046        };
22047        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22048    }
22049}
22050
22051impl ::qt_core::AsReceiver for crate::SlotOfQQuaternion {
22052    type Arguments = (*const ::qt_gui::QQuaternion,);
22053    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
22054        unsafe {
22055            ::qt_core::Receiver::new(
22056                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
22057                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1slot_(QQuaternion const &)\0"),
22058            )
22059        }
22060    }
22061}
22062
22063/// Binds a Qt signal with arguments `*const ::qt_gui::QQuaternion` to a Rust closure.
22064///
22065/// Corresponding C++ argument types: (<span style='color: green;'>```const QQuaternion&```</span>).
22066///
22067/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
22068///
22069/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
22070///
22071/// If `set()` was not called, slot invocation has no effect.
22072#[repr(C)]
22073pub struct SlotOfQQuaternion {
22074    _unused: u8,
22075}
22076impl SlotOfQQuaternion {
22077    #[inline(always)]
22078    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
22079        let ffi_result = {
22080            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_metaObject(self as *const crate::SlotOfQQuaternion)
22081        };
22082        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22083    }
22084
22085    /// Creates a new object.
22086    #[inline(always)]
22087    pub unsafe fn new<T: FnMut(::cpp_core::Ref<::qt_gui::QQuaternion>) + 'static>(
22088        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
22089        callback: T,
22090    ) -> ::qt_core::QBox<crate::SlotOfQQuaternion> {
22091        let ffi_result = {
22092            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22093                unsafe {
22094                    let _ = Box::from_raw(data as *mut T);
22095                }
22096            }
22097            extern "C" fn ffi_callback<
22098                T: FnMut(::cpp_core::Ref<::qt_gui::QQuaternion>) + 'static,
22099            >(
22100                data: *mut ::std::ffi::c_void,
22101                arg0: *const ::qt_gui::QQuaternion,
22102            ) {
22103                unsafe {
22104                    (*(data as *mut T))(
22105                        ::cpp_core::Ref::from_raw(arg0 as *mut ::qt_gui::QQuaternion)
22106                            .expect("attempted to construct a null Ref"),
22107                    )
22108                }
22109            }
22110            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22111            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
22112        };
22113        ::qt_core::QBox::from_raw(ffi_result)
22114    }
22115
22116    #[inline(always)]
22117    pub unsafe fn qt_metacall(
22118        &self,
22119        arg1: ::qt_core::q_meta_object::Call,
22120        arg2: ::std::os::raw::c_int,
22121        arg3: *mut *mut ::std::ffi::c_void,
22122    ) -> ::std::os::raw::c_int {
22123        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_qt_metacall(self as *const crate::SlotOfQQuaternion as *mut crate::SlotOfQQuaternion, arg1, arg2, arg3)
22124    }
22125
22126    #[inline(always)]
22127    pub unsafe fn qt_metacast(
22128        &self,
22129        arg1: *const ::std::os::raw::c_char,
22130    ) -> *mut ::std::ffi::c_void {
22131        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_qt_metacast(self as *const crate::SlotOfQQuaternion as *mut crate::SlotOfQQuaternion, arg1)
22132    }
22133
22134    /// Assigns `callback` as the signal handler.
22135    ///
22136    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
22137    #[inline(always)]
22138    pub unsafe fn set<T: FnMut(::cpp_core::Ref<::qt_gui::QQuaternion>) + 'static>(
22139        &self,
22140        callback: T,
22141    ) {
22142        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22143            unsafe {
22144                let _ = Box::from_raw(data as *mut T);
22145            }
22146        }
22147        extern "C" fn ffi_callback<T: FnMut(::cpp_core::Ref<::qt_gui::QQuaternion>) + 'static>(
22148            data: *mut ::std::ffi::c_void,
22149            arg0: *const ::qt_gui::QQuaternion,
22150        ) {
22151            unsafe {
22152                (*(data as *mut T))(
22153                    ::cpp_core::Ref::from_raw(arg0 as *mut ::qt_gui::QQuaternion)
22154                        .expect("attempted to construct a null Ref"),
22155                )
22156            }
22157        }
22158        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22159        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_set(
22160            self as *const crate::SlotOfQQuaternion as *mut crate::SlotOfQQuaternion,
22161            Some(ffi_callback::<T>),
22162            Some(deleter::<T>),
22163            data,
22164        )
22165    }
22166
22167    /// Calls the slot directly, invoking the assigned handler (if any).
22168    #[inline(always)]
22169    pub unsafe fn slot(
22170        &self,
22171        arg0: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QQuaternion>>,
22172    ) {
22173        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_slot_(
22174            self as *const crate::SlotOfQQuaternion as *mut crate::SlotOfQQuaternion,
22175            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QQuaternion>>::cast_into(arg0)
22176                .as_raw_ptr(),
22177        )
22178    }
22179
22180    #[inline(always)]
22181    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
22182        let ffi_result = {
22183            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_staticMetaObject()
22184        };
22185        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22186            .expect("attempted to construct a null Ref")
22187    }
22188
22189    #[inline(always)]
22190    pub unsafe fn tr(
22191        s: *const ::std::os::raw::c_char,
22192        c: *const ::std::os::raw::c_char,
22193        n: ::std::os::raw::c_int,
22194    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22195        let ffi_result = {
22196            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_tr(s, c, n)
22197        };
22198        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22199    }
22200
22201    #[inline(always)]
22202    pub unsafe fn tr_utf8(
22203        s: *const ::std::os::raw::c_char,
22204        c: *const ::std::os::raw::c_char,
22205        n: ::std::os::raw::c_int,
22206    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22207        let ffi_result = {
22208            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_trUtf8(s, c, n)
22209        };
22210        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22211    }
22212}
22213
22214impl ::qt_core::AsReceiver for crate::SlotOfQEntity {
22215    type Arguments = (*mut crate::QEntity,);
22216    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
22217        unsafe {
22218            ::qt_core::Receiver::new(
22219                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
22220                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1slot_(Qt3DCore::QEntity *)\0"),
22221            )
22222        }
22223    }
22224}
22225
22226/// Binds a Qt signal with arguments `*mut crate::QEntity` to a Rust closure.
22227///
22228/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QEntity*```</span>).
22229///
22230/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
22231///
22232/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
22233///
22234/// If `set()` was not called, slot invocation has no effect.
22235#[repr(C)]
22236pub struct SlotOfQEntity {
22237    _unused: u8,
22238}
22239impl SlotOfQEntity {
22240    #[inline(always)]
22241    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
22242        let ffi_result = {
22243            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_metaObject(self as *const crate::SlotOfQEntity)
22244        };
22245        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22246    }
22247
22248    /// Creates a new object.
22249    #[inline(always)]
22250    pub unsafe fn new<T: FnMut(::qt_core::QPtr<crate::QEntity>) + 'static>(
22251        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
22252        callback: T,
22253    ) -> ::qt_core::QBox<crate::SlotOfQEntity> {
22254        let ffi_result = {
22255            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22256                unsafe {
22257                    let _ = Box::from_raw(data as *mut T);
22258                }
22259            }
22260            extern "C" fn ffi_callback<T: FnMut(::qt_core::QPtr<crate::QEntity>) + 'static>(
22261                data: *mut ::std::ffi::c_void,
22262                arg0: *mut crate::QEntity,
22263            ) {
22264                unsafe { (*(data as *mut T))(::qt_core::QPtr::from_raw(arg0)) }
22265            }
22266            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22267            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
22268        };
22269        ::qt_core::QBox::from_raw(ffi_result)
22270    }
22271
22272    #[inline(always)]
22273    pub unsafe fn qt_metacall(
22274        &self,
22275        arg1: ::qt_core::q_meta_object::Call,
22276        arg2: ::std::os::raw::c_int,
22277        arg3: *mut *mut ::std::ffi::c_void,
22278    ) -> ::std::os::raw::c_int {
22279        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_qt_metacall(self as *const crate::SlotOfQEntity as *mut crate::SlotOfQEntity, arg1, arg2, arg3)
22280    }
22281
22282    #[inline(always)]
22283    pub unsafe fn qt_metacast(
22284        &self,
22285        arg1: *const ::std::os::raw::c_char,
22286    ) -> *mut ::std::ffi::c_void {
22287        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_qt_metacast(self as *const crate::SlotOfQEntity as *mut crate::SlotOfQEntity, arg1)
22288    }
22289
22290    /// Assigns `callback` as the signal handler.
22291    ///
22292    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
22293    #[inline(always)]
22294    pub unsafe fn set<T: FnMut(::qt_core::QPtr<crate::QEntity>) + 'static>(&self, callback: T) {
22295        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22296            unsafe {
22297                let _ = Box::from_raw(data as *mut T);
22298            }
22299        }
22300        extern "C" fn ffi_callback<T: FnMut(::qt_core::QPtr<crate::QEntity>) + 'static>(
22301            data: *mut ::std::ffi::c_void,
22302            arg0: *mut crate::QEntity,
22303        ) {
22304            unsafe { (*(data as *mut T))(::qt_core::QPtr::from_raw(arg0)) }
22305        }
22306        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22307        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_set(
22308            self as *const crate::SlotOfQEntity as *mut crate::SlotOfQEntity,
22309            Some(ffi_callback::<T>),
22310            Some(deleter::<T>),
22311            data,
22312        )
22313    }
22314
22315    /// Calls the slot directly, invoking the assigned handler (if any).
22316    #[inline(always)]
22317    pub unsafe fn slot(&self, arg0: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QEntity>>) {
22318        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_slot_(
22319            self as *const crate::SlotOfQEntity as *mut crate::SlotOfQEntity,
22320            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QEntity>>::cast_into(arg0).as_raw_ptr()
22321                as *mut crate::QEntity,
22322        )
22323    }
22324
22325    #[inline(always)]
22326    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
22327        let ffi_result = {
22328            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_staticMetaObject()
22329        };
22330        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22331            .expect("attempted to construct a null Ref")
22332    }
22333
22334    #[inline(always)]
22335    pub unsafe fn tr(
22336        s: *const ::std::os::raw::c_char,
22337        c: *const ::std::os::raw::c_char,
22338        n: ::std::os::raw::c_int,
22339    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22340        let ffi_result = {
22341            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_tr(
22342                s, c, n,
22343            )
22344        };
22345        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22346    }
22347
22348    #[inline(always)]
22349    pub unsafe fn tr_utf8(
22350        s: *const ::std::os::raw::c_char,
22351        c: *const ::std::os::raw::c_char,
22352        n: ::std::os::raw::c_int,
22353    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22354        let ffi_result = {
22355            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_trUtf8(s, c, n)
22356        };
22357        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22358    }
22359}
22360
22361impl ::qt_core::AsReceiver for crate::SlotOfQMatrix4X4 {
22362    type Arguments = (*const ::qt_gui::QMatrix4X4,);
22363    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
22364        unsafe {
22365            ::qt_core::Receiver::new(
22366                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
22367                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1slot_(QMatrix4x4 const &)\0"),
22368            )
22369        }
22370    }
22371}
22372
22373/// Binds a Qt signal with arguments `*const ::qt_gui::QMatrix4X4` to a Rust closure.
22374///
22375/// Corresponding C++ argument types: (<span style='color: green;'>```const QMatrix4x4&```</span>).
22376///
22377/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
22378///
22379/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
22380///
22381/// If `set()` was not called, slot invocation has no effect.
22382#[repr(C)]
22383pub struct SlotOfQMatrix4X4 {
22384    _unused: u8,
22385}
22386impl SlotOfQMatrix4X4 {
22387    #[inline(always)]
22388    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
22389        let ffi_result = {
22390            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_metaObject(self as *const crate::SlotOfQMatrix4X4)
22391        };
22392        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22393    }
22394
22395    /// Creates a new object.
22396    #[inline(always)]
22397    pub unsafe fn new<T: FnMut(::cpp_core::Ref<::qt_gui::QMatrix4X4>) + 'static>(
22398        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
22399        callback: T,
22400    ) -> ::qt_core::QBox<crate::SlotOfQMatrix4X4> {
22401        let ffi_result = {
22402            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22403                unsafe {
22404                    let _ = Box::from_raw(data as *mut T);
22405                }
22406            }
22407            extern "C" fn ffi_callback<
22408                T: FnMut(::cpp_core::Ref<::qt_gui::QMatrix4X4>) + 'static,
22409            >(
22410                data: *mut ::std::ffi::c_void,
22411                arg0: *const ::qt_gui::QMatrix4X4,
22412            ) {
22413                unsafe {
22414                    (*(data as *mut T))(
22415                        ::cpp_core::Ref::from_raw(arg0 as *mut ::qt_gui::QMatrix4X4)
22416                            .expect("attempted to construct a null Ref"),
22417                    )
22418                }
22419            }
22420            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22421            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
22422        };
22423        ::qt_core::QBox::from_raw(ffi_result)
22424    }
22425
22426    #[inline(always)]
22427    pub unsafe fn qt_metacall(
22428        &self,
22429        arg1: ::qt_core::q_meta_object::Call,
22430        arg2: ::std::os::raw::c_int,
22431        arg3: *mut *mut ::std::ffi::c_void,
22432    ) -> ::std::os::raw::c_int {
22433        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_qt_metacall(self as *const crate::SlotOfQMatrix4X4 as *mut crate::SlotOfQMatrix4X4, arg1, arg2, arg3)
22434    }
22435
22436    #[inline(always)]
22437    pub unsafe fn qt_metacast(
22438        &self,
22439        arg1: *const ::std::os::raw::c_char,
22440    ) -> *mut ::std::ffi::c_void {
22441        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_qt_metacast(self as *const crate::SlotOfQMatrix4X4 as *mut crate::SlotOfQMatrix4X4, arg1)
22442    }
22443
22444    /// Assigns `callback` as the signal handler.
22445    ///
22446    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
22447    #[inline(always)]
22448    pub unsafe fn set<T: FnMut(::cpp_core::Ref<::qt_gui::QMatrix4X4>) + 'static>(
22449        &self,
22450        callback: T,
22451    ) {
22452        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22453            unsafe {
22454                let _ = Box::from_raw(data as *mut T);
22455            }
22456        }
22457        extern "C" fn ffi_callback<T: FnMut(::cpp_core::Ref<::qt_gui::QMatrix4X4>) + 'static>(
22458            data: *mut ::std::ffi::c_void,
22459            arg0: *const ::qt_gui::QMatrix4X4,
22460        ) {
22461            unsafe {
22462                (*(data as *mut T))(
22463                    ::cpp_core::Ref::from_raw(arg0 as *mut ::qt_gui::QMatrix4X4)
22464                        .expect("attempted to construct a null Ref"),
22465                )
22466            }
22467        }
22468        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22469        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_set(
22470            self as *const crate::SlotOfQMatrix4X4 as *mut crate::SlotOfQMatrix4X4,
22471            Some(ffi_callback::<T>),
22472            Some(deleter::<T>),
22473            data,
22474        )
22475    }
22476
22477    /// Calls the slot directly, invoking the assigned handler (if any).
22478    #[inline(always)]
22479    pub unsafe fn slot(
22480        &self,
22481        arg0: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QMatrix4X4>>,
22482    ) {
22483        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_slot_(
22484            self as *const crate::SlotOfQMatrix4X4 as *mut crate::SlotOfQMatrix4X4,
22485            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QMatrix4X4>>::cast_into(arg0)
22486                .as_raw_ptr(),
22487        )
22488    }
22489
22490    #[inline(always)]
22491    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
22492        let ffi_result = {
22493            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_staticMetaObject()
22494        };
22495        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22496            .expect("attempted to construct a null Ref")
22497    }
22498
22499    #[inline(always)]
22500    pub unsafe fn tr(
22501        s: *const ::std::os::raw::c_char,
22502        c: *const ::std::os::raw::c_char,
22503        n: ::std::os::raw::c_int,
22504    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22505        let ffi_result = {
22506            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_tr(
22507                s, c, n,
22508            )
22509        };
22510        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22511    }
22512
22513    #[inline(always)]
22514    pub unsafe fn tr_utf8(
22515        s: *const ::std::os::raw::c_char,
22516        c: *const ::std::os::raw::c_char,
22517        n: ::std::os::raw::c_int,
22518    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22519        let ffi_result = {
22520            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_trUtf8(s, c, n)
22521        };
22522        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22523    }
22524}
22525
22526#[cfg_attr(
22527    feature = "ritual_rustdoc_nightly",
22528    doc(cfg(any(
22529        cpp_lib_version = "5.14.0",
22530        cpp_lib_version = "5.11.3",
22531        cpp_lib_version = "5.12.2",
22532        cpp_lib_version = "5.13.0"
22533    )))
22534)]
22535#[cfg(any(
22536    any(
22537        cpp_lib_version = "5.14.0",
22538        cpp_lib_version = "5.11.3",
22539        cpp_lib_version = "5.12.2",
22540        cpp_lib_version = "5.13.0"
22541    ),
22542    feature = "ritual_rustdoc"
22543))]
22544
22545impl ::qt_core::AsReceiver for crate::SlotOfQJoint {
22546    type Arguments = (*mut crate::QJoint,);
22547    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
22548        unsafe {
22549            ::qt_core::Receiver::new(
22550                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
22551                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1slot_(Qt3DCore::QJoint *)\0"),
22552            )
22553        }
22554    }
22555}
22556
22557/// Binds a Qt signal with arguments `*mut crate::QJoint` to a Rust closure.
22558///
22559/// Corresponding C++ argument types: (<span style='color: green;'>```Qt3DCore::QJoint*```</span>).
22560///
22561/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
22562///
22563/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
22564///
22565/// If `set()` was not called, slot invocation has no effect.
22566#[repr(C)]
22567pub struct SlotOfQJoint {
22568    _unused: u8,
22569}
22570impl SlotOfQJoint {
22571    #[inline(always)]
22572    #[cfg_attr(
22573        feature = "ritual_rustdoc_nightly",
22574        doc(cfg(any(
22575            cpp_lib_version = "5.14.0",
22576            cpp_lib_version = "5.11.3",
22577            cpp_lib_version = "5.12.2",
22578            cpp_lib_version = "5.13.0"
22579        )))
22580    )]
22581    #[cfg(any(
22582        any(
22583            cpp_lib_version = "5.14.0",
22584            cpp_lib_version = "5.11.3",
22585            cpp_lib_version = "5.12.2",
22586            cpp_lib_version = "5.13.0"
22587        ),
22588        feature = "ritual_rustdoc"
22589    ))]
22590    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
22591        let ffi_result = {
22592            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_metaObject(self as *const crate::SlotOfQJoint)
22593        };
22594        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22595    }
22596
22597    /// Creates a new object.
22598    #[inline(always)]
22599    #[cfg_attr(
22600        feature = "ritual_rustdoc_nightly",
22601        doc(cfg(any(
22602            cpp_lib_version = "5.14.0",
22603            cpp_lib_version = "5.11.3",
22604            cpp_lib_version = "5.12.2",
22605            cpp_lib_version = "5.13.0"
22606        )))
22607    )]
22608    #[cfg(any(
22609        any(
22610            cpp_lib_version = "5.14.0",
22611            cpp_lib_version = "5.11.3",
22612            cpp_lib_version = "5.12.2",
22613            cpp_lib_version = "5.13.0"
22614        ),
22615        feature = "ritual_rustdoc"
22616    ))]
22617    pub unsafe fn new<T: FnMut(::qt_core::QPtr<crate::QJoint>) + 'static>(
22618        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
22619        callback: T,
22620    ) -> ::qt_core::QBox<crate::SlotOfQJoint> {
22621        let ffi_result = {
22622            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22623                unsafe {
22624                    let _ = Box::from_raw(data as *mut T);
22625                }
22626            }
22627            extern "C" fn ffi_callback<T: FnMut(::qt_core::QPtr<crate::QJoint>) + 'static>(
22628                data: *mut ::std::ffi::c_void,
22629                arg0: *mut crate::QJoint,
22630            ) {
22631                unsafe { (*(data as *mut T))(::qt_core::QPtr::from_raw(arg0)) }
22632            }
22633            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22634            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
22635        };
22636        ::qt_core::QBox::from_raw(ffi_result)
22637    }
22638
22639    #[inline(always)]
22640    #[cfg_attr(
22641        feature = "ritual_rustdoc_nightly",
22642        doc(cfg(any(
22643            cpp_lib_version = "5.14.0",
22644            cpp_lib_version = "5.11.3",
22645            cpp_lib_version = "5.12.2",
22646            cpp_lib_version = "5.13.0"
22647        )))
22648    )]
22649    #[cfg(any(
22650        any(
22651            cpp_lib_version = "5.14.0",
22652            cpp_lib_version = "5.11.3",
22653            cpp_lib_version = "5.12.2",
22654            cpp_lib_version = "5.13.0"
22655        ),
22656        feature = "ritual_rustdoc"
22657    ))]
22658    pub unsafe fn qt_metacall(
22659        &self,
22660        arg1: ::qt_core::q_meta_object::Call,
22661        arg2: ::std::os::raw::c_int,
22662        arg3: *mut *mut ::std::ffi::c_void,
22663    ) -> ::std::os::raw::c_int {
22664        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_qt_metacall(self as *const crate::SlotOfQJoint as *mut crate::SlotOfQJoint, arg1, arg2, arg3)
22665    }
22666
22667    #[inline(always)]
22668    #[cfg_attr(
22669        feature = "ritual_rustdoc_nightly",
22670        doc(cfg(any(
22671            cpp_lib_version = "5.14.0",
22672            cpp_lib_version = "5.11.3",
22673            cpp_lib_version = "5.12.2",
22674            cpp_lib_version = "5.13.0"
22675        )))
22676    )]
22677    #[cfg(any(
22678        any(
22679            cpp_lib_version = "5.14.0",
22680            cpp_lib_version = "5.11.3",
22681            cpp_lib_version = "5.12.2",
22682            cpp_lib_version = "5.13.0"
22683        ),
22684        feature = "ritual_rustdoc"
22685    ))]
22686    pub unsafe fn qt_metacast(
22687        &self,
22688        arg1: *const ::std::os::raw::c_char,
22689    ) -> *mut ::std::ffi::c_void {
22690        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_qt_metacast(self as *const crate::SlotOfQJoint as *mut crate::SlotOfQJoint, arg1)
22691    }
22692
22693    /// Assigns `callback` as the signal handler.
22694    ///
22695    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
22696    #[inline(always)]
22697    #[cfg_attr(
22698        feature = "ritual_rustdoc_nightly",
22699        doc(cfg(any(
22700            cpp_lib_version = "5.14.0",
22701            cpp_lib_version = "5.11.3",
22702            cpp_lib_version = "5.12.2",
22703            cpp_lib_version = "5.13.0"
22704        )))
22705    )]
22706    #[cfg(any(
22707        any(
22708            cpp_lib_version = "5.14.0",
22709            cpp_lib_version = "5.11.3",
22710            cpp_lib_version = "5.12.2",
22711            cpp_lib_version = "5.13.0"
22712        ),
22713        feature = "ritual_rustdoc"
22714    ))]
22715    pub unsafe fn set<T: FnMut(::qt_core::QPtr<crate::QJoint>) + 'static>(&self, callback: T) {
22716        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22717            unsafe {
22718                let _ = Box::from_raw(data as *mut T);
22719            }
22720        }
22721        extern "C" fn ffi_callback<T: FnMut(::qt_core::QPtr<crate::QJoint>) + 'static>(
22722            data: *mut ::std::ffi::c_void,
22723            arg0: *mut crate::QJoint,
22724        ) {
22725            unsafe { (*(data as *mut T))(::qt_core::QPtr::from_raw(arg0)) }
22726        }
22727        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22728        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_set(
22729            self as *const crate::SlotOfQJoint as *mut crate::SlotOfQJoint,
22730            Some(ffi_callback::<T>),
22731            Some(deleter::<T>),
22732            data,
22733        )
22734    }
22735
22736    /// Calls the slot directly, invoking the assigned handler (if any).
22737    #[inline(always)]
22738    #[cfg_attr(
22739        feature = "ritual_rustdoc_nightly",
22740        doc(cfg(any(
22741            cpp_lib_version = "5.14.0",
22742            cpp_lib_version = "5.11.3",
22743            cpp_lib_version = "5.12.2",
22744            cpp_lib_version = "5.13.0"
22745        )))
22746    )]
22747    #[cfg(any(
22748        any(
22749            cpp_lib_version = "5.14.0",
22750            cpp_lib_version = "5.11.3",
22751            cpp_lib_version = "5.12.2",
22752            cpp_lib_version = "5.13.0"
22753        ),
22754        feature = "ritual_rustdoc"
22755    ))]
22756    pub unsafe fn slot(&self, arg0: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QJoint>>) {
22757        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_slot_(
22758            self as *const crate::SlotOfQJoint as *mut crate::SlotOfQJoint,
22759            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QJoint>>::cast_into(arg0).as_raw_ptr()
22760                as *mut crate::QJoint,
22761        )
22762    }
22763
22764    #[inline(always)]
22765    #[cfg_attr(
22766        feature = "ritual_rustdoc_nightly",
22767        doc(cfg(any(
22768            cpp_lib_version = "5.14.0",
22769            cpp_lib_version = "5.11.3",
22770            cpp_lib_version = "5.12.2",
22771            cpp_lib_version = "5.13.0"
22772        )))
22773    )]
22774    #[cfg(any(
22775        any(
22776            cpp_lib_version = "5.14.0",
22777            cpp_lib_version = "5.11.3",
22778            cpp_lib_version = "5.12.2",
22779            cpp_lib_version = "5.13.0"
22780        ),
22781        feature = "ritual_rustdoc"
22782    ))]
22783    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
22784        let ffi_result = {
22785            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_staticMetaObject()
22786        };
22787        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22788            .expect("attempted to construct a null Ref")
22789    }
22790
22791    #[inline(always)]
22792    #[cfg_attr(
22793        feature = "ritual_rustdoc_nightly",
22794        doc(cfg(any(
22795            cpp_lib_version = "5.14.0",
22796            cpp_lib_version = "5.11.3",
22797            cpp_lib_version = "5.12.2",
22798            cpp_lib_version = "5.13.0"
22799        )))
22800    )]
22801    #[cfg(any(
22802        any(
22803            cpp_lib_version = "5.14.0",
22804            cpp_lib_version = "5.11.3",
22805            cpp_lib_version = "5.12.2",
22806            cpp_lib_version = "5.13.0"
22807        ),
22808        feature = "ritual_rustdoc"
22809    ))]
22810    pub unsafe fn tr(
22811        s: *const ::std::os::raw::c_char,
22812        c: *const ::std::os::raw::c_char,
22813        n: ::std::os::raw::c_int,
22814    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22815        let ffi_result = {
22816            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_tr(
22817                s, c, n,
22818            )
22819        };
22820        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22821    }
22822
22823    #[inline(always)]
22824    #[cfg_attr(
22825        feature = "ritual_rustdoc_nightly",
22826        doc(cfg(any(
22827            cpp_lib_version = "5.14.0",
22828            cpp_lib_version = "5.11.3",
22829            cpp_lib_version = "5.12.2",
22830            cpp_lib_version = "5.13.0"
22831        )))
22832    )]
22833    #[cfg(any(
22834        any(
22835            cpp_lib_version = "5.14.0",
22836            cpp_lib_version = "5.11.3",
22837            cpp_lib_version = "5.12.2",
22838            cpp_lib_version = "5.13.0"
22839        ),
22840        feature = "ritual_rustdoc"
22841    ))]
22842    pub unsafe fn tr_utf8(
22843        s: *const ::std::os::raw::c_char,
22844        c: *const ::std::os::raw::c_char,
22845        n: ::std::os::raw::c_int,
22846    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22847        let ffi_result = {
22848            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_trUtf8(s, c, n)
22849        };
22850        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22851    }
22852}
22853
22854impl ::qt_core::AsReceiver for crate::SlotOfFloat {
22855    type Arguments = (::std::os::raw::c_float,);
22856    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
22857        unsafe {
22858            ::qt_core::Receiver::new(
22859                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
22860                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1slot_(float)\0"),
22861            )
22862        }
22863    }
22864}
22865
22866/// Binds a Qt signal with arguments `::std::os::raw::c_float` to a Rust closure.
22867///
22868/// Corresponding C++ argument types: (<span style='color: green;'>```float```</span>).
22869///
22870/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
22871///
22872/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
22873///
22874/// If `set()` was not called, slot invocation has no effect.
22875#[repr(C)]
22876pub struct SlotOfFloat {
22877    _unused: u8,
22878}
22879impl SlotOfFloat {
22880    #[inline(always)]
22881    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
22882        let ffi_result = {
22883            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_metaObject(
22884                self as *const crate::SlotOfFloat,
22885            )
22886        };
22887        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22888    }
22889
22890    /// Creates a new object.
22891    #[inline(always)]
22892    pub unsafe fn new<T: FnMut(::std::os::raw::c_float) + 'static>(
22893        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
22894        callback: T,
22895    ) -> ::qt_core::QBox<crate::SlotOfFloat> {
22896        let ffi_result = {
22897            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22898                unsafe {
22899                    let _ = Box::from_raw(data as *mut T);
22900                }
22901            }
22902            extern "C" fn ffi_callback<T: FnMut(::std::os::raw::c_float) + 'static>(
22903                data: *mut ::std::ffi::c_void,
22904                arg0: ::std::os::raw::c_float,
22905            ) {
22906                unsafe { (*(data as *mut T))(arg0) }
22907            }
22908            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22909            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_ctr_qt_3d_core_ffi_slot_wrapper_float(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
22910        };
22911        ::qt_core::QBox::from_raw(ffi_result)
22912    }
22913
22914    #[inline(always)]
22915    pub unsafe fn qt_metacall(
22916        &self,
22917        arg1: ::qt_core::q_meta_object::Call,
22918        arg2: ::std::os::raw::c_int,
22919        arg3: *mut *mut ::std::ffi::c_void,
22920    ) -> ::std::os::raw::c_int {
22921        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_qt_metacall(
22922            self as *const crate::SlotOfFloat as *mut crate::SlotOfFloat,
22923            arg1,
22924            arg2,
22925            arg3,
22926        )
22927    }
22928
22929    #[inline(always)]
22930    pub unsafe fn qt_metacast(
22931        &self,
22932        arg1: *const ::std::os::raw::c_char,
22933    ) -> *mut ::std::ffi::c_void {
22934        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_qt_metacast(
22935            self as *const crate::SlotOfFloat as *mut crate::SlotOfFloat,
22936            arg1,
22937        )
22938    }
22939
22940    /// Assigns `callback` as the signal handler.
22941    ///
22942    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
22943    #[inline(always)]
22944    pub unsafe fn set<T: FnMut(::std::os::raw::c_float) + 'static>(&self, callback: T) {
22945        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
22946            unsafe {
22947                let _ = Box::from_raw(data as *mut T);
22948            }
22949        }
22950        extern "C" fn ffi_callback<T: FnMut(::std::os::raw::c_float) + 'static>(
22951            data: *mut ::std::ffi::c_void,
22952            arg0: ::std::os::raw::c_float,
22953        ) {
22954            unsafe { (*(data as *mut T))(arg0) }
22955        }
22956        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
22957        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_set(
22958            self as *const crate::SlotOfFloat as *mut crate::SlotOfFloat,
22959            Some(ffi_callback::<T>),
22960            Some(deleter::<T>),
22961            data,
22962        )
22963    }
22964
22965    /// Calls the slot directly, invoking the assigned handler (if any).
22966    #[inline(always)]
22967    pub unsafe fn slot(&self, arg0: ::std::os::raw::c_float) {
22968        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_slot_(
22969            self as *const crate::SlotOfFloat as *mut crate::SlotOfFloat,
22970            arg0,
22971        )
22972    }
22973
22974    #[inline(always)]
22975    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
22976        let ffi_result = {
22977            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_staticMetaObject(
22978            )
22979        };
22980        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
22981            .expect("attempted to construct a null Ref")
22982    }
22983
22984    #[inline(always)]
22985    pub unsafe fn tr(
22986        s: *const ::std::os::raw::c_char,
22987        c: *const ::std::os::raw::c_char,
22988        n: ::std::os::raw::c_int,
22989    ) -> ::cpp_core::CppBox<::qt_core::QString> {
22990        let ffi_result =
22991            { crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_tr(s, c, n) };
22992        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
22993    }
22994
22995    #[inline(always)]
22996    pub unsafe fn tr_utf8(
22997        s: *const ::std::os::raw::c_char,
22998        c: *const ::std::os::raw::c_char,
22999        n: ::std::os::raw::c_int,
23000    ) -> ::cpp_core::CppBox<::qt_core::QString> {
23001        let ffi_result = {
23002            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_trUtf8(s, c, n)
23003        };
23004        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
23005    }
23006}
23007
23008impl ::qt_core::AsReceiver for crate::SlotOfQVector3D {
23009    type Arguments = (*const ::qt_gui::QVector3D,);
23010    fn as_receiver(&self) -> ::qt_core::Receiver<Self::Arguments> {
23011        unsafe {
23012            ::qt_core::Receiver::new(
23013                ::cpp_core::Ref::from_raw(self).expect("attempted to construct a null Ref"),
23014                ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"1slot_(QVector3D const &)\0"),
23015            )
23016        }
23017    }
23018}
23019
23020/// Binds a Qt signal with arguments `*const ::qt_gui::QVector3D` to a Rust closure.
23021///
23022/// Corresponding C++ argument types: (<span style='color: green;'>```const QVector3D&```</span>).
23023///
23024/// Create an object using `new()` and bind your closure using `set()`. The closure will be called with the signal's arguments when the slot is invoked. Use `connect()` method of a `qt_core::Signal` object to connect the signal to this slot. The closure will be executed each time the slot is invoked until source signals are disconnected or the slot object is destroyed.
23025///
23026/// The slot object takes ownership of the passed closure. If `set()` is called again, previously set closure is dropped. Make sure that the slot object does not outlive objects referenced by the closure.
23027///
23028/// If `set()` was not called, slot invocation has no effect.
23029#[repr(C)]
23030pub struct SlotOfQVector3D {
23031    _unused: u8,
23032}
23033impl SlotOfQVector3D {
23034    #[inline(always)]
23035    pub unsafe fn meta_object(&self) -> ::cpp_core::Ptr<::qt_core::QMetaObject> {
23036        let ffi_result = {
23037            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_metaObject(self as *const crate::SlotOfQVector3D)
23038        };
23039        ::cpp_core::Ptr::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
23040    }
23041
23042    /// Creates a new object.
23043    #[inline(always)]
23044    pub unsafe fn new<T: FnMut(::cpp_core::Ref<::qt_gui::QVector3D>) + 'static>(
23045        parent: impl ::cpp_core::CastInto<::cpp_core::Ptr<::qt_core::QObject>>,
23046        callback: T,
23047    ) -> ::qt_core::QBox<crate::SlotOfQVector3D> {
23048        let ffi_result = {
23049            extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
23050                unsafe {
23051                    let _ = Box::from_raw(data as *mut T);
23052                }
23053            }
23054            extern "C" fn ffi_callback<T: FnMut(::cpp_core::Ref<::qt_gui::QVector3D>) + 'static>(
23055                data: *mut ::std::ffi::c_void,
23056                arg0: *const ::qt_gui::QVector3D,
23057            ) {
23058                unsafe {
23059                    (*(data as *mut T))(
23060                        ::cpp_core::Ref::from_raw(arg0 as *mut ::qt_gui::QVector3D)
23061                            .expect("attempted to construct a null Ref"),
23062                    )
23063                }
23064            }
23065            let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
23066            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref(::cpp_core::CastInto::<::cpp_core::Ptr<::qt_core::QObject>>::cast_into(parent).as_raw_ptr() as *mut ::qt_core::QObject, Some(ffi_callback::<T>), Some(deleter::<T>), data)
23067        };
23068        ::qt_core::QBox::from_raw(ffi_result)
23069    }
23070
23071    #[inline(always)]
23072    pub unsafe fn qt_metacall(
23073        &self,
23074        arg1: ::qt_core::q_meta_object::Call,
23075        arg2: ::std::os::raw::c_int,
23076        arg3: *mut *mut ::std::ffi::c_void,
23077    ) -> ::std::os::raw::c_int {
23078        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_qt_metacall(self as *const crate::SlotOfQVector3D as *mut crate::SlotOfQVector3D, arg1, arg2, arg3)
23079    }
23080
23081    #[inline(always)]
23082    pub unsafe fn qt_metacast(
23083        &self,
23084        arg1: *const ::std::os::raw::c_char,
23085    ) -> *mut ::std::ffi::c_void {
23086        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_qt_metacast(self as *const crate::SlotOfQVector3D as *mut crate::SlotOfQVector3D, arg1)
23087    }
23088
23089    /// Assigns `callback` as the signal handler.
23090    ///
23091    /// `func` will be called each time a connected signal is emitted. Any previously assigned function will be deregistered. Passing `None` will deregister the handler without setting a new one.
23092    #[inline(always)]
23093    pub unsafe fn set<T: FnMut(::cpp_core::Ref<::qt_gui::QVector3D>) + 'static>(
23094        &self,
23095        callback: T,
23096    ) {
23097        extern "C" fn deleter<T>(data: *mut ::std::ffi::c_void) {
23098            unsafe {
23099                let _ = Box::from_raw(data as *mut T);
23100            }
23101        }
23102        extern "C" fn ffi_callback<T: FnMut(::cpp_core::Ref<::qt_gui::QVector3D>) + 'static>(
23103            data: *mut ::std::ffi::c_void,
23104            arg0: *const ::qt_gui::QVector3D,
23105        ) {
23106            unsafe {
23107                (*(data as *mut T))(
23108                    ::cpp_core::Ref::from_raw(arg0 as *mut ::qt_gui::QVector3D)
23109                        .expect("attempted to construct a null Ref"),
23110                )
23111            }
23112        }
23113        let data = Box::into_raw(Box::new(callback)) as *mut ::std::ffi::c_void;
23114        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_set(
23115            self as *const crate::SlotOfQVector3D as *mut crate::SlotOfQVector3D,
23116            Some(ffi_callback::<T>),
23117            Some(deleter::<T>),
23118            data,
23119        )
23120    }
23121
23122    /// Calls the slot directly, invoking the assigned handler (if any).
23123    #[inline(always)]
23124    pub unsafe fn slot(
23125        &self,
23126        arg0: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_gui::QVector3D>>,
23127    ) {
23128        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_slot_(
23129            self as *const crate::SlotOfQVector3D as *mut crate::SlotOfQVector3D,
23130            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_gui::QVector3D>>::cast_into(arg0)
23131                .as_raw_ptr(),
23132        )
23133    }
23134
23135    #[inline(always)]
23136    pub unsafe fn static_meta_object() -> ::cpp_core::Ref<::qt_core::QMetaObject> {
23137        let ffi_result = {
23138            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_staticMetaObject()
23139        };
23140        ::cpp_core::Ref::from_raw(ffi_result as *mut ::qt_core::QMetaObject)
23141            .expect("attempted to construct a null Ref")
23142    }
23143
23144    #[inline(always)]
23145    pub unsafe fn tr(
23146        s: *const ::std::os::raw::c_char,
23147        c: *const ::std::os::raw::c_char,
23148        n: ::std::os::raw::c_int,
23149    ) -> ::cpp_core::CppBox<::qt_core::QString> {
23150        let ffi_result = {
23151            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_tr(
23152                s, c, n,
23153            )
23154        };
23155        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
23156    }
23157
23158    #[inline(always)]
23159    pub unsafe fn tr_utf8(
23160        s: *const ::std::os::raw::c_char,
23161        c: *const ::std::os::raw::c_char,
23162        n: ::std::os::raw::c_int,
23163    ) -> ::cpp_core::CppBox<::qt_core::QString> {
23164        let ffi_result = {
23165            crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_trUtf8(s, c, n)
23166        };
23167        ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
23168    }
23169}
23170
23171impl ::std::cmp::PartialEq<::cpp_core::Ref<crate::QNodeId>> for crate::QNodeId {
23172    /// <p>Returns <code>true</code> if <code>this</code> == <i>other</i>.</p>
23173    ///
23174    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNodeId::operator==(Qt3DCore::QNodeId other) const```</span>.
23175    ///
23176    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#operator-eq-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <code>this</code> == <i>other</i>.</p></div>
23177    #[inline(always)]
23178    fn eq(&self, other: &::cpp_core::Ref<crate::QNodeId>) -> bool {
23179        unsafe {
23180            crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_operator__(
23181                self as *const crate::QNodeId,
23182                other.as_raw_ptr(),
23183            )
23184        }
23185    }
23186}
23187
23188impl ::cpp_core::cmp::Lt<::cpp_core::Ref<crate::QNodeId>> for crate::QNodeId {
23189    /// <p>Returns <code>true</code> if <code>this</code> &lt; <i>other</i>.</p>
23190    ///
23191    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNodeId::operator<(Qt3DCore::QNodeId other) const```</span>.
23192    ///
23193    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#operator-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <code>this</code> &lt; <i>other</i>.</p></div>
23194    #[inline(always)]
23195    unsafe fn lt(&self, other: &::cpp_core::Ref<crate::QNodeId>) -> bool {
23196        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_operator_(
23197            self as *const crate::QNodeId,
23198            other.as_raw_ptr(),
23199        )
23200    }
23201}
23202
23203impl ::cpp_core::cmp::Gt<::cpp_core::Ref<crate::QNodeId>> for crate::QNodeId {
23204    /// <p>Returns <code>true</code> if <code>this</code> &gt; <i>other</i>.</p>
23205    ///
23206    /// Calls C++ function: <span style='color: green;'>```bool Qt3DCore::QNodeId::operator>(Qt3DCore::QNodeId other) const```</span>.
23207    ///
23208    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#operator-gt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <code>this</code> &gt; <i>other</i>.</p></div>
23209    #[inline(always)]
23210    unsafe fn gt(&self, other: &::cpp_core::Ref<crate::QNodeId>) -> bool {
23211        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_operator_1(
23212            self as *const crate::QNodeId,
23213            other.as_raw_ptr(),
23214        )
23215    }
23216}
23217
23218impl ::cpp_core::CppDeletable for crate::QAbstractAspect {
23219    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QAbstractAspect::~QAbstractAspect()```</span>.
23220    #[inline(always)]
23221    unsafe fn delete(&self) {
23222        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractAspect_dQAbstractAspect(
23223            self as *const crate::QAbstractAspect as *mut crate::QAbstractAspect,
23224        )
23225    }
23226}
23227
23228impl ::cpp_core::CppDeletable for crate::QAspectEngine {
23229    /// <p>Destroys the engine.</p>
23230    ///
23231    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QAspectEngine::~QAspectEngine()```</span>.
23232    ///
23233    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectengine.html#dtor.QAspectEngine">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the engine.</p></div>
23234    #[inline(always)]
23235    unsafe fn delete(&self) {
23236        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectEngine_dQAspectEngine(
23237            self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
23238        )
23239    }
23240}
23241
23242impl ::cpp_core::CppDeletable for crate::QAspectJob {
23243    /// <p>Destroys the instance of QAspectJob. The destructor is virtual.</p>
23244    ///
23245    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QAspectJob::~QAspectJob()```</span>.
23246    ///
23247    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qaspectjob.html#dtor.QAspectJob">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QAspectJob. The destructor is virtual.</p></div>
23248    #[inline(always)]
23249    unsafe fn delete(&self) {
23250        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAspectJob_dQAspectJob(
23251            self as *const crate::QAspectJob as *mut crate::QAspectJob,
23252        )
23253    }
23254}
23255
23256impl ::cpp_core::CppDeletable for crate::QSceneChange {
23257    /// <p>Destroys the instance of QSceneChange. The destructor is virtual.</p>
23258    ///
23259    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QSceneChange::~QSceneChange()```</span>.
23260    ///
23261    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qscenechange.html#dtor.QSceneChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QSceneChange. The destructor is virtual.</p></div>
23262    #[inline(always)]
23263    unsafe fn delete(&self) {
23264        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSceneChange_dQSceneChange(
23265            self as *const crate::QSceneChange as *mut crate::QSceneChange,
23266        )
23267    }
23268}
23269
23270impl ::cpp_core::CppDeletable for crate::QNodeCreatedChangeBase {
23271    /// <p>Destroys the instance of QNodeCreatedChangeBase.</p>
23272    ///
23273    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QNodeCreatedChangeBase::~QNodeCreatedChangeBase()```</span>.
23274    ///
23275    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecreatedchangebase.html#dtor.QNodeCreatedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QNodeCreatedChangeBase.</p></div>
23276    #[inline(always)]
23277    unsafe fn delete(&self) {
23278        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCreatedChangeBase_dQNodeCreatedChangeBase(
23279            self as *const crate::QNodeCreatedChangeBase as *mut crate::QNodeCreatedChangeBase,
23280        )
23281    }
23282}
23283
23284impl ::cpp_core::CppDeletable for crate::QBackendNodeMapper {
23285    /// <p>Destroys the instance of QBackendNodeMapper. The destructor is virtual.</p>
23286    ///
23287    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QBackendNodeMapper::~QBackendNodeMapper()```</span>.
23288    ///
23289    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnodemapper.html#dtor.QBackendNodeMapper">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QBackendNodeMapper. The destructor is virtual.</p></div>
23290    #[inline(always)]
23291    unsafe fn delete(&self) {
23292        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNodeMapper_dQBackendNodeMapper(
23293            self as *const crate::QBackendNodeMapper as *mut crate::QBackendNodeMapper,
23294        )
23295    }
23296}
23297
23298impl ::cpp_core::CppDeletable for crate::QBackendNode {
23299    /// <p>Destroys the instance of QBackendNode. The destructor is virtual.</p>
23300    ///
23301    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QBackendNode::~QBackendNode()```</span>.
23302    ///
23303    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qbackendnode.html#dtor.QBackendNode">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QBackendNode. The destructor is virtual.</p></div>
23304    #[inline(always)]
23305    unsafe fn delete(&self) {
23306        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QBackendNode_dQBackendNode(
23307            self as *const crate::QBackendNode as *mut crate::QBackendNode,
23308        )
23309    }
23310}
23311
23312impl ::cpp_core::CppDeletable for crate::QNode {
23313    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QNode::~QNode()```</span>.
23314    #[inline(always)]
23315    unsafe fn delete(&self) {
23316        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNode_dQNode(
23317            self as *const crate::QNode as *mut crate::QNode,
23318        )
23319    }
23320}
23321
23322impl ::cpp_core::CppDeletable for crate::QComponent {
23323    /// <p>Destroys the instance of QComponent.</p>
23324    ///
23325    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QComponent::~QComponent()```</span>.
23326    ///
23327    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponent.html#dtor.QComponent">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QComponent.</p></div>
23328    #[inline(always)]
23329    unsafe fn delete(&self) {
23330        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponent_dQComponent(
23331            self as *const crate::QComponent as *mut crate::QComponent,
23332        )
23333    }
23334}
23335
23336impl ::cpp_core::CppDeletable for crate::QComponentAddedChange {
23337    /// <p>Destroys the instance of QComponentAddedChange.</p>
23338    ///
23339    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QComponentAddedChange::~QComponentAddedChange()```</span>.
23340    ///
23341    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentaddedchange.html#dtor.QComponentAddedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QComponentAddedChange.</p></div>
23342    #[inline(always)]
23343    unsafe fn delete(&self) {
23344        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentAddedChange_dQComponentAddedChange(
23345            self as *const crate::QComponentAddedChange as *mut crate::QComponentAddedChange,
23346        )
23347    }
23348}
23349
23350impl ::cpp_core::CppDeletable for crate::QComponentRemovedChange {
23351    /// <p>Destroys the instance of QComponentRemovedChange.</p>
23352    ///
23353    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QComponentRemovedChange::~QComponentRemovedChange()```</span>.
23354    ///
23355    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qcomponentremovedchange.html#dtor.QComponentRemovedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QComponentRemovedChange.</p></div>
23356    #[inline(always)]
23357    unsafe fn delete(&self) {
23358        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QComponentRemovedChange_dQComponentRemovedChange(
23359            self as *const crate::QComponentRemovedChange as *mut crate::QComponentRemovedChange,
23360        )
23361    }
23362}
23363
23364impl ::cpp_core::CppDeletable for crate::QPropertyUpdatedChangeBase {
23365    /// <p>Destroys the instance of QPropertyUpdatedChangeBase.</p>
23366    ///
23367    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyUpdatedChangeBase::~QPropertyUpdatedChangeBase()```</span>.
23368    ///
23369    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchangebase.html#dtor.QPropertyUpdatedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QPropertyUpdatedChangeBase.</p></div>
23370    #[inline(always)]
23371    unsafe fn delete(&self) {
23372        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyUpdatedChangeBase_dQPropertyUpdatedChangeBase(self as *const crate::QPropertyUpdatedChangeBase as *mut crate::QPropertyUpdatedChangeBase)
23373    }
23374}
23375
23376impl ::cpp_core::CppDeletable for crate::QDynamicPropertyUpdatedChange {
23377    /// <p>Destroys the instance of QDynamicPropertyUpdatedChange.</p>
23378    ///
23379    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QDynamicPropertyUpdatedChange::~QDynamicPropertyUpdatedChange()```</span>.
23380    ///
23381    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qdynamicpropertyupdatedchange.html#dtor.QDynamicPropertyUpdatedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QDynamicPropertyUpdatedChange.</p></div>
23382    #[inline(always)]
23383    unsafe fn delete(&self) {
23384        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QDynamicPropertyUpdatedChange_dQDynamicPropertyUpdatedChange(self as *const crate::QDynamicPropertyUpdatedChange as *mut crate::QDynamicPropertyUpdatedChange)
23385    }
23386}
23387
23388impl ::cpp_core::CppDeletable for crate::QEntity {
23389    /// <p>Destroys the instance of QEntity. The destructor is virtual.</p>
23390    ///
23391    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QEntity::~QEntity()```</span>.
23392    ///
23393    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qentity.html#dtor.QEntity">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QEntity. The destructor is virtual.</p></div>
23394    #[inline(always)]
23395    unsafe fn delete(&self) {
23396        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QEntity_dQEntity(
23397            self as *const crate::QEntity as *mut crate::QEntity,
23398        )
23399    }
23400}
23401
23402impl ::cpp_core::CppDeletable for crate::QNodeDestroyedChange {
23403    /// <p>Destroys the instance of QNodeDestroyedChange.</p>
23404    ///
23405    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QNodeDestroyedChange::~QNodeDestroyedChange()```</span>.
23406    ///
23407    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodedestroyedchange.html#dtor.QNodeDestroyedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QNodeDestroyedChange.</p></div>
23408    #[inline(always)]
23409    unsafe fn delete(&self) {
23410        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeDestroyedChange_dQNodeDestroyedChange(
23411            self as *const crate::QNodeDestroyedChange as *mut crate::QNodeDestroyedChange,
23412        )
23413    }
23414}
23415
23416impl ::cpp_core::CppDeletable for crate::QPropertyValueAddedChangeBase {
23417    /// <p>Destroys the instance of QPropertyValueAddedChangeBase.</p>
23418    ///
23419    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyValueAddedChangeBase::~QPropertyValueAddedChangeBase()```</span>.
23420    ///
23421    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchangebase.html#dtor.QPropertyValueAddedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QPropertyValueAddedChangeBase.</p></div>
23422    #[inline(always)]
23423    unsafe fn delete(&self) {
23424        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueAddedChangeBase_dQPropertyValueAddedChangeBase(self as *const crate::QPropertyValueAddedChangeBase as *mut crate::QPropertyValueAddedChangeBase)
23425    }
23426}
23427
23428impl ::cpp_core::CppDeletable for crate::QStaticPropertyValueAddedChangeBase {
23429    /// <p>Destroys the instance of QStaticPropertyValueAddedChangeBase.</p>
23430    ///
23431    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QStaticPropertyValueAddedChangeBase::~QStaticPropertyValueAddedChangeBase()```</span>.
23432    ///
23433    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueaddedchangebase.html#dtor.QStaticPropertyValueAddedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QStaticPropertyValueAddedChangeBase.</p></div>
23434    #[inline(always)]
23435    unsafe fn delete(&self) {
23436        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyValueAddedChangeBase_dQStaticPropertyValueAddedChangeBase(self as *const crate::QStaticPropertyValueAddedChangeBase as *mut crate::QStaticPropertyValueAddedChangeBase)
23437    }
23438}
23439
23440impl ::cpp_core::CppDeletable for crate::QPropertyNodeAddedChange {
23441    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyNodeAddedChange::~QPropertyNodeAddedChange()```</span>.
23442    #[inline(always)]
23443    unsafe fn delete(&self) {
23444        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeAddedChange_dQPropertyNodeAddedChange(
23445            self as *const crate::QPropertyNodeAddedChange as *mut crate::QPropertyNodeAddedChange,
23446        )
23447    }
23448}
23449
23450impl ::cpp_core::CppDeletable for crate::QPropertyValueRemovedChangeBase {
23451    /// <p>Destroys the instance of QPropertyValueRemovedChangeBase.</p>
23452    ///
23453    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyValueRemovedChangeBase::~QPropertyValueRemovedChangeBase()```</span>.
23454    ///
23455    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchangebase.html#dtor.QPropertyValueRemovedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QPropertyValueRemovedChangeBase.</p></div>
23456    #[inline(always)]
23457    unsafe fn delete(&self) {
23458        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueRemovedChangeBase_dQPropertyValueRemovedChangeBase(self as *const crate::QPropertyValueRemovedChangeBase as *mut crate::QPropertyValueRemovedChangeBase)
23459    }
23460}
23461
23462impl ::cpp_core::CppDeletable for crate::QStaticPropertyValueRemovedChangeBase {
23463    /// <p>Destroys the instance of QStaticPropertyValueRemovedChangeBase.</p>
23464    ///
23465    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QStaticPropertyValueRemovedChangeBase::~QStaticPropertyValueRemovedChangeBase()```</span>.
23466    ///
23467    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyvalueremovedchangebase.html#dtor.QStaticPropertyValueRemovedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QStaticPropertyValueRemovedChangeBase.</p></div>
23468    #[inline(always)]
23469    unsafe fn delete(&self) {
23470        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyValueRemovedChangeBase_dQStaticPropertyValueRemovedChangeBase(self as *const crate::QStaticPropertyValueRemovedChangeBase as *mut crate::QStaticPropertyValueRemovedChangeBase)
23471    }
23472}
23473
23474impl ::cpp_core::CppDeletable for crate::QPropertyNodeRemovedChange {
23475    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyNodeRemovedChange::~QPropertyNodeRemovedChange()```</span>.
23476    #[inline(always)]
23477    unsafe fn delete(&self) {
23478        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyNodeRemovedChange_dQPropertyNodeRemovedChange(self as *const crate::QPropertyNodeRemovedChange as *mut crate::QPropertyNodeRemovedChange)
23479    }
23480}
23481
23482impl ::cpp_core::CppDeletable for crate::QStaticPropertyUpdatedChangeBase {
23483    /// <p>Destroys the instance of QStaticPropertyUpdatedChangeBase.</p>
23484    ///
23485    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QStaticPropertyUpdatedChangeBase::~QStaticPropertyUpdatedChangeBase()```</span>.
23486    ///
23487    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qstaticpropertyupdatedchangebase.html#dtor.QStaticPropertyUpdatedChangeBase">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QStaticPropertyUpdatedChangeBase.</p></div>
23488    #[inline(always)]
23489    unsafe fn delete(&self) {
23490        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QStaticPropertyUpdatedChangeBase_dQStaticPropertyUpdatedChangeBase(self as *const crate::QStaticPropertyUpdatedChangeBase as *mut crate::QStaticPropertyUpdatedChangeBase)
23491    }
23492}
23493
23494impl ::cpp_core::CppDeletable for crate::QPropertyUpdatedChange {
23495    /// <p>Destroys the instance of QPropertyUpdatedChange. The destructor is virtual.</p>
23496    ///
23497    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyUpdatedChange::~QPropertyUpdatedChange()```</span>.
23498    ///
23499    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyupdatedchange.html#dtor.QPropertyUpdatedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QPropertyUpdatedChange. The destructor is virtual.</p></div>
23500    #[inline(always)]
23501    unsafe fn delete(&self) {
23502        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyUpdatedChange_dQPropertyUpdatedChange(
23503            self as *const crate::QPropertyUpdatedChange as *mut crate::QPropertyUpdatedChange,
23504        )
23505    }
23506}
23507
23508impl ::cpp_core::CppDeletable for crate::QPropertyValueAddedChange {
23509    /// <p>Destroys the instance of QPropertyValueAddedChange.</p>
23510    ///
23511    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyValueAddedChange::~QPropertyValueAddedChange()```</span>.
23512    ///
23513    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueaddedchange.html#dtor.QPropertyValueAddedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QPropertyValueAddedChange.</p></div>
23514    #[inline(always)]
23515    unsafe fn delete(&self) {
23516        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueAddedChange_dQPropertyValueAddedChange(self as *const crate::QPropertyValueAddedChange as *mut crate::QPropertyValueAddedChange)
23517    }
23518}
23519
23520impl ::cpp_core::CppDeletable for crate::QPropertyValueRemovedChange {
23521    /// <p>Destroys the instance of QPropertyValueRemovedChange.</p>
23522    ///
23523    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QPropertyValueRemovedChange::~QPropertyValueRemovedChange()```</span>.
23524    ///
23525    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qpropertyvalueremovedchange.html#dtor.QPropertyValueRemovedChange">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QPropertyValueRemovedChange.</p></div>
23526    #[inline(always)]
23527    unsafe fn delete(&self) {
23528        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QPropertyValueRemovedChange_dQPropertyValueRemovedChange(self as *const crate::QPropertyValueRemovedChange as *mut crate::QPropertyValueRemovedChange)
23529    }
23530}
23531
23532impl ::cpp_core::CppDeletable for crate::QTransform {
23533    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QTransform::~QTransform()```</span>.
23534    #[inline(always)]
23535    unsafe fn delete(&self) {
23536        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QTransform_dQTransform(
23537            self as *const crate::QTransform as *mut crate::QTransform,
23538        )
23539    }
23540}
23541
23542impl ::cpp_core::CppDeletable for crate::QNodeId {
23543    /// <p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p>
23544    ///
23545    /// Calls C++ function: <span style='color: green;'>```[destructor] void Qt3DCore::QNodeId::~QNodeId()```</span>.
23546    ///
23547    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Uniquely identifies a <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html">QNode</a></p></div>
23548    #[inline(always)]
23549    unsafe fn delete(&self) {
23550        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeId_dQNodeId(
23551            self as *const crate::QNodeId as *mut crate::QNodeId,
23552        )
23553    }
23554}
23555
23556impl ::cpp_core::CppDeletable for crate::QNodeIdTypePair {
23557    /// Calls C++ function: <span style='color: green;'>```[destructor] void Qt3DCore::QNodeIdTypePair::~QNodeIdTypePair()```</span>.
23558    #[inline(always)]
23559    unsafe fn delete(&self) {
23560        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeIdTypePair_dQNodeIdTypePair(
23561            self as *const crate::QNodeIdTypePair as *mut crate::QNodeIdTypePair,
23562        )
23563    }
23564}
23565
23566impl ::cpp_core::CppDeletable for crate::QVectorOfQAbstractAspect {
23567    /// <p>Destroys the vector.</p>
23568    ///
23569    /// Calls C++ function: <span style='color: green;'>```[destructor] void QVector<Qt3DCore::QAbstractAspect*>::~QVector()```</span>.
23570    ///
23571    /// <a href="http://doc.qt.io/qt-5/qvector.html#dtor.QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the vector.</p></div>
23572    #[inline(always)]
23573    unsafe fn delete(&self) {
23574        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_dQVector(
23575            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
23576        )
23577    }
23578}
23579
23580impl ::cpp_core::CppDeletable for crate::QVectorOfQNode {
23581    /// <p>Destroys the vector.</p>
23582    ///
23583    /// Calls C++ function: <span style='color: green;'>```[destructor] void QVector<Qt3DCore::QNode*>::~QVector()```</span>.
23584    ///
23585    /// <a href="http://doc.qt.io/qt-5/qvector.html#dtor.QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the vector.</p></div>
23586    #[inline(always)]
23587    unsafe fn delete(&self) {
23588        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_dQVector(
23589            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
23590        )
23591    }
23592}
23593
23594impl ::cpp_core::CppDeletable for crate::QVectorOfQNodeId {
23595    /// <p>Destroys the vector.</p>
23596    ///
23597    /// Calls C++ function: <span style='color: green;'>```[destructor] void QVector<Qt3DCore::QNodeId>::~QVector()```</span>.
23598    ///
23599    /// <a href="http://doc.qt.io/qt-5/qvector.html#dtor.QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the vector.</p></div>
23600    #[inline(always)]
23601    unsafe fn delete(&self) {
23602        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_dQVector(
23603            self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
23604        )
23605    }
23606}
23607
23608impl ::cpp_core::CppDeletable for crate::QVectorOfQEntity {
23609    /// <p>Destroys the vector.</p>
23610    ///
23611    /// Calls C++ function: <span style='color: green;'>```[destructor] void QVector<Qt3DCore::QEntity*>::~QVector()```</span>.
23612    ///
23613    /// <a href="http://doc.qt.io/qt-5/qvector.html#dtor.QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the vector.</p></div>
23614    #[inline(always)]
23615    unsafe fn delete(&self) {
23616        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_dQVector(
23617            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
23618        )
23619    }
23620}
23621
23622impl ::cpp_core::CppDeletable for crate::QVectorOfQComponent {
23623    /// <p>Destroys the vector.</p>
23624    ///
23625    /// Calls C++ function: <span style='color: green;'>```[destructor] void QVector<Qt3DCore::QComponent*>::~QVector()```</span>.
23626    ///
23627    /// <a href="http://doc.qt.io/qt-5/qvector.html#dtor.QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the vector.</p></div>
23628    #[inline(always)]
23629    unsafe fn delete(&self) {
23630        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_dQVector(
23631            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
23632        )
23633    }
23634}
23635
23636impl ::cpp_core::CppDeletable for crate::QVectorOfQNodeIdTypePair {
23637    /// <p>Destroys the vector.</p>
23638    ///
23639    /// Calls C++ function: <span style='color: green;'>```[destructor] void QVector<Qt3DCore::QNodeIdTypePair>::~QVector()```</span>.
23640    ///
23641    /// <a href="http://doc.qt.io/qt-5/qvector.html#dtor.QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the vector.</p></div>
23642    #[inline(always)]
23643    unsafe fn delete(&self) {
23644        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_dQVector(
23645            self as *const crate::QVectorOfQNodeIdTypePair as *mut crate::QVectorOfQNodeIdTypePair,
23646        )
23647    }
23648}
23649
23650impl ::std::cmp::PartialEq<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>
23651    for crate::QVectorOfQAbstractAspect
23652{
23653    /// <p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23654    ///
23655    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QAbstractAspect*>::operator==(const QVector<Qt3DCore::QAbstractAspect*>& v) const```</span>.
23656    ///
23657    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23658    /// <p>Two vectors are considered equal if they contain the same values in the same order.</p>
23659    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
23660    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-not-eq">operator!=</a>().</p></div>
23661    #[inline(always)]
23662    fn eq(&self, v: &::cpp_core::Ref<crate::QVectorOfQAbstractAspect>) -> bool {
23663        unsafe {
23664            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator__(
23665                self as *const crate::QVectorOfQAbstractAspect,
23666                v.as_raw_ptr(),
23667            )
23668        }
23669    }
23670}
23671
23672impl ::std::cmp::PartialEq<::cpp_core::Ref<crate::QVectorOfQNode>> for crate::QVectorOfQNode {
23673    /// <p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23674    ///
23675    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNode*>::operator==(const QVector<Qt3DCore::QNode*>& v) const```</span>.
23676    ///
23677    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23678    /// <p>Two vectors are considered equal if they contain the same values in the same order.</p>
23679    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
23680    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-not-eq">operator!=</a>().</p></div>
23681    #[inline(always)]
23682    fn eq(&self, v: &::cpp_core::Ref<crate::QVectorOfQNode>) -> bool {
23683        unsafe {
23684            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator__(
23685                self as *const crate::QVectorOfQNode,
23686                v.as_raw_ptr(),
23687            )
23688        }
23689    }
23690}
23691
23692impl ::std::cmp::PartialEq<::cpp_core::Ref<crate::QVectorOfQNodeId>> for crate::QVectorOfQNodeId {
23693    /// <p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23694    ///
23695    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QNodeId>::operator==(const QVector<Qt3DCore::QNodeId>& v) const```</span>.
23696    ///
23697    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23698    /// <p>Two vectors are considered equal if they contain the same values in the same order.</p>
23699    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
23700    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-not-eq">operator!=</a>().</p></div>
23701    #[inline(always)]
23702    fn eq(&self, v: &::cpp_core::Ref<crate::QVectorOfQNodeId>) -> bool {
23703        unsafe {
23704            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator__(
23705                self as *const crate::QVectorOfQNodeId,
23706                v.as_raw_ptr(),
23707            )
23708        }
23709    }
23710}
23711
23712impl ::std::cmp::PartialEq<::cpp_core::Ref<crate::QVectorOfQEntity>> for crate::QVectorOfQEntity {
23713    /// <p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23714    ///
23715    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QEntity*>::operator==(const QVector<Qt3DCore::QEntity*>& v) const```</span>.
23716    ///
23717    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23718    /// <p>Two vectors are considered equal if they contain the same values in the same order.</p>
23719    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
23720    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-not-eq">operator!=</a>().</p></div>
23721    #[inline(always)]
23722    fn eq(&self, v: &::cpp_core::Ref<crate::QVectorOfQEntity>) -> bool {
23723        unsafe {
23724            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator__(
23725                self as *const crate::QVectorOfQEntity,
23726                v.as_raw_ptr(),
23727            )
23728        }
23729    }
23730}
23731
23732impl ::std::cmp::PartialEq<::cpp_core::Ref<crate::QVectorOfQComponent>>
23733    for crate::QVectorOfQComponent
23734{
23735    /// <p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23736    ///
23737    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QComponent*>::operator==(const QVector<Qt3DCore::QComponent*>& v) const```</span>.
23738    ///
23739    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
23740    /// <p>Two vectors are considered equal if they contain the same values in the same order.</p>
23741    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
23742    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-not-eq">operator!=</a>().</p></div>
23743    #[inline(always)]
23744    fn eq(&self, v: &::cpp_core::Ref<crate::QVectorOfQComponent>) -> bool {
23745        unsafe {
23746            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator__(
23747                self as *const crate::QVectorOfQComponent,
23748                v.as_raw_ptr(),
23749            )
23750        }
23751    }
23752}
23753
23754impl ::cpp_core::vector_ops::Size for crate::QVectorOfQAbstractAspect {
23755    /// <p>Returns the number of items in the vector.</p>
23756    ///
23757    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QAbstractAspect*>::size() const```</span>.
23758    ///
23759    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
23760    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
23761    #[inline(always)]
23762    unsafe fn size(&self) -> usize {
23763        let ffi_result = {
23764            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_size(
23765                self as *const crate::QVectorOfQAbstractAspect,
23766            )
23767        };
23768        ffi_result as usize
23769    }
23770}
23771
23772impl ::cpp_core::vector_ops::Size for crate::QVectorOfQNode {
23773    /// <p>Returns the number of items in the vector.</p>
23774    ///
23775    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNode*>::size() const```</span>.
23776    ///
23777    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
23778    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
23779    #[inline(always)]
23780    unsafe fn size(&self) -> usize {
23781        let ffi_result = {
23782            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_size(
23783                self as *const crate::QVectorOfQNode,
23784            )
23785        };
23786        ffi_result as usize
23787    }
23788}
23789
23790impl ::cpp_core::vector_ops::Size for crate::QVectorOfQNodeId {
23791    /// <p>Returns the number of items in the vector.</p>
23792    ///
23793    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeId>::size() const```</span>.
23794    ///
23795    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
23796    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
23797    #[inline(always)]
23798    unsafe fn size(&self) -> usize {
23799        let ffi_result = {
23800            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_size(
23801                self as *const crate::QVectorOfQNodeId,
23802            )
23803        };
23804        ffi_result as usize
23805    }
23806}
23807
23808impl ::cpp_core::vector_ops::Size for crate::QVectorOfQEntity {
23809    /// <p>Returns the number of items in the vector.</p>
23810    ///
23811    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QEntity*>::size() const```</span>.
23812    ///
23813    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
23814    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
23815    #[inline(always)]
23816    unsafe fn size(&self) -> usize {
23817        let ffi_result = {
23818            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_size(
23819                self as *const crate::QVectorOfQEntity,
23820            )
23821        };
23822        ffi_result as usize
23823    }
23824}
23825
23826impl ::cpp_core::vector_ops::Size for crate::QVectorOfQComponent {
23827    /// <p>Returns the number of items in the vector.</p>
23828    ///
23829    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QComponent*>::size() const```</span>.
23830    ///
23831    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
23832    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
23833    #[inline(always)]
23834    unsafe fn size(&self) -> usize {
23835        let ffi_result = {
23836            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_size(
23837                self as *const crate::QVectorOfQComponent,
23838            )
23839        };
23840        ffi_result as usize
23841    }
23842}
23843
23844impl ::cpp_core::vector_ops::Size for crate::QVectorOfQNodeIdTypePair {
23845    /// <p>Returns the number of items in the vector.</p>
23846    ///
23847    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QNodeIdTypePair>::size() const```</span>.
23848    ///
23849    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
23850    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
23851    #[inline(always)]
23852    unsafe fn size(&self) -> usize {
23853        let ffi_result = {
23854            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_size(
23855                self as *const crate::QVectorOfQNodeIdTypePair,
23856            )
23857        };
23858        ffi_result as usize
23859    }
23860}
23861
23862impl ::cpp_core::vector_ops::DataMut for crate::QVectorOfQAbstractAspect {
23863    type Output = *mut *mut crate::QAbstractAspect;
23864    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23865    ///
23866    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect** QVector<Qt3DCore::QAbstractAspect*>::data()```</span>.
23867    ///
23868    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23869    /// <p>Example:</p>
23870    /// <pre class="cpp">
23871    ///
23872    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
23873    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
23874    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
23875    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
23876    ///
23877    /// </pre>
23878    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
23879    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
23880    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
23881    #[inline(always)]
23882    unsafe fn data_mut(&self) -> *mut *mut crate::QAbstractAspect {
23883        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_data(
23884            self as *const crate::QVectorOfQAbstractAspect as *mut crate::QVectorOfQAbstractAspect,
23885        )
23886    }
23887}
23888
23889impl ::cpp_core::vector_ops::DataMut for crate::QVectorOfQNode {
23890    type Output = *mut *mut crate::QNode;
23891    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23892    ///
23893    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode** QVector<Qt3DCore::QNode*>::data()```</span>.
23894    ///
23895    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23896    /// <p>Example:</p>
23897    /// <pre class="cpp">
23898    ///
23899    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
23900    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
23901    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
23902    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
23903    ///
23904    /// </pre>
23905    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
23906    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
23907    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
23908    #[inline(always)]
23909    unsafe fn data_mut(&self) -> *mut *mut crate::QNode {
23910        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_data(
23911            self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
23912        )
23913    }
23914}
23915
23916impl ::cpp_core::vector_ops::DataMut for crate::QVectorOfQNodeId {
23917    type Output = ::cpp_core::Ptr<crate::QNodeId>;
23918    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23919    ///
23920    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId* QVector<Qt3DCore::QNodeId>::data()```</span>.
23921    ///
23922    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23923    /// <p>Example:</p>
23924    /// <pre class="cpp">
23925    ///
23926    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
23927    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
23928    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
23929    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
23930    ///
23931    /// </pre>
23932    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
23933    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
23934    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
23935    #[inline(always)]
23936    unsafe fn data_mut(&self) -> ::cpp_core::Ptr<crate::QNodeId> {
23937        let ffi_result = {
23938            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_data(
23939                self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
23940            )
23941        };
23942        ::cpp_core::Ptr::from_raw(ffi_result)
23943    }
23944}
23945
23946impl ::cpp_core::vector_ops::DataMut for crate::QVectorOfQEntity {
23947    type Output = *mut *mut crate::QEntity;
23948    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23949    ///
23950    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity** QVector<Qt3DCore::QEntity*>::data()```</span>.
23951    ///
23952    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23953    /// <p>Example:</p>
23954    /// <pre class="cpp">
23955    ///
23956    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
23957    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
23958    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
23959    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
23960    ///
23961    /// </pre>
23962    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
23963    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
23964    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
23965    #[inline(always)]
23966    unsafe fn data_mut(&self) -> *mut *mut crate::QEntity {
23967        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_data(
23968            self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
23969        )
23970    }
23971}
23972
23973impl ::cpp_core::vector_ops::DataMut for crate::QVectorOfQComponent {
23974    type Output = *mut *mut crate::QComponent;
23975    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23976    ///
23977    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent** QVector<Qt3DCore::QComponent*>::data()```</span>.
23978    ///
23979    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
23980    /// <p>Example:</p>
23981    /// <pre class="cpp">
23982    ///
23983    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
23984    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
23985    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
23986    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
23987    ///
23988    /// </pre>
23989    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
23990    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
23991    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
23992    #[inline(always)]
23993    unsafe fn data_mut(&self) -> *mut *mut crate::QComponent {
23994        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_data(
23995            self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
23996        )
23997    }
23998}
23999
24000impl ::cpp_core::vector_ops::DataMut for crate::QVectorOfQNodeIdTypePair {
24001    type Output = ::cpp_core::Ptr<crate::QNodeIdTypePair>;
24002    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
24003    ///
24004    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeIdTypePair* QVector<Qt3DCore::QNodeIdTypePair>::data()```</span>.
24005    ///
24006    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
24007    /// <p>Example:</p>
24008    /// <pre class="cpp">
24009    ///
24010    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
24011    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
24012    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
24013    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
24014    ///
24015    /// </pre>
24016    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
24017    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
24018    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
24019    #[inline(always)]
24020    unsafe fn data_mut(&self) -> ::cpp_core::Ptr<crate::QNodeIdTypePair> {
24021        let ffi_result = {
24022            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_data(
24023                self as *const crate::QVectorOfQNodeIdTypePair
24024                    as *mut crate::QVectorOfQNodeIdTypePair,
24025            )
24026        };
24027        ::cpp_core::Ptr::from_raw(ffi_result)
24028    }
24029}
24030
24031impl ::cpp_core::vector_ops::Data for crate::QVectorOfQAbstractAspect {
24032    type Output = *const *mut crate::QAbstractAspect;
24033    /// <p>This is an overloaded function.</p>
24034    ///
24035    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QAbstractAspect** QVector<Qt3DCore::QAbstractAspect*>::data() const```</span>.
24036    ///
24037    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
24038    #[inline(always)]
24039    unsafe fn data(&self) -> *const *mut crate::QAbstractAspect {
24040        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_data1(
24041            self as *const crate::QVectorOfQAbstractAspect,
24042        )
24043    }
24044}
24045
24046impl ::cpp_core::vector_ops::Data for crate::QVectorOfQNode {
24047    type Output = *const *mut crate::QNode;
24048    /// <p>This is an overloaded function.</p>
24049    ///
24050    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNode** QVector<Qt3DCore::QNode*>::data() const```</span>.
24051    ///
24052    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
24053    #[inline(always)]
24054    unsafe fn data(&self) -> *const *mut crate::QNode {
24055        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_data1(
24056            self as *const crate::QVectorOfQNode,
24057        )
24058    }
24059}
24060
24061impl ::cpp_core::vector_ops::Data for crate::QVectorOfQNodeId {
24062    type Output = ::cpp_core::Ptr<crate::QNodeId>;
24063    /// <p>This is an overloaded function.</p>
24064    ///
24065    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeId* QVector<Qt3DCore::QNodeId>::data() const```</span>.
24066    ///
24067    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
24068    #[inline(always)]
24069    unsafe fn data(&self) -> ::cpp_core::Ptr<crate::QNodeId> {
24070        let ffi_result = {
24071            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_data1(
24072                self as *const crate::QVectorOfQNodeId,
24073            )
24074        };
24075        ::cpp_core::Ptr::from_raw(ffi_result as *mut crate::QNodeId)
24076    }
24077}
24078
24079impl ::cpp_core::vector_ops::Data for crate::QVectorOfQEntity {
24080    type Output = *const *mut crate::QEntity;
24081    /// <p>This is an overloaded function.</p>
24082    ///
24083    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QEntity** QVector<Qt3DCore::QEntity*>::data() const```</span>.
24084    ///
24085    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
24086    #[inline(always)]
24087    unsafe fn data(&self) -> *const *mut crate::QEntity {
24088        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_data1(
24089            self as *const crate::QVectorOfQEntity,
24090        )
24091    }
24092}
24093
24094impl ::cpp_core::vector_ops::Data for crate::QVectorOfQComponent {
24095    type Output = *const *mut crate::QComponent;
24096    /// <p>This is an overloaded function.</p>
24097    ///
24098    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QComponent** QVector<Qt3DCore::QComponent*>::data() const```</span>.
24099    ///
24100    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
24101    #[inline(always)]
24102    unsafe fn data(&self) -> *const *mut crate::QComponent {
24103        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_data1(
24104            self as *const crate::QVectorOfQComponent,
24105        )
24106    }
24107}
24108
24109impl ::cpp_core::vector_ops::Data for crate::QVectorOfQNodeIdTypePair {
24110    type Output = ::cpp_core::Ptr<crate::QNodeIdTypePair>;
24111    /// <p>This is an overloaded function.</p>
24112    ///
24113    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QNodeIdTypePair* QVector<Qt3DCore::QNodeIdTypePair>::data() const```</span>.
24114    ///
24115    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
24116    #[inline(always)]
24117    unsafe fn data(&self) -> ::cpp_core::Ptr<crate::QNodeIdTypePair> {
24118        let ffi_result = {
24119            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_data1(
24120                self as *const crate::QVectorOfQNodeIdTypePair,
24121            )
24122        };
24123        ::cpp_core::Ptr::from_raw(ffi_result as *mut crate::QNodeIdTypePair)
24124    }
24125}
24126
24127impl ::std::ops::Add<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>
24128    for &crate::QVectorOfQAbstractAspect
24129{
24130    type Output = ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect>;
24131    /// <p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24132    ///
24133    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*> QVector<Qt3DCore::QAbstractAspect*>::operator+(const QVector<Qt3DCore::QAbstractAspect*>& l) const```</span>.
24134    ///
24135    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24136    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24137    #[inline(always)]
24138    fn add(
24139        self,
24140        l: ::cpp_core::Ref<crate::QVectorOfQAbstractAspect>,
24141    ) -> ::cpp_core::CppBox<crate::QVectorOfQAbstractAspect> {
24142        let ffi_result = {
24143            unsafe {
24144                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator_2(
24145                    self as *const crate::QVectorOfQAbstractAspect,
24146                    l.as_raw_ptr(),
24147                )
24148            }
24149        };
24150        unsafe {
24151            ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
24152        }
24153    }
24154}
24155
24156impl ::std::ops::Add<::cpp_core::Ref<crate::QVectorOfQNode>> for &crate::QVectorOfQNode {
24157    type Output = ::cpp_core::CppBox<crate::QVectorOfQNode>;
24158    /// <p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24159    ///
24160    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*> QVector<Qt3DCore::QNode*>::operator+(const QVector<Qt3DCore::QNode*>& l) const```</span>.
24161    ///
24162    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24163    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24164    #[inline(always)]
24165    fn add(
24166        self,
24167        l: ::cpp_core::Ref<crate::QVectorOfQNode>,
24168    ) -> ::cpp_core::CppBox<crate::QVectorOfQNode> {
24169        let ffi_result = {
24170            unsafe {
24171                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator_2(
24172                    self as *const crate::QVectorOfQNode,
24173                    l.as_raw_ptr(),
24174                )
24175            }
24176        };
24177        unsafe {
24178            ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
24179        }
24180    }
24181}
24182
24183impl ::std::ops::Add<::cpp_core::Ref<crate::QVectorOfQNodeId>> for &crate::QVectorOfQNodeId {
24184    type Output = ::cpp_core::CppBox<crate::QVectorOfQNodeId>;
24185    /// <p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24186    ///
24187    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId> QVector<Qt3DCore::QNodeId>::operator+(const QVector<Qt3DCore::QNodeId>& l) const```</span>.
24188    ///
24189    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24190    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24191    #[inline(always)]
24192    fn add(
24193        self,
24194        l: ::cpp_core::Ref<crate::QVectorOfQNodeId>,
24195    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeId> {
24196        let ffi_result = {
24197            unsafe {
24198                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator_2(
24199                    self as *const crate::QVectorOfQNodeId,
24200                    l.as_raw_ptr(),
24201                )
24202            }
24203        };
24204        unsafe {
24205            ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
24206        }
24207    }
24208}
24209
24210impl ::std::ops::Add<::cpp_core::Ref<crate::QVectorOfQEntity>> for &crate::QVectorOfQEntity {
24211    type Output = ::cpp_core::CppBox<crate::QVectorOfQEntity>;
24212    /// <p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24213    ///
24214    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*> QVector<Qt3DCore::QEntity*>::operator+(const QVector<Qt3DCore::QEntity*>& l) const```</span>.
24215    ///
24216    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24217    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24218    #[inline(always)]
24219    fn add(
24220        self,
24221        l: ::cpp_core::Ref<crate::QVectorOfQEntity>,
24222    ) -> ::cpp_core::CppBox<crate::QVectorOfQEntity> {
24223        let ffi_result = {
24224            unsafe {
24225                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator_2(
24226                    self as *const crate::QVectorOfQEntity,
24227                    l.as_raw_ptr(),
24228                )
24229            }
24230        };
24231        unsafe {
24232            ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
24233        }
24234    }
24235}
24236
24237impl ::std::ops::Add<::cpp_core::Ref<crate::QVectorOfQComponent>> for &crate::QVectorOfQComponent {
24238    type Output = ::cpp_core::CppBox<crate::QVectorOfQComponent>;
24239    /// <p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24240    ///
24241    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*> QVector<Qt3DCore::QComponent*>::operator+(const QVector<Qt3DCore::QComponent*>& l) const```</span>.
24242    ///
24243    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24244    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24245    #[inline(always)]
24246    fn add(
24247        self,
24248        l: ::cpp_core::Ref<crate::QVectorOfQComponent>,
24249    ) -> ::cpp_core::CppBox<crate::QVectorOfQComponent> {
24250        let ffi_result = {
24251            unsafe {
24252                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator_2(
24253                    self as *const crate::QVectorOfQComponent,
24254                    l.as_raw_ptr(),
24255                )
24256            }
24257        };
24258        unsafe {
24259            ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
24260        }
24261    }
24262}
24263
24264impl ::std::ops::Add<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>
24265    for &crate::QVectorOfQNodeIdTypePair
24266{
24267    type Output = ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair>;
24268    /// <p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24269    ///
24270    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair> QVector<Qt3DCore::QNodeIdTypePair>::operator+(const QVector<Qt3DCore::QNodeIdTypePair>& l) const```</span>.
24271    ///
24272    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
24273    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24274    #[inline(always)]
24275    fn add(
24276        self,
24277        l: ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>,
24278    ) -> ::cpp_core::CppBox<crate::QVectorOfQNodeIdTypePair> {
24279        let ffi_result = {
24280            unsafe {
24281                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator_2(
24282                    self as *const crate::QVectorOfQNodeIdTypePair,
24283                    l.as_raw_ptr(),
24284                )
24285            }
24286        };
24287        unsafe {
24288            ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
24289        }
24290    }
24291}
24292
24293impl ::std::ops::Shl<*const *mut crate::QAbstractAspect> for &crate::QVectorOfQAbstractAspect {
24294    type Output = ::cpp_core::Ref<crate::QVectorOfQAbstractAspect>;
24295    /// <p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24296    ///
24297    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>& QVector<Qt3DCore::QAbstractAspect*>::operator<<(const Qt3DCore::QAbstractAspect*& t)```</span>.
24298    ///
24299    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24300    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24301    #[inline(always)]
24302    fn shl(
24303        self,
24304        t: *const *mut crate::QAbstractAspect,
24305    ) -> ::cpp_core::Ref<crate::QVectorOfQAbstractAspect> {
24306        let ffi_result = {
24307            unsafe {
24308                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator__6(
24309                    self as *const crate::QVectorOfQAbstractAspect
24310                        as *mut crate::QVectorOfQAbstractAspect,
24311                    t,
24312                )
24313            }
24314        };
24315        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24316    }
24317}
24318
24319impl ::std::ops::Shl<*const *mut crate::QNode> for &crate::QVectorOfQNode {
24320    type Output = ::cpp_core::Ref<crate::QVectorOfQNode>;
24321    /// <p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24322    ///
24323    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*>& QVector<Qt3DCore::QNode*>::operator<<(const Qt3DCore::QNode*& t)```</span>.
24324    ///
24325    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24326    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24327    #[inline(always)]
24328    fn shl(self, t: *const *mut crate::QNode) -> ::cpp_core::Ref<crate::QVectorOfQNode> {
24329        let ffi_result = {
24330            unsafe {
24331                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator__6(
24332                    self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
24333                    t,
24334                )
24335            }
24336        };
24337        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24338    }
24339}
24340
24341impl ::std::ops::Shl<::cpp_core::Ref<crate::QNodeId>> for &crate::QVectorOfQNodeId {
24342    type Output = ::cpp_core::Ref<crate::QVectorOfQNodeId>;
24343    /// <p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24344    ///
24345    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>& QVector<Qt3DCore::QNodeId>::operator<<(const Qt3DCore::QNodeId& t)```</span>.
24346    ///
24347    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24348    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24349    #[inline(always)]
24350    fn shl(self, t: ::cpp_core::Ref<crate::QNodeId>) -> ::cpp_core::Ref<crate::QVectorOfQNodeId> {
24351        let ffi_result = {
24352            unsafe {
24353                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator__6(
24354                    self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
24355                    t.as_raw_ptr(),
24356                )
24357            }
24358        };
24359        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24360    }
24361}
24362
24363impl ::std::ops::Shl<*const *mut crate::QEntity> for &crate::QVectorOfQEntity {
24364    type Output = ::cpp_core::Ref<crate::QVectorOfQEntity>;
24365    /// <p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24366    ///
24367    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>& QVector<Qt3DCore::QEntity*>::operator<<(const Qt3DCore::QEntity*& t)```</span>.
24368    ///
24369    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24370    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24371    #[inline(always)]
24372    fn shl(self, t: *const *mut crate::QEntity) -> ::cpp_core::Ref<crate::QVectorOfQEntity> {
24373        let ffi_result = {
24374            unsafe {
24375                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator__6(
24376                    self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
24377                    t,
24378                )
24379            }
24380        };
24381        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24382    }
24383}
24384
24385impl ::std::ops::Shl<*const *mut crate::QComponent> for &crate::QVectorOfQComponent {
24386    type Output = ::cpp_core::Ref<crate::QVectorOfQComponent>;
24387    /// <p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24388    ///
24389    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>& QVector<Qt3DCore::QComponent*>::operator<<(const Qt3DCore::QComponent*& t)```</span>.
24390    ///
24391    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24392    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24393    #[inline(always)]
24394    fn shl(self, t: *const *mut crate::QComponent) -> ::cpp_core::Ref<crate::QVectorOfQComponent> {
24395        let ffi_result = {
24396            unsafe {
24397                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator__6(
24398                    self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
24399                    t,
24400                )
24401            }
24402        };
24403        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24404    }
24405}
24406
24407impl ::std::ops::Shl<::cpp_core::Ref<crate::QNodeIdTypePair>> for &crate::QVectorOfQNodeIdTypePair {
24408    type Output = ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>;
24409    /// <p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24410    ///
24411    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>& QVector<Qt3DCore::QNodeIdTypePair>::operator<<(const Qt3DCore::QNodeIdTypePair& t)```</span>.
24412    ///
24413    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
24414    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
24415    #[inline(always)]
24416    fn shl(
24417        self,
24418        t: ::cpp_core::Ref<crate::QNodeIdTypePair>,
24419    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair> {
24420        let ffi_result = {
24421            unsafe {
24422                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator__6(
24423                    self as *const crate::QVectorOfQNodeIdTypePair
24424                        as *mut crate::QVectorOfQNodeIdTypePair,
24425                    t.as_raw_ptr(),
24426                )
24427            }
24428        };
24429        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24430    }
24431}
24432
24433impl ::std::ops::Shl<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>
24434    for &crate::QVectorOfQAbstractAspect
24435{
24436    type Output = ::cpp_core::Ref<crate::QVectorOfQAbstractAspect>;
24437    /// <p>Appends <i>other</i> to the vector and returns a reference to the vector.</p>
24438    ///
24439    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QAbstractAspect*>& QVector<Qt3DCore::QAbstractAspect*>::operator<<(const QVector<Qt3DCore::QAbstractAspect*>& l)```</span>.
24440    ///
24441    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>other</i> to the vector and returns a reference to the vector.</p></div>
24442    #[inline(always)]
24443    fn shl(
24444        self,
24445        l: ::cpp_core::Ref<crate::QVectorOfQAbstractAspect>,
24446    ) -> ::cpp_core::Ref<crate::QVectorOfQAbstractAspect> {
24447        let ffi_result = {
24448            unsafe {
24449                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QAbstractAspect_ptr_operator__7(
24450                    self as *const crate::QVectorOfQAbstractAspect
24451                        as *mut crate::QVectorOfQAbstractAspect,
24452                    l.as_raw_ptr(),
24453                )
24454            }
24455        };
24456        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24457    }
24458}
24459
24460impl ::std::ops::Shl<::cpp_core::Ref<crate::QVectorOfQNode>> for &crate::QVectorOfQNode {
24461    type Output = ::cpp_core::Ref<crate::QVectorOfQNode>;
24462    /// <p>Appends <i>other</i> to the vector and returns a reference to the vector.</p>
24463    ///
24464    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNode*>& QVector<Qt3DCore::QNode*>::operator<<(const QVector<Qt3DCore::QNode*>& l)```</span>.
24465    ///
24466    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>other</i> to the vector and returns a reference to the vector.</p></div>
24467    #[inline(always)]
24468    fn shl(
24469        self,
24470        l: ::cpp_core::Ref<crate::QVectorOfQNode>,
24471    ) -> ::cpp_core::Ref<crate::QVectorOfQNode> {
24472        let ffi_result = {
24473            unsafe {
24474                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNode_ptr_operator__7(
24475                    self as *const crate::QVectorOfQNode as *mut crate::QVectorOfQNode,
24476                    l.as_raw_ptr(),
24477                )
24478            }
24479        };
24480        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24481    }
24482}
24483
24484impl ::std::ops::Shl<::cpp_core::Ref<crate::QVectorOfQNodeId>> for &crate::QVectorOfQNodeId {
24485    type Output = ::cpp_core::Ref<crate::QVectorOfQNodeId>;
24486    /// <p>Appends <i>other</i> to the vector and returns a reference to the vector.</p>
24487    ///
24488    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeId>& QVector<Qt3DCore::QNodeId>::operator<<(const QVector<Qt3DCore::QNodeId>& l)```</span>.
24489    ///
24490    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>other</i> to the vector and returns a reference to the vector.</p></div>
24491    #[inline(always)]
24492    fn shl(
24493        self,
24494        l: ::cpp_core::Ref<crate::QVectorOfQNodeId>,
24495    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeId> {
24496        let ffi_result = {
24497            unsafe {
24498                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeId_operator__7(
24499                    self as *const crate::QVectorOfQNodeId as *mut crate::QVectorOfQNodeId,
24500                    l.as_raw_ptr(),
24501                )
24502            }
24503        };
24504        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24505    }
24506}
24507
24508impl ::std::ops::Shl<::cpp_core::Ref<crate::QVectorOfQEntity>> for &crate::QVectorOfQEntity {
24509    type Output = ::cpp_core::Ref<crate::QVectorOfQEntity>;
24510    /// <p>Appends <i>other</i> to the vector and returns a reference to the vector.</p>
24511    ///
24512    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QEntity*>& QVector<Qt3DCore::QEntity*>::operator<<(const QVector<Qt3DCore::QEntity*>& l)```</span>.
24513    ///
24514    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>other</i> to the vector and returns a reference to the vector.</p></div>
24515    #[inline(always)]
24516    fn shl(
24517        self,
24518        l: ::cpp_core::Ref<crate::QVectorOfQEntity>,
24519    ) -> ::cpp_core::Ref<crate::QVectorOfQEntity> {
24520        let ffi_result = {
24521            unsafe {
24522                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QEntity_ptr_operator__7(
24523                    self as *const crate::QVectorOfQEntity as *mut crate::QVectorOfQEntity,
24524                    l.as_raw_ptr(),
24525                )
24526            }
24527        };
24528        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24529    }
24530}
24531
24532impl ::std::ops::Shl<::cpp_core::Ref<crate::QVectorOfQComponent>> for &crate::QVectorOfQComponent {
24533    type Output = ::cpp_core::Ref<crate::QVectorOfQComponent>;
24534    /// <p>Appends <i>other</i> to the vector and returns a reference to the vector.</p>
24535    ///
24536    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QComponent*>& QVector<Qt3DCore::QComponent*>::operator<<(const QVector<Qt3DCore::QComponent*>& l)```</span>.
24537    ///
24538    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>other</i> to the vector and returns a reference to the vector.</p></div>
24539    #[inline(always)]
24540    fn shl(
24541        self,
24542        l: ::cpp_core::Ref<crate::QVectorOfQComponent>,
24543    ) -> ::cpp_core::Ref<crate::QVectorOfQComponent> {
24544        let ffi_result = {
24545            unsafe {
24546                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QComponent_ptr_operator__7(
24547                    self as *const crate::QVectorOfQComponent as *mut crate::QVectorOfQComponent,
24548                    l.as_raw_ptr(),
24549                )
24550            }
24551        };
24552        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24553    }
24554}
24555
24556impl ::std::ops::Shl<::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>>
24557    for &crate::QVectorOfQNodeIdTypePair
24558{
24559    type Output = ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>;
24560    /// <p>Appends <i>other</i> to the vector and returns a reference to the vector.</p>
24561    ///
24562    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QNodeIdTypePair>& QVector<Qt3DCore::QNodeIdTypePair>::operator<<(const QVector<Qt3DCore::QNodeIdTypePair>& l)```</span>.
24563    ///
24564    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>other</i> to the vector and returns a reference to the vector.</p></div>
24565    #[inline(always)]
24566    fn shl(
24567        self,
24568        l: ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair>,
24569    ) -> ::cpp_core::Ref<crate::QVectorOfQNodeIdTypePair> {
24570        let ffi_result = {
24571            unsafe {
24572                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QNodeIdTypePair_operator__7(
24573                    self as *const crate::QVectorOfQNodeIdTypePair
24574                        as *mut crate::QVectorOfQNodeIdTypePair,
24575                    l.as_raw_ptr(),
24576                )
24577            }
24578        };
24579        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
24580    }
24581}
24582
24583impl ::cpp_core::cmp::Lt<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>
24584    for crate::QVectorOfQAbstractAspect
24585{
24586    /// Calls C++ function: <span style='color: green;'>```bool operator<(const QVector<Qt3DCore::QAbstractAspect*>& lhs, const QVector<Qt3DCore::QAbstractAspect*>& rhs)```</span>.
24587    #[inline(always)]
24588    unsafe fn lt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQAbstractAspect>) -> bool {
24589        crate::__ffi::ctr_qt_3d_core_ffi_operator_(
24590            self as *const crate::QVectorOfQAbstractAspect,
24591            rhs.as_raw_ptr(),
24592        )
24593    }
24594}
24595
24596impl ::cpp_core::cmp::Lt<::cpp_core::Ref<crate::QVectorOfQNode>> for crate::QVectorOfQNode {
24597    /// Calls C++ function: <span style='color: green;'>```bool operator<(const QVector<Qt3DCore::QNode*>& lhs, const QVector<Qt3DCore::QNode*>& rhs)```</span>.
24598    #[inline(always)]
24599    unsafe fn lt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNode>) -> bool {
24600        crate::__ffi::ctr_qt_3d_core_ffi_operator_1(
24601            self as *const crate::QVectorOfQNode,
24602            rhs.as_raw_ptr(),
24603        )
24604    }
24605}
24606
24607impl ::cpp_core::cmp::Lt<::cpp_core::Ref<crate::QVectorOfQNodeId>> for crate::QVectorOfQNodeId {
24608    /// Calls C++ function: <span style='color: green;'>```bool operator<(const QVector<Qt3DCore::QNodeId>& lhs, const QVector<Qt3DCore::QNodeId>& rhs)```</span>.
24609    #[inline(always)]
24610    unsafe fn lt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNodeId>) -> bool {
24611        crate::__ffi::ctr_qt_3d_core_ffi_operator_2(
24612            self as *const crate::QVectorOfQNodeId,
24613            rhs.as_raw_ptr(),
24614        )
24615    }
24616}
24617
24618impl ::cpp_core::cmp::Lt<::cpp_core::Ref<crate::QVectorOfQEntity>> for crate::QVectorOfQEntity {
24619    /// Calls C++ function: <span style='color: green;'>```bool operator<(const QVector<Qt3DCore::QEntity*>& lhs, const QVector<Qt3DCore::QEntity*>& rhs)```</span>.
24620    #[inline(always)]
24621    unsafe fn lt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQEntity>) -> bool {
24622        crate::__ffi::ctr_qt_3d_core_ffi_operator_3(
24623            self as *const crate::QVectorOfQEntity,
24624            rhs.as_raw_ptr(),
24625        )
24626    }
24627}
24628
24629impl ::cpp_core::cmp::Lt<::cpp_core::Ref<crate::QVectorOfQComponent>>
24630    for crate::QVectorOfQComponent
24631{
24632    /// Calls C++ function: <span style='color: green;'>```bool operator<(const QVector<Qt3DCore::QComponent*>& lhs, const QVector<Qt3DCore::QComponent*>& rhs)```</span>.
24633    #[inline(always)]
24634    unsafe fn lt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQComponent>) -> bool {
24635        crate::__ffi::ctr_qt_3d_core_ffi_operator_4(
24636            self as *const crate::QVectorOfQComponent,
24637            rhs.as_raw_ptr(),
24638        )
24639    }
24640}
24641
24642impl ::cpp_core::cmp::Gt<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>
24643    for crate::QVectorOfQAbstractAspect
24644{
24645    /// Calls C++ function: <span style='color: green;'>```bool operator>(const QVector<Qt3DCore::QAbstractAspect*>& lhs, const QVector<Qt3DCore::QAbstractAspect*>& rhs)```</span>.
24646    #[inline(always)]
24647    unsafe fn gt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQAbstractAspect>) -> bool {
24648        crate::__ffi::ctr_qt_3d_core_ffi_operator_6(
24649            self as *const crate::QVectorOfQAbstractAspect,
24650            rhs.as_raw_ptr(),
24651        )
24652    }
24653}
24654
24655impl ::cpp_core::cmp::Gt<::cpp_core::Ref<crate::QVectorOfQNode>> for crate::QVectorOfQNode {
24656    /// Calls C++ function: <span style='color: green;'>```bool operator>(const QVector<Qt3DCore::QNode*>& lhs, const QVector<Qt3DCore::QNode*>& rhs)```</span>.
24657    #[inline(always)]
24658    unsafe fn gt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNode>) -> bool {
24659        crate::__ffi::ctr_qt_3d_core_ffi_operator_7(
24660            self as *const crate::QVectorOfQNode,
24661            rhs.as_raw_ptr(),
24662        )
24663    }
24664}
24665
24666impl ::cpp_core::cmp::Gt<::cpp_core::Ref<crate::QVectorOfQNodeId>> for crate::QVectorOfQNodeId {
24667    /// Calls C++ function: <span style='color: green;'>```bool operator>(const QVector<Qt3DCore::QNodeId>& lhs, const QVector<Qt3DCore::QNodeId>& rhs)```</span>.
24668    #[inline(always)]
24669    unsafe fn gt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNodeId>) -> bool {
24670        crate::__ffi::ctr_qt_3d_core_ffi_operator_8(
24671            self as *const crate::QVectorOfQNodeId,
24672            rhs.as_raw_ptr(),
24673        )
24674    }
24675}
24676
24677impl ::cpp_core::cmp::Gt<::cpp_core::Ref<crate::QVectorOfQEntity>> for crate::QVectorOfQEntity {
24678    /// Calls C++ function: <span style='color: green;'>```bool operator>(const QVector<Qt3DCore::QEntity*>& lhs, const QVector<Qt3DCore::QEntity*>& rhs)```</span>.
24679    #[inline(always)]
24680    unsafe fn gt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQEntity>) -> bool {
24681        crate::__ffi::ctr_qt_3d_core_ffi_operator_9(
24682            self as *const crate::QVectorOfQEntity,
24683            rhs.as_raw_ptr(),
24684        )
24685    }
24686}
24687
24688impl ::cpp_core::cmp::Gt<::cpp_core::Ref<crate::QVectorOfQComponent>>
24689    for crate::QVectorOfQComponent
24690{
24691    /// Calls C++ function: <span style='color: green;'>```bool operator>(const QVector<Qt3DCore::QComponent*>& lhs, const QVector<Qt3DCore::QComponent*>& rhs)```</span>.
24692    #[inline(always)]
24693    unsafe fn gt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQComponent>) -> bool {
24694        crate::__ffi::ctr_qt_3d_core_ffi_operator_10(
24695            self as *const crate::QVectorOfQComponent,
24696            rhs.as_raw_ptr(),
24697        )
24698    }
24699}
24700
24701impl ::cpp_core::cmp::Le<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>
24702    for crate::QVectorOfQAbstractAspect
24703{
24704    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24705    ///
24706    /// Calls C++ function: <span style='color: green;'>```bool operator<=(const QVector<Qt3DCore::QAbstractAspect*>& lhs, const QVector<Qt3DCore::QAbstractAspect*>& rhs)```</span>.
24707    ///
24708    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-lt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator<=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24709    #[inline(always)]
24710    unsafe fn le(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQAbstractAspect>) -> bool {
24711        crate::__ffi::ctr_qt_3d_core_ffi_operator__(
24712            self as *const crate::QVectorOfQAbstractAspect,
24713            rhs.as_raw_ptr(),
24714        )
24715    }
24716}
24717
24718impl ::cpp_core::cmp::Le<::cpp_core::Ref<crate::QVectorOfQNode>> for crate::QVectorOfQNode {
24719    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24720    ///
24721    /// Calls C++ function: <span style='color: green;'>```bool operator<=(const QVector<Qt3DCore::QNode*>& lhs, const QVector<Qt3DCore::QNode*>& rhs)```</span>.
24722    ///
24723    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-lt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator<=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24724    #[inline(always)]
24725    unsafe fn le(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNode>) -> bool {
24726        crate::__ffi::ctr_qt_3d_core_ffi_operator__1(
24727            self as *const crate::QVectorOfQNode,
24728            rhs.as_raw_ptr(),
24729        )
24730    }
24731}
24732
24733impl ::cpp_core::cmp::Le<::cpp_core::Ref<crate::QVectorOfQNodeId>> for crate::QVectorOfQNodeId {
24734    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24735    ///
24736    /// Calls C++ function: <span style='color: green;'>```bool operator<=(const QVector<Qt3DCore::QNodeId>& lhs, const QVector<Qt3DCore::QNodeId>& rhs)```</span>.
24737    ///
24738    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-lt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator<=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24739    #[inline(always)]
24740    unsafe fn le(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNodeId>) -> bool {
24741        crate::__ffi::ctr_qt_3d_core_ffi_operator__2(
24742            self as *const crate::QVectorOfQNodeId,
24743            rhs.as_raw_ptr(),
24744        )
24745    }
24746}
24747
24748impl ::cpp_core::cmp::Le<::cpp_core::Ref<crate::QVectorOfQEntity>> for crate::QVectorOfQEntity {
24749    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24750    ///
24751    /// Calls C++ function: <span style='color: green;'>```bool operator<=(const QVector<Qt3DCore::QEntity*>& lhs, const QVector<Qt3DCore::QEntity*>& rhs)```</span>.
24752    ///
24753    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-lt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator<=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24754    #[inline(always)]
24755    unsafe fn le(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQEntity>) -> bool {
24756        crate::__ffi::ctr_qt_3d_core_ffi_operator__3(
24757            self as *const crate::QVectorOfQEntity,
24758            rhs.as_raw_ptr(),
24759        )
24760    }
24761}
24762
24763impl ::cpp_core::cmp::Le<::cpp_core::Ref<crate::QVectorOfQComponent>>
24764    for crate::QVectorOfQComponent
24765{
24766    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24767    ///
24768    /// Calls C++ function: <span style='color: green;'>```bool operator<=(const QVector<Qt3DCore::QComponent*>& lhs, const QVector<Qt3DCore::QComponent*>& rhs)```</span>.
24769    ///
24770    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-lt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator<=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24771    #[inline(always)]
24772    unsafe fn le(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQComponent>) -> bool {
24773        crate::__ffi::ctr_qt_3d_core_ffi_operator__4(
24774            self as *const crate::QVectorOfQComponent,
24775            rhs.as_raw_ptr(),
24776        )
24777    }
24778}
24779
24780impl ::cpp_core::cmp::Ge<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>
24781    for crate::QVectorOfQAbstractAspect
24782{
24783    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24784    ///
24785    /// Calls C++ function: <span style='color: green;'>```bool operator>=(const QVector<Qt3DCore::QAbstractAspect*>& lhs, const QVector<Qt3DCore::QAbstractAspect*>& rhs)```</span>.
24786    ///
24787    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-gt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator>=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24788    #[inline(always)]
24789    unsafe fn ge(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQAbstractAspect>) -> bool {
24790        crate::__ffi::ctr_qt_3d_core_ffi_operator__6(
24791            self as *const crate::QVectorOfQAbstractAspect,
24792            rhs.as_raw_ptr(),
24793        )
24794    }
24795}
24796
24797impl ::cpp_core::cmp::Ge<::cpp_core::Ref<crate::QVectorOfQNode>> for crate::QVectorOfQNode {
24798    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24799    ///
24800    /// Calls C++ function: <span style='color: green;'>```bool operator>=(const QVector<Qt3DCore::QNode*>& lhs, const QVector<Qt3DCore::QNode*>& rhs)```</span>.
24801    ///
24802    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-gt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator>=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24803    #[inline(always)]
24804    unsafe fn ge(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNode>) -> bool {
24805        crate::__ffi::ctr_qt_3d_core_ffi_operator__7(
24806            self as *const crate::QVectorOfQNode,
24807            rhs.as_raw_ptr(),
24808        )
24809    }
24810}
24811
24812impl ::cpp_core::cmp::Ge<::cpp_core::Ref<crate::QVectorOfQNodeId>> for crate::QVectorOfQNodeId {
24813    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24814    ///
24815    /// Calls C++ function: <span style='color: green;'>```bool operator>=(const QVector<Qt3DCore::QNodeId>& lhs, const QVector<Qt3DCore::QNodeId>& rhs)```</span>.
24816    ///
24817    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-gt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator>=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24818    #[inline(always)]
24819    unsafe fn ge(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQNodeId>) -> bool {
24820        crate::__ffi::ctr_qt_3d_core_ffi_operator__8(
24821            self as *const crate::QVectorOfQNodeId,
24822            rhs.as_raw_ptr(),
24823        )
24824    }
24825}
24826
24827impl ::cpp_core::cmp::Ge<::cpp_core::Ref<crate::QVectorOfQEntity>> for crate::QVectorOfQEntity {
24828    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24829    ///
24830    /// Calls C++ function: <span style='color: green;'>```bool operator>=(const QVector<Qt3DCore::QEntity*>& lhs, const QVector<Qt3DCore::QEntity*>& rhs)```</span>.
24831    ///
24832    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-gt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator>=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24833    #[inline(always)]
24834    unsafe fn ge(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQEntity>) -> bool {
24835        crate::__ffi::ctr_qt_3d_core_ffi_operator__9(
24836            self as *const crate::QVectorOfQEntity,
24837            rhs.as_raw_ptr(),
24838        )
24839    }
24840}
24841
24842impl ::cpp_core::cmp::Ge<::cpp_core::Ref<crate::QVectorOfQComponent>>
24843    for crate::QVectorOfQComponent
24844{
24845    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
24846    ///
24847    /// Calls C++ function: <span style='color: green;'>```bool operator>=(const QVector<Qt3DCore::QComponent*>& lhs, const QVector<Qt3DCore::QComponent*>& rhs)```</span>.
24848    ///
24849    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-gt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator>=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
24850    #[inline(always)]
24851    unsafe fn ge(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQComponent>) -> bool {
24852        crate::__ffi::ctr_qt_3d_core_ffi_operator__10(
24853            self as *const crate::QVectorOfQComponent,
24854            rhs.as_raw_ptr(),
24855        )
24856    }
24857}
24858
24859impl ::cpp_core::StaticDowncast<crate::QAbstractAspect> for ::qt_core::QObject {
24860    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect* static_cast<Qt3DCore::QAbstractAspect*>(QObject* ptr)```</span>.
24861    #[inline(always)]
24862    unsafe fn static_downcast(
24863        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
24864    ) -> ::cpp_core::Ptr<crate::QAbstractAspect> {
24865        let ffi_result = {
24866            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAbstractAspect_ptr(
24867                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
24868            )
24869        };
24870        ::cpp_core::Ptr::from_raw(ffi_result)
24871    }
24872}
24873
24874impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QAbstractAspect {
24875    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QAbstractAspect* ptr)```</span>.
24876    #[inline(always)]
24877    unsafe fn static_upcast(
24878        ptr: ::cpp_core::Ptr<crate::QAbstractAspect>,
24879    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
24880        let ffi_result = {
24881            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr(
24882                ptr.as_raw_ptr() as *mut crate::QAbstractAspect
24883            )
24884        };
24885        ::cpp_core::Ptr::from_raw(ffi_result)
24886    }
24887}
24888
24889impl ::std::ops::Deref for crate::QAbstractAspect {
24890    type Target = ::qt_core::QObject;
24891    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QAbstractAspect* ptr)```</span>.
24892    #[inline(always)]
24893    fn deref(&self) -> &::qt_core::QObject {
24894        let ffi_result = {
24895            unsafe {
24896                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr(
24897                    self as *const crate::QAbstractAspect as *mut crate::QAbstractAspect,
24898                )
24899            }
24900        };
24901        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
24902    }
24903}
24904
24905impl ::cpp_core::DynamicCast<crate::QAbstractAspect> for ::qt_core::QObject {
24906    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractAspect* dynamic_cast<Qt3DCore::QAbstractAspect*>(QObject* ptr)```</span>.
24907    #[inline(always)]
24908    unsafe fn dynamic_cast(
24909        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
24910    ) -> ::cpp_core::Ptr<crate::QAbstractAspect> {
24911        let ffi_result = {
24912            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QAbstractAspect_ptr(
24913                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
24914            )
24915        };
24916        ::cpp_core::Ptr::from_raw(ffi_result)
24917    }
24918}
24919
24920impl ::cpp_core::StaticDowncast<crate::QAspectEngine> for ::qt_core::QObject {
24921    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAspectEngine* static_cast<Qt3DCore::QAspectEngine*>(QObject* ptr)```</span>.
24922    #[inline(always)]
24923    unsafe fn static_downcast(
24924        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
24925    ) -> ::cpp_core::Ptr<crate::QAspectEngine> {
24926        let ffi_result = {
24927            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAspectEngine_ptr(
24928                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
24929            )
24930        };
24931        ::cpp_core::Ptr::from_raw(ffi_result)
24932    }
24933}
24934
24935impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QAspectEngine {
24936    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QAspectEngine* ptr)```</span>.
24937    #[inline(always)]
24938    unsafe fn static_upcast(
24939        ptr: ::cpp_core::Ptr<crate::QAspectEngine>,
24940    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
24941        let ffi_result = {
24942            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr1(
24943                ptr.as_raw_ptr() as *mut crate::QAspectEngine
24944            )
24945        };
24946        ::cpp_core::Ptr::from_raw(ffi_result)
24947    }
24948}
24949
24950impl ::std::ops::Deref for crate::QAspectEngine {
24951    type Target = ::qt_core::QObject;
24952    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QAspectEngine* ptr)```</span>.
24953    #[inline(always)]
24954    fn deref(&self) -> &::qt_core::QObject {
24955        let ffi_result = {
24956            unsafe {
24957                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr1(
24958                    self as *const crate::QAspectEngine as *mut crate::QAspectEngine,
24959                )
24960            }
24961        };
24962        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
24963    }
24964}
24965
24966impl ::cpp_core::DynamicCast<crate::QAspectEngine> for ::qt_core::QObject {
24967    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAspectEngine* dynamic_cast<Qt3DCore::QAspectEngine*>(QObject* ptr)```</span>.
24968    #[inline(always)]
24969    unsafe fn dynamic_cast(
24970        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
24971    ) -> ::cpp_core::Ptr<crate::QAspectEngine> {
24972        let ffi_result = {
24973            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QAspectEngine_ptr(
24974                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
24975            )
24976        };
24977        ::cpp_core::Ptr::from_raw(ffi_result)
24978    }
24979}
24980
24981impl ::cpp_core::StaticDowncast<crate::QNodeCreatedChangeBase> for crate::QSceneChange {
24982    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeCreatedChangeBase* static_cast<Qt3DCore::QNodeCreatedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
24983    #[inline(always)]
24984    unsafe fn static_downcast(
24985        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
24986    ) -> ::cpp_core::Ptr<crate::QNodeCreatedChangeBase> {
24987        let ffi_result = {
24988            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNodeCreatedChangeBase_ptr(
24989                ptr.as_raw_ptr() as *mut crate::QSceneChange,
24990            )
24991        };
24992        ::cpp_core::Ptr::from_raw(ffi_result)
24993    }
24994}
24995
24996impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QNodeCreatedChangeBase {
24997    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QNodeCreatedChangeBase* ptr)```</span>.
24998    #[inline(always)]
24999    unsafe fn static_upcast(
25000        ptr: ::cpp_core::Ptr<crate::QNodeCreatedChangeBase>,
25001    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25002        let ffi_result = {
25003            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr(
25004                ptr.as_raw_ptr() as *mut crate::QNodeCreatedChangeBase
25005            )
25006        };
25007        ::cpp_core::Ptr::from_raw(ffi_result)
25008    }
25009}
25010
25011impl ::std::ops::Deref for crate::QNodeCreatedChangeBase {
25012    type Target = crate::QSceneChange;
25013    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QNodeCreatedChangeBase* ptr)```</span>.
25014    #[inline(always)]
25015    fn deref(&self) -> &crate::QSceneChange {
25016        let ffi_result = {
25017            unsafe {
25018                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr(
25019                    self as *const crate::QNodeCreatedChangeBase
25020                        as *mut crate::QNodeCreatedChangeBase,
25021                )
25022            }
25023        };
25024        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25025    }
25026}
25027
25028impl ::cpp_core::DynamicCast<crate::QNodeCreatedChangeBase> for crate::QSceneChange {
25029    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeCreatedChangeBase* dynamic_cast<Qt3DCore::QNodeCreatedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25030    #[inline(always)]
25031    unsafe fn dynamic_cast(
25032        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25033    ) -> ::cpp_core::Ptr<crate::QNodeCreatedChangeBase> {
25034        let ffi_result = {
25035            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QNodeCreatedChangeBase_ptr(
25036                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25037            )
25038        };
25039        ::cpp_core::Ptr::from_raw(ffi_result)
25040    }
25041}
25042
25043impl ::cpp_core::StaticDowncast<crate::QNode> for ::qt_core::QObject {
25044    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(QObject* ptr)```</span>.
25045    #[inline(always)]
25046    unsafe fn static_downcast(
25047        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
25048    ) -> ::cpp_core::Ptr<crate::QNode> {
25049        let ffi_result = {
25050            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr(
25051                ptr.as_raw_ptr() as *mut ::qt_core::QObject
25052            )
25053        };
25054        ::cpp_core::Ptr::from_raw(ffi_result)
25055    }
25056}
25057
25058impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QNode {
25059    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QNode* ptr)```</span>.
25060    #[inline(always)]
25061    unsafe fn static_upcast(
25062        ptr: ::cpp_core::Ptr<crate::QNode>,
25063    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
25064        let ffi_result = {
25065            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr2(
25066                ptr.as_raw_ptr() as *mut crate::QNode
25067            )
25068        };
25069        ::cpp_core::Ptr::from_raw(ffi_result)
25070    }
25071}
25072
25073impl ::std::ops::Deref for crate::QNode {
25074    type Target = ::qt_core::QObject;
25075    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QNode* ptr)```</span>.
25076    #[inline(always)]
25077    fn deref(&self) -> &::qt_core::QObject {
25078        let ffi_result = {
25079            unsafe {
25080                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr2(
25081                    self as *const crate::QNode as *mut crate::QNode,
25082                )
25083            }
25084        };
25085        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25086    }
25087}
25088
25089impl ::cpp_core::DynamicCast<crate::QNode> for ::qt_core::QObject {
25090    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* dynamic_cast<Qt3DCore::QNode*>(QObject* ptr)```</span>.
25091    #[inline(always)]
25092    unsafe fn dynamic_cast(
25093        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
25094    ) -> ::cpp_core::Ptr<crate::QNode> {
25095        let ffi_result = {
25096            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QNode_ptr(
25097                ptr.as_raw_ptr() as *mut ::qt_core::QObject
25098            )
25099        };
25100        ::cpp_core::Ptr::from_raw(ffi_result)
25101    }
25102}
25103
25104impl ::cpp_core::StaticDowncast<crate::QComponent> for crate::QNode {
25105    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DCore::QNode* ptr)```</span>.
25106    #[inline(always)]
25107    unsafe fn static_downcast(
25108        ptr: ::cpp_core::Ptr<crate::QNode>,
25109    ) -> ::cpp_core::Ptr<crate::QComponent> {
25110        let ffi_result = {
25111            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponent_ptr(
25112                ptr.as_raw_ptr() as *mut crate::QNode
25113            )
25114        };
25115        ::cpp_core::Ptr::from_raw(ffi_result)
25116    }
25117}
25118
25119impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QComponent {
25120    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QComponent* ptr)```</span>.
25121    #[inline(always)]
25122    unsafe fn static_upcast(
25123        ptr: ::cpp_core::Ptr<crate::QComponent>,
25124    ) -> ::cpp_core::Ptr<crate::QNode> {
25125        let ffi_result = {
25126            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr1(
25127                ptr.as_raw_ptr() as *mut crate::QComponent
25128            )
25129        };
25130        ::cpp_core::Ptr::from_raw(ffi_result)
25131    }
25132}
25133
25134impl ::std::ops::Deref for crate::QComponent {
25135    type Target = crate::QNode;
25136    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QComponent* ptr)```</span>.
25137    #[inline(always)]
25138    fn deref(&self) -> &crate::QNode {
25139        let ffi_result = {
25140            unsafe {
25141                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr1(
25142                    self as *const crate::QComponent as *mut crate::QComponent,
25143                )
25144            }
25145        };
25146        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25147    }
25148}
25149
25150impl ::cpp_core::DynamicCast<crate::QComponent> for crate::QNode {
25151    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* dynamic_cast<Qt3DCore::QComponent*>(Qt3DCore::QNode* ptr)```</span>.
25152    #[inline(always)]
25153    unsafe fn dynamic_cast(
25154        ptr: ::cpp_core::Ptr<crate::QNode>,
25155    ) -> ::cpp_core::Ptr<crate::QComponent> {
25156        let ffi_result = {
25157            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QComponent_ptr(
25158                ptr.as_raw_ptr() as *mut crate::QNode
25159            )
25160        };
25161        ::cpp_core::Ptr::from_raw(ffi_result)
25162    }
25163}
25164
25165impl ::cpp_core::StaticDowncast<crate::QComponent> for ::qt_core::QObject {
25166    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(QObject* ptr)```</span>.
25167    #[inline(always)]
25168    unsafe fn static_downcast(
25169        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
25170    ) -> ::cpp_core::Ptr<crate::QComponent> {
25171        let ffi_result = {
25172            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponent_ptr1(
25173                ptr.as_raw_ptr() as *mut ::qt_core::QObject
25174            )
25175        };
25176        ::cpp_core::Ptr::from_raw(ffi_result)
25177    }
25178}
25179
25180impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QComponent {
25181    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QComponent* ptr)```</span>.
25182    #[inline(always)]
25183    unsafe fn static_upcast(
25184        ptr: ::cpp_core::Ptr<crate::QComponent>,
25185    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
25186        let ffi_result = {
25187            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr3(
25188                ptr.as_raw_ptr() as *mut crate::QComponent
25189            )
25190        };
25191        ::cpp_core::Ptr::from_raw(ffi_result)
25192    }
25193}
25194
25195impl ::cpp_core::DynamicCast<crate::QComponent> for ::qt_core::QObject {
25196    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* dynamic_cast<Qt3DCore::QComponent*>(QObject* ptr)```</span>.
25197    #[inline(always)]
25198    unsafe fn dynamic_cast(
25199        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
25200    ) -> ::cpp_core::Ptr<crate::QComponent> {
25201        let ffi_result = {
25202            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QComponent_ptr1(
25203                ptr.as_raw_ptr() as *mut ::qt_core::QObject
25204            )
25205        };
25206        ::cpp_core::Ptr::from_raw(ffi_result)
25207    }
25208}
25209
25210impl ::cpp_core::StaticDowncast<crate::QComponentAddedChange> for crate::QSceneChange {
25211    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponentAddedChange* static_cast<Qt3DCore::QComponentAddedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25212    #[inline(always)]
25213    unsafe fn static_downcast(
25214        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25215    ) -> ::cpp_core::Ptr<crate::QComponentAddedChange> {
25216        let ffi_result = {
25217            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponentAddedChange_ptr(
25218                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25219            )
25220        };
25221        ::cpp_core::Ptr::from_raw(ffi_result)
25222    }
25223}
25224
25225impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QComponentAddedChange {
25226    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QComponentAddedChange* ptr)```</span>.
25227    #[inline(always)]
25228    unsafe fn static_upcast(
25229        ptr: ::cpp_core::Ptr<crate::QComponentAddedChange>,
25230    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25231        let ffi_result = {
25232            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr1(
25233                ptr.as_raw_ptr() as *mut crate::QComponentAddedChange,
25234            )
25235        };
25236        ::cpp_core::Ptr::from_raw(ffi_result)
25237    }
25238}
25239
25240impl ::std::ops::Deref for crate::QComponentAddedChange {
25241    type Target = crate::QSceneChange;
25242    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QComponentAddedChange* ptr)```</span>.
25243    #[inline(always)]
25244    fn deref(&self) -> &crate::QSceneChange {
25245        let ffi_result = {
25246            unsafe {
25247                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr1(
25248                    self as *const crate::QComponentAddedChange
25249                        as *mut crate::QComponentAddedChange,
25250                )
25251            }
25252        };
25253        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25254    }
25255}
25256
25257impl ::cpp_core::DynamicCast<crate::QComponentAddedChange> for crate::QSceneChange {
25258    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponentAddedChange* dynamic_cast<Qt3DCore::QComponentAddedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25259    #[inline(always)]
25260    unsafe fn dynamic_cast(
25261        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25262    ) -> ::cpp_core::Ptr<crate::QComponentAddedChange> {
25263        let ffi_result = {
25264            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QComponentAddedChange_ptr(
25265                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25266            )
25267        };
25268        ::cpp_core::Ptr::from_raw(ffi_result)
25269    }
25270}
25271
25272impl ::cpp_core::StaticDowncast<crate::QComponentRemovedChange> for crate::QSceneChange {
25273    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponentRemovedChange* static_cast<Qt3DCore::QComponentRemovedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25274    #[inline(always)]
25275    unsafe fn static_downcast(
25276        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25277    ) -> ::cpp_core::Ptr<crate::QComponentRemovedChange> {
25278        let ffi_result = {
25279            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponentRemovedChange_ptr(
25280                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25281            )
25282        };
25283        ::cpp_core::Ptr::from_raw(ffi_result)
25284    }
25285}
25286
25287impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QComponentRemovedChange {
25288    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QComponentRemovedChange* ptr)```</span>.
25289    #[inline(always)]
25290    unsafe fn static_upcast(
25291        ptr: ::cpp_core::Ptr<crate::QComponentRemovedChange>,
25292    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25293        let ffi_result = {
25294            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr2(
25295                ptr.as_raw_ptr() as *mut crate::QComponentRemovedChange,
25296            )
25297        };
25298        ::cpp_core::Ptr::from_raw(ffi_result)
25299    }
25300}
25301
25302impl ::std::ops::Deref for crate::QComponentRemovedChange {
25303    type Target = crate::QSceneChange;
25304    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QComponentRemovedChange* ptr)```</span>.
25305    #[inline(always)]
25306    fn deref(&self) -> &crate::QSceneChange {
25307        let ffi_result = {
25308            unsafe {
25309                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr2(
25310                    self as *const crate::QComponentRemovedChange
25311                        as *mut crate::QComponentRemovedChange,
25312                )
25313            }
25314        };
25315        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25316    }
25317}
25318
25319impl ::cpp_core::DynamicCast<crate::QComponentRemovedChange> for crate::QSceneChange {
25320    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponentRemovedChange* dynamic_cast<Qt3DCore::QComponentRemovedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25321    #[inline(always)]
25322    unsafe fn dynamic_cast(
25323        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25324    ) -> ::cpp_core::Ptr<crate::QComponentRemovedChange> {
25325        let ffi_result = {
25326            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QComponentRemovedChange_ptr(
25327                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25328            )
25329        };
25330        ::cpp_core::Ptr::from_raw(ffi_result)
25331    }
25332}
25333
25334impl ::cpp_core::StaticDowncast<crate::QPropertyUpdatedChangeBase> for crate::QSceneChange {
25335    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase* static_cast<Qt3DCore::QPropertyUpdatedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25336    #[inline(always)]
25337    unsafe fn static_downcast(
25338        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25339    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase> {
25340        let ffi_result = {
25341            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChangeBase_ptr(
25342                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25343            )
25344        };
25345        ::cpp_core::Ptr::from_raw(ffi_result)
25346    }
25347}
25348
25349impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyUpdatedChangeBase {
25350    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
25351    #[inline(always)]
25352    unsafe fn static_upcast(
25353        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase>,
25354    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25355        let ffi_result = {
25356            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr3(
25357                ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChangeBase,
25358            )
25359        };
25360        ::cpp_core::Ptr::from_raw(ffi_result)
25361    }
25362}
25363
25364impl ::std::ops::Deref for crate::QPropertyUpdatedChangeBase {
25365    type Target = crate::QSceneChange;
25366    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
25367    #[inline(always)]
25368    fn deref(&self) -> &crate::QSceneChange {
25369        let ffi_result = {
25370            unsafe {
25371                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr3(
25372                    self as *const crate::QPropertyUpdatedChangeBase
25373                        as *mut crate::QPropertyUpdatedChangeBase,
25374                )
25375            }
25376        };
25377        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25378    }
25379}
25380
25381impl ::cpp_core::DynamicCast<crate::QPropertyUpdatedChangeBase> for crate::QSceneChange {
25382    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase* dynamic_cast<Qt3DCore::QPropertyUpdatedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25383    #[inline(always)]
25384    unsafe fn dynamic_cast(
25385        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25386    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase> {
25387        let ffi_result = {
25388            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyUpdatedChangeBase_ptr(
25389                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25390            )
25391        };
25392        ::cpp_core::Ptr::from_raw(ffi_result)
25393    }
25394}
25395
25396impl ::cpp_core::StaticDowncast<crate::QDynamicPropertyUpdatedChange>
25397    for crate::QPropertyUpdatedChangeBase
25398{
25399    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QDynamicPropertyUpdatedChange* static_cast<Qt3DCore::QDynamicPropertyUpdatedChange*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
25400    #[inline(always)]
25401    unsafe fn static_downcast(
25402        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase>,
25403    ) -> ::cpp_core::Ptr<crate::QDynamicPropertyUpdatedChange> {
25404        let ffi_result = {
25405            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QDynamicPropertyUpdatedChange_ptr(
25406                ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChangeBase,
25407            )
25408        };
25409        ::cpp_core::Ptr::from_raw(ffi_result)
25410    }
25411}
25412
25413impl ::cpp_core::StaticUpcast<crate::QPropertyUpdatedChangeBase>
25414    for crate::QDynamicPropertyUpdatedChange
25415{
25416    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase* static_cast<Qt3DCore::QPropertyUpdatedChangeBase*>(Qt3DCore::QDynamicPropertyUpdatedChange* ptr)```</span>.
25417    #[inline(always)]
25418    unsafe fn static_upcast(
25419        ptr: ::cpp_core::Ptr<crate::QDynamicPropertyUpdatedChange>,
25420    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase> {
25421        let ffi_result = {
25422            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChangeBase_ptr1(
25423                ptr.as_raw_ptr() as *mut crate::QDynamicPropertyUpdatedChange,
25424            )
25425        };
25426        ::cpp_core::Ptr::from_raw(ffi_result)
25427    }
25428}
25429
25430impl ::std::ops::Deref for crate::QDynamicPropertyUpdatedChange {
25431    type Target = crate::QPropertyUpdatedChangeBase;
25432    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase* static_cast<Qt3DCore::QPropertyUpdatedChangeBase*>(Qt3DCore::QDynamicPropertyUpdatedChange* ptr)```</span>.
25433    #[inline(always)]
25434    fn deref(&self) -> &crate::QPropertyUpdatedChangeBase {
25435        let ffi_result = {
25436            unsafe {
25437                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChangeBase_ptr1(self as *const crate::QDynamicPropertyUpdatedChange as *mut crate::QDynamicPropertyUpdatedChange)
25438            }
25439        };
25440        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25441    }
25442}
25443
25444impl ::cpp_core::DynamicCast<crate::QDynamicPropertyUpdatedChange>
25445    for crate::QPropertyUpdatedChangeBase
25446{
25447    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QDynamicPropertyUpdatedChange* dynamic_cast<Qt3DCore::QDynamicPropertyUpdatedChange*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
25448    #[inline(always)]
25449    unsafe fn dynamic_cast(
25450        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase>,
25451    ) -> ::cpp_core::Ptr<crate::QDynamicPropertyUpdatedChange> {
25452        let ffi_result = {
25453            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QDynamicPropertyUpdatedChange_ptr(
25454                ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChangeBase,
25455            )
25456        };
25457        ::cpp_core::Ptr::from_raw(ffi_result)
25458    }
25459}
25460
25461impl ::cpp_core::StaticDowncast<crate::QDynamicPropertyUpdatedChange> for crate::QSceneChange {
25462    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QDynamicPropertyUpdatedChange* static_cast<Qt3DCore::QDynamicPropertyUpdatedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25463    #[inline(always)]
25464    unsafe fn static_downcast(
25465        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25466    ) -> ::cpp_core::Ptr<crate::QDynamicPropertyUpdatedChange> {
25467        let ffi_result = {
25468            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QDynamicPropertyUpdatedChange_ptr1(
25469                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25470            )
25471        };
25472        ::cpp_core::Ptr::from_raw(ffi_result)
25473    }
25474}
25475
25476impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QDynamicPropertyUpdatedChange {
25477    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QDynamicPropertyUpdatedChange* ptr)```</span>.
25478    #[inline(always)]
25479    unsafe fn static_upcast(
25480        ptr: ::cpp_core::Ptr<crate::QDynamicPropertyUpdatedChange>,
25481    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25482        let ffi_result = {
25483            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr4(
25484                ptr.as_raw_ptr() as *mut crate::QDynamicPropertyUpdatedChange,
25485            )
25486        };
25487        ::cpp_core::Ptr::from_raw(ffi_result)
25488    }
25489}
25490
25491impl ::cpp_core::DynamicCast<crate::QDynamicPropertyUpdatedChange> for crate::QSceneChange {
25492    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QDynamicPropertyUpdatedChange* dynamic_cast<Qt3DCore::QDynamicPropertyUpdatedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25493    #[inline(always)]
25494    unsafe fn dynamic_cast(
25495        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25496    ) -> ::cpp_core::Ptr<crate::QDynamicPropertyUpdatedChange> {
25497        let ffi_result = {
25498            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QDynamicPropertyUpdatedChange_ptr1(ptr.as_raw_ptr() as *mut crate::QSceneChange)
25499        };
25500        ::cpp_core::Ptr::from_raw(ffi_result)
25501    }
25502}
25503
25504impl ::cpp_core::StaticDowncast<crate::QEntity> for crate::QNode {
25505    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* static_cast<Qt3DCore::QEntity*>(Qt3DCore::QNode* ptr)```</span>.
25506    #[inline(always)]
25507    unsafe fn static_downcast(
25508        ptr: ::cpp_core::Ptr<crate::QNode>,
25509    ) -> ::cpp_core::Ptr<crate::QEntity> {
25510        let ffi_result = {
25511            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QEntity_ptr(
25512                ptr.as_raw_ptr() as *mut crate::QNode
25513            )
25514        };
25515        ::cpp_core::Ptr::from_raw(ffi_result)
25516    }
25517}
25518
25519impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QEntity {
25520    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QEntity* ptr)```</span>.
25521    #[inline(always)]
25522    unsafe fn static_upcast(ptr: ::cpp_core::Ptr<crate::QEntity>) -> ::cpp_core::Ptr<crate::QNode> {
25523        let ffi_result = {
25524            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr2(
25525                ptr.as_raw_ptr() as *mut crate::QEntity
25526            )
25527        };
25528        ::cpp_core::Ptr::from_raw(ffi_result)
25529    }
25530}
25531
25532impl ::std::ops::Deref for crate::QEntity {
25533    type Target = crate::QNode;
25534    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QEntity* ptr)```</span>.
25535    #[inline(always)]
25536    fn deref(&self) -> &crate::QNode {
25537        let ffi_result = {
25538            unsafe {
25539                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr2(
25540                    self as *const crate::QEntity as *mut crate::QEntity,
25541                )
25542            }
25543        };
25544        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25545    }
25546}
25547
25548impl ::cpp_core::DynamicCast<crate::QEntity> for crate::QNode {
25549    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* dynamic_cast<Qt3DCore::QEntity*>(Qt3DCore::QNode* ptr)```</span>.
25550    #[inline(always)]
25551    unsafe fn dynamic_cast(ptr: ::cpp_core::Ptr<crate::QNode>) -> ::cpp_core::Ptr<crate::QEntity> {
25552        let ffi_result = {
25553            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QEntity_ptr(
25554                ptr.as_raw_ptr() as *mut crate::QNode
25555            )
25556        };
25557        ::cpp_core::Ptr::from_raw(ffi_result)
25558    }
25559}
25560
25561impl ::cpp_core::StaticDowncast<crate::QEntity> for ::qt_core::QObject {
25562    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* static_cast<Qt3DCore::QEntity*>(QObject* ptr)```</span>.
25563    #[inline(always)]
25564    unsafe fn static_downcast(
25565        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
25566    ) -> ::cpp_core::Ptr<crate::QEntity> {
25567        let ffi_result = {
25568            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QEntity_ptr1(
25569                ptr.as_raw_ptr() as *mut ::qt_core::QObject
25570            )
25571        };
25572        ::cpp_core::Ptr::from_raw(ffi_result)
25573    }
25574}
25575
25576impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QEntity {
25577    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QEntity* ptr)```</span>.
25578    #[inline(always)]
25579    unsafe fn static_upcast(
25580        ptr: ::cpp_core::Ptr<crate::QEntity>,
25581    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
25582        let ffi_result = {
25583            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr4(
25584                ptr.as_raw_ptr() as *mut crate::QEntity
25585            )
25586        };
25587        ::cpp_core::Ptr::from_raw(ffi_result)
25588    }
25589}
25590
25591impl ::cpp_core::DynamicCast<crate::QEntity> for ::qt_core::QObject {
25592    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QEntity* dynamic_cast<Qt3DCore::QEntity*>(QObject* ptr)```</span>.
25593    #[inline(always)]
25594    unsafe fn dynamic_cast(
25595        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
25596    ) -> ::cpp_core::Ptr<crate::QEntity> {
25597        let ffi_result = {
25598            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QEntity_ptr1(
25599                ptr.as_raw_ptr() as *mut ::qt_core::QObject
25600            )
25601        };
25602        ::cpp_core::Ptr::from_raw(ffi_result)
25603    }
25604}
25605
25606impl ::cpp_core::StaticDowncast<crate::QNodeDestroyedChange> for crate::QSceneChange {
25607    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeDestroyedChange* static_cast<Qt3DCore::QNodeDestroyedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25608    #[inline(always)]
25609    unsafe fn static_downcast(
25610        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25611    ) -> ::cpp_core::Ptr<crate::QNodeDestroyedChange> {
25612        let ffi_result = {
25613            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNodeDestroyedChange_ptr(
25614                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25615            )
25616        };
25617        ::cpp_core::Ptr::from_raw(ffi_result)
25618    }
25619}
25620
25621impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QNodeDestroyedChange {
25622    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QNodeDestroyedChange* ptr)```</span>.
25623    #[inline(always)]
25624    unsafe fn static_upcast(
25625        ptr: ::cpp_core::Ptr<crate::QNodeDestroyedChange>,
25626    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25627        let ffi_result = {
25628            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr5(
25629                ptr.as_raw_ptr() as *mut crate::QNodeDestroyedChange,
25630            )
25631        };
25632        ::cpp_core::Ptr::from_raw(ffi_result)
25633    }
25634}
25635
25636impl ::std::ops::Deref for crate::QNodeDestroyedChange {
25637    type Target = crate::QSceneChange;
25638    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QNodeDestroyedChange* ptr)```</span>.
25639    #[inline(always)]
25640    fn deref(&self) -> &crate::QSceneChange {
25641        let ffi_result = {
25642            unsafe {
25643                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr5(
25644                    self as *const crate::QNodeDestroyedChange as *mut crate::QNodeDestroyedChange,
25645                )
25646            }
25647        };
25648        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25649    }
25650}
25651
25652impl ::cpp_core::DynamicCast<crate::QNodeDestroyedChange> for crate::QSceneChange {
25653    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeDestroyedChange* dynamic_cast<Qt3DCore::QNodeDestroyedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25654    #[inline(always)]
25655    unsafe fn dynamic_cast(
25656        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25657    ) -> ::cpp_core::Ptr<crate::QNodeDestroyedChange> {
25658        let ffi_result = {
25659            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QNodeDestroyedChange_ptr(
25660                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25661            )
25662        };
25663        ::cpp_core::Ptr::from_raw(ffi_result)
25664    }
25665}
25666
25667impl ::cpp_core::StaticDowncast<crate::QPropertyValueAddedChangeBase> for crate::QSceneChange {
25668    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChangeBase* static_cast<Qt3DCore::QPropertyValueAddedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25669    #[inline(always)]
25670    unsafe fn static_downcast(
25671        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25672    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase> {
25673        let ffi_result = {
25674            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChangeBase_ptr(
25675                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25676            )
25677        };
25678        ::cpp_core::Ptr::from_raw(ffi_result)
25679    }
25680}
25681
25682impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyValueAddedChangeBase {
25683    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
25684    #[inline(always)]
25685    unsafe fn static_upcast(
25686        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase>,
25687    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25688        let ffi_result = {
25689            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr6(
25690                ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChangeBase,
25691            )
25692        };
25693        ::cpp_core::Ptr::from_raw(ffi_result)
25694    }
25695}
25696
25697impl ::std::ops::Deref for crate::QPropertyValueAddedChangeBase {
25698    type Target = crate::QSceneChange;
25699    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
25700    #[inline(always)]
25701    fn deref(&self) -> &crate::QSceneChange {
25702        let ffi_result = {
25703            unsafe {
25704                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr6(
25705                    self as *const crate::QPropertyValueAddedChangeBase
25706                        as *mut crate::QPropertyValueAddedChangeBase,
25707                )
25708            }
25709        };
25710        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25711    }
25712}
25713
25714impl ::cpp_core::DynamicCast<crate::QPropertyValueAddedChangeBase> for crate::QSceneChange {
25715    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChangeBase* dynamic_cast<Qt3DCore::QPropertyValueAddedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25716    #[inline(always)]
25717    unsafe fn dynamic_cast(
25718        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25719    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase> {
25720        let ffi_result = {
25721            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueAddedChangeBase_ptr(
25722                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25723            )
25724        };
25725        ::cpp_core::Ptr::from_raw(ffi_result)
25726    }
25727}
25728
25729impl ::cpp_core::StaticDowncast<crate::QStaticPropertyValueAddedChangeBase>
25730    for crate::QPropertyValueAddedChangeBase
25731{
25732    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
25733    #[inline(always)]
25734    unsafe fn static_downcast(
25735        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase>,
25736    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase> {
25737        let ffi_result = {
25738            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChangeBase)
25739        };
25740        ::cpp_core::Ptr::from_raw(ffi_result)
25741    }
25742}
25743
25744impl ::cpp_core::StaticUpcast<crate::QPropertyValueAddedChangeBase>
25745    for crate::QStaticPropertyValueAddedChangeBase
25746{
25747    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChangeBase* static_cast<Qt3DCore::QPropertyValueAddedChangeBase*>(Qt3DCore::QStaticPropertyValueAddedChangeBase* ptr)```</span>.
25748    #[inline(always)]
25749    unsafe fn static_upcast(
25750        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase>,
25751    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase> {
25752        let ffi_result = {
25753            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChangeBase_ptr1(
25754                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueAddedChangeBase,
25755            )
25756        };
25757        ::cpp_core::Ptr::from_raw(ffi_result)
25758    }
25759}
25760
25761impl ::std::ops::Deref for crate::QStaticPropertyValueAddedChangeBase {
25762    type Target = crate::QPropertyValueAddedChangeBase;
25763    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChangeBase* static_cast<Qt3DCore::QPropertyValueAddedChangeBase*>(Qt3DCore::QStaticPropertyValueAddedChangeBase* ptr)```</span>.
25764    #[inline(always)]
25765    fn deref(&self) -> &crate::QPropertyValueAddedChangeBase {
25766        let ffi_result = {
25767            unsafe {
25768                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChangeBase_ptr1(self as *const crate::QStaticPropertyValueAddedChangeBase as *mut crate::QStaticPropertyValueAddedChangeBase)
25769            }
25770        };
25771        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25772    }
25773}
25774
25775impl ::cpp_core::DynamicCast<crate::QStaticPropertyValueAddedChangeBase>
25776    for crate::QPropertyValueAddedChangeBase
25777{
25778    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* dynamic_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
25779    #[inline(always)]
25780    unsafe fn dynamic_cast(
25781        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase>,
25782    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase> {
25783        let ffi_result = {
25784            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChangeBase)
25785        };
25786        ::cpp_core::Ptr::from_raw(ffi_result)
25787    }
25788}
25789
25790impl ::cpp_core::StaticDowncast<crate::QStaticPropertyValueAddedChangeBase>
25791    for crate::QSceneChange
25792{
25793    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25794    #[inline(always)]
25795    unsafe fn static_downcast(
25796        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25797    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase> {
25798        let ffi_result = {
25799            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr1(ptr.as_raw_ptr() as *mut crate::QSceneChange)
25800        };
25801        ::cpp_core::Ptr::from_raw(ffi_result)
25802    }
25803}
25804
25805impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QStaticPropertyValueAddedChangeBase {
25806    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QStaticPropertyValueAddedChangeBase* ptr)```</span>.
25807    #[inline(always)]
25808    unsafe fn static_upcast(
25809        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase>,
25810    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25811        let ffi_result = {
25812            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr7(
25813                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueAddedChangeBase,
25814            )
25815        };
25816        ::cpp_core::Ptr::from_raw(ffi_result)
25817    }
25818}
25819
25820impl ::cpp_core::DynamicCast<crate::QStaticPropertyValueAddedChangeBase> for crate::QSceneChange {
25821    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* dynamic_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25822    #[inline(always)]
25823    unsafe fn dynamic_cast(
25824        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25825    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase> {
25826        let ffi_result = {
25827            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr1(ptr.as_raw_ptr() as *mut crate::QSceneChange)
25828        };
25829        ::cpp_core::Ptr::from_raw(ffi_result)
25830    }
25831}
25832
25833impl ::cpp_core::StaticDowncast<crate::QPropertyNodeAddedChange>
25834    for crate::QStaticPropertyValueAddedChangeBase
25835{
25836    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeAddedChange* static_cast<Qt3DCore::QPropertyNodeAddedChange*>(Qt3DCore::QStaticPropertyValueAddedChangeBase* ptr)```</span>.
25837    #[inline(always)]
25838    unsafe fn static_downcast(
25839        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase>,
25840    ) -> ::cpp_core::Ptr<crate::QPropertyNodeAddedChange> {
25841        let ffi_result = {
25842            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyNodeAddedChange_ptr(
25843                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueAddedChangeBase,
25844            )
25845        };
25846        ::cpp_core::Ptr::from_raw(ffi_result)
25847    }
25848}
25849
25850impl ::cpp_core::StaticUpcast<crate::QStaticPropertyValueAddedChangeBase>
25851    for crate::QPropertyNodeAddedChange
25852{
25853    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyNodeAddedChange* ptr)```</span>.
25854    #[inline(always)]
25855    unsafe fn static_upcast(
25856        ptr: ::cpp_core::Ptr<crate::QPropertyNodeAddedChange>,
25857    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase> {
25858        let ffi_result = {
25859            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr2(ptr.as_raw_ptr() as *mut crate::QPropertyNodeAddedChange)
25860        };
25861        ::cpp_core::Ptr::from_raw(ffi_result)
25862    }
25863}
25864
25865impl ::std::ops::Deref for crate::QPropertyNodeAddedChange {
25866    type Target = crate::QStaticPropertyValueAddedChangeBase;
25867    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyNodeAddedChange* ptr)```</span>.
25868    #[inline(always)]
25869    fn deref(&self) -> &crate::QStaticPropertyValueAddedChangeBase {
25870        let ffi_result = {
25871            unsafe {
25872                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr2(self as *const crate::QPropertyNodeAddedChange as *mut crate::QPropertyNodeAddedChange)
25873            }
25874        };
25875        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
25876    }
25877}
25878
25879impl ::cpp_core::DynamicCast<crate::QPropertyNodeAddedChange>
25880    for crate::QStaticPropertyValueAddedChangeBase
25881{
25882    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeAddedChange* dynamic_cast<Qt3DCore::QPropertyNodeAddedChange*>(Qt3DCore::QStaticPropertyValueAddedChangeBase* ptr)```</span>.
25883    #[inline(always)]
25884    unsafe fn dynamic_cast(
25885        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase>,
25886    ) -> ::cpp_core::Ptr<crate::QPropertyNodeAddedChange> {
25887        let ffi_result = {
25888            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyNodeAddedChange_ptr(
25889                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueAddedChangeBase,
25890            )
25891        };
25892        ::cpp_core::Ptr::from_raw(ffi_result)
25893    }
25894}
25895
25896impl ::cpp_core::StaticDowncast<crate::QPropertyNodeAddedChange>
25897    for crate::QPropertyValueAddedChangeBase
25898{
25899    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeAddedChange* static_cast<Qt3DCore::QPropertyNodeAddedChange*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
25900    #[inline(always)]
25901    unsafe fn static_downcast(
25902        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase>,
25903    ) -> ::cpp_core::Ptr<crate::QPropertyNodeAddedChange> {
25904        let ffi_result = {
25905            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyNodeAddedChange_ptr1(
25906                ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChangeBase,
25907            )
25908        };
25909        ::cpp_core::Ptr::from_raw(ffi_result)
25910    }
25911}
25912
25913impl ::cpp_core::StaticUpcast<crate::QPropertyValueAddedChangeBase>
25914    for crate::QPropertyNodeAddedChange
25915{
25916    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChangeBase* static_cast<Qt3DCore::QPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyNodeAddedChange* ptr)```</span>.
25917    #[inline(always)]
25918    unsafe fn static_upcast(
25919        ptr: ::cpp_core::Ptr<crate::QPropertyNodeAddedChange>,
25920    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase> {
25921        let ffi_result = {
25922            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChangeBase_ptr2(
25923                ptr.as_raw_ptr() as *mut crate::QPropertyNodeAddedChange,
25924            )
25925        };
25926        ::cpp_core::Ptr::from_raw(ffi_result)
25927    }
25928}
25929
25930impl ::cpp_core::DynamicCast<crate::QPropertyNodeAddedChange>
25931    for crate::QPropertyValueAddedChangeBase
25932{
25933    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeAddedChange* dynamic_cast<Qt3DCore::QPropertyNodeAddedChange*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
25934    #[inline(always)]
25935    unsafe fn dynamic_cast(
25936        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase>,
25937    ) -> ::cpp_core::Ptr<crate::QPropertyNodeAddedChange> {
25938        let ffi_result = {
25939            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyNodeAddedChange_ptr1(
25940                ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChangeBase,
25941            )
25942        };
25943        ::cpp_core::Ptr::from_raw(ffi_result)
25944    }
25945}
25946
25947impl ::cpp_core::StaticDowncast<crate::QPropertyNodeAddedChange> for crate::QSceneChange {
25948    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeAddedChange* static_cast<Qt3DCore::QPropertyNodeAddedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25949    #[inline(always)]
25950    unsafe fn static_downcast(
25951        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25952    ) -> ::cpp_core::Ptr<crate::QPropertyNodeAddedChange> {
25953        let ffi_result = {
25954            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyNodeAddedChange_ptr2(
25955                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25956            )
25957        };
25958        ::cpp_core::Ptr::from_raw(ffi_result)
25959    }
25960}
25961
25962impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyNodeAddedChange {
25963    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyNodeAddedChange* ptr)```</span>.
25964    #[inline(always)]
25965    unsafe fn static_upcast(
25966        ptr: ::cpp_core::Ptr<crate::QPropertyNodeAddedChange>,
25967    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
25968        let ffi_result = {
25969            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr8(
25970                ptr.as_raw_ptr() as *mut crate::QPropertyNodeAddedChange,
25971            )
25972        };
25973        ::cpp_core::Ptr::from_raw(ffi_result)
25974    }
25975}
25976
25977impl ::cpp_core::DynamicCast<crate::QPropertyNodeAddedChange> for crate::QSceneChange {
25978    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeAddedChange* dynamic_cast<Qt3DCore::QPropertyNodeAddedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
25979    #[inline(always)]
25980    unsafe fn dynamic_cast(
25981        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25982    ) -> ::cpp_core::Ptr<crate::QPropertyNodeAddedChange> {
25983        let ffi_result = {
25984            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyNodeAddedChange_ptr2(
25985                ptr.as_raw_ptr() as *mut crate::QSceneChange,
25986            )
25987        };
25988        ::cpp_core::Ptr::from_raw(ffi_result)
25989    }
25990}
25991
25992impl ::cpp_core::StaticDowncast<crate::QPropertyValueRemovedChangeBase> for crate::QSceneChange {
25993    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QPropertyValueRemovedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
25994    #[inline(always)]
25995    unsafe fn static_downcast(
25996        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
25997    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase> {
25998        let ffi_result = {
25999            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QSceneChange)
26000        };
26001        ::cpp_core::Ptr::from_raw(ffi_result)
26002    }
26003}
26004
26005impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyValueRemovedChangeBase {
26006    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26007    #[inline(always)]
26008    unsafe fn static_upcast(
26009        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase>,
26010    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
26011        let ffi_result = {
26012            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr9(
26013                ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChangeBase,
26014            )
26015        };
26016        ::cpp_core::Ptr::from_raw(ffi_result)
26017    }
26018}
26019
26020impl ::std::ops::Deref for crate::QPropertyValueRemovedChangeBase {
26021    type Target = crate::QSceneChange;
26022    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26023    #[inline(always)]
26024    fn deref(&self) -> &crate::QSceneChange {
26025        let ffi_result = {
26026            unsafe {
26027                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr9(
26028                    self as *const crate::QPropertyValueRemovedChangeBase
26029                        as *mut crate::QPropertyValueRemovedChangeBase,
26030                )
26031            }
26032        };
26033        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26034    }
26035}
26036
26037impl ::cpp_core::DynamicCast<crate::QPropertyValueRemovedChangeBase> for crate::QSceneChange {
26038    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChangeBase* dynamic_cast<Qt3DCore::QPropertyValueRemovedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
26039    #[inline(always)]
26040    unsafe fn dynamic_cast(
26041        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26042    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase> {
26043        let ffi_result = {
26044            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueRemovedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QSceneChange)
26045        };
26046        ::cpp_core::Ptr::from_raw(ffi_result)
26047    }
26048}
26049
26050impl ::cpp_core::StaticDowncast<crate::QStaticPropertyValueRemovedChangeBase>
26051    for crate::QPropertyValueRemovedChangeBase
26052{
26053    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26054    #[inline(always)]
26055    unsafe fn static_downcast(
26056        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase>,
26057    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase> {
26058        let ffi_result = {
26059            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChangeBase)
26060        };
26061        ::cpp_core::Ptr::from_raw(ffi_result)
26062    }
26063}
26064
26065impl ::cpp_core::StaticUpcast<crate::QPropertyValueRemovedChangeBase>
26066    for crate::QStaticPropertyValueRemovedChangeBase
26067{
26068    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QPropertyValueRemovedChangeBase*>(Qt3DCore::QStaticPropertyValueRemovedChangeBase* ptr)```</span>.
26069    #[inline(always)]
26070    unsafe fn static_upcast(
26071        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase>,
26072    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase> {
26073        let ffi_result = {
26074            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChangeBase_ptr1(ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueRemovedChangeBase)
26075        };
26076        ::cpp_core::Ptr::from_raw(ffi_result)
26077    }
26078}
26079
26080impl ::std::ops::Deref for crate::QStaticPropertyValueRemovedChangeBase {
26081    type Target = crate::QPropertyValueRemovedChangeBase;
26082    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QPropertyValueRemovedChangeBase*>(Qt3DCore::QStaticPropertyValueRemovedChangeBase* ptr)```</span>.
26083    #[inline(always)]
26084    fn deref(&self) -> &crate::QPropertyValueRemovedChangeBase {
26085        let ffi_result = {
26086            unsafe {
26087                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChangeBase_ptr1(self as *const crate::QStaticPropertyValueRemovedChangeBase as *mut crate::QStaticPropertyValueRemovedChangeBase)
26088            }
26089        };
26090        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26091    }
26092}
26093
26094impl ::cpp_core::DynamicCast<crate::QStaticPropertyValueRemovedChangeBase>
26095    for crate::QPropertyValueRemovedChangeBase
26096{
26097    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* dynamic_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26098    #[inline(always)]
26099    unsafe fn dynamic_cast(
26100        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase>,
26101    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase> {
26102        let ffi_result = {
26103            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChangeBase)
26104        };
26105        ::cpp_core::Ptr::from_raw(ffi_result)
26106    }
26107}
26108
26109impl ::cpp_core::StaticDowncast<crate::QStaticPropertyValueRemovedChangeBase>
26110    for crate::QSceneChange
26111{
26112    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
26113    #[inline(always)]
26114    unsafe fn static_downcast(
26115        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26116    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase> {
26117        let ffi_result = {
26118            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr1(ptr.as_raw_ptr() as *mut crate::QSceneChange)
26119        };
26120        ::cpp_core::Ptr::from_raw(ffi_result)
26121    }
26122}
26123
26124impl ::cpp_core::StaticUpcast<crate::QSceneChange>
26125    for crate::QStaticPropertyValueRemovedChangeBase
26126{
26127    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QStaticPropertyValueRemovedChangeBase* ptr)```</span>.
26128    #[inline(always)]
26129    unsafe fn static_upcast(
26130        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase>,
26131    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
26132        let ffi_result = {
26133            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr10(
26134                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueRemovedChangeBase,
26135            )
26136        };
26137        ::cpp_core::Ptr::from_raw(ffi_result)
26138    }
26139}
26140
26141impl ::cpp_core::DynamicCast<crate::QStaticPropertyValueRemovedChangeBase> for crate::QSceneChange {
26142    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* dynamic_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
26143    #[inline(always)]
26144    unsafe fn dynamic_cast(
26145        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26146    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase> {
26147        let ffi_result = {
26148            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr1(ptr.as_raw_ptr() as *mut crate::QSceneChange)
26149        };
26150        ::cpp_core::Ptr::from_raw(ffi_result)
26151    }
26152}
26153
26154impl ::cpp_core::StaticDowncast<crate::QPropertyNodeRemovedChange>
26155    for crate::QStaticPropertyValueRemovedChangeBase
26156{
26157    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeRemovedChange* static_cast<Qt3DCore::QPropertyNodeRemovedChange*>(Qt3DCore::QStaticPropertyValueRemovedChangeBase* ptr)```</span>.
26158    #[inline(always)]
26159    unsafe fn static_downcast(
26160        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase>,
26161    ) -> ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange> {
26162        let ffi_result = {
26163            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyNodeRemovedChange_ptr(
26164                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueRemovedChangeBase,
26165            )
26166        };
26167        ::cpp_core::Ptr::from_raw(ffi_result)
26168    }
26169}
26170
26171impl ::cpp_core::StaticUpcast<crate::QStaticPropertyValueRemovedChangeBase>
26172    for crate::QPropertyNodeRemovedChange
26173{
26174    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyNodeRemovedChange* ptr)```</span>.
26175    #[inline(always)]
26176    unsafe fn static_upcast(
26177        ptr: ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange>,
26178    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase> {
26179        let ffi_result = {
26180            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr2(ptr.as_raw_ptr() as *mut crate::QPropertyNodeRemovedChange)
26181        };
26182        ::cpp_core::Ptr::from_raw(ffi_result)
26183    }
26184}
26185
26186impl ::std::ops::Deref for crate::QPropertyNodeRemovedChange {
26187    type Target = crate::QStaticPropertyValueRemovedChangeBase;
26188    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyNodeRemovedChange* ptr)```</span>.
26189    #[inline(always)]
26190    fn deref(&self) -> &crate::QStaticPropertyValueRemovedChangeBase {
26191        let ffi_result = {
26192            unsafe {
26193                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr2(self as *const crate::QPropertyNodeRemovedChange as *mut crate::QPropertyNodeRemovedChange)
26194            }
26195        };
26196        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26197    }
26198}
26199
26200impl ::cpp_core::DynamicCast<crate::QPropertyNodeRemovedChange>
26201    for crate::QStaticPropertyValueRemovedChangeBase
26202{
26203    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeRemovedChange* dynamic_cast<Qt3DCore::QPropertyNodeRemovedChange*>(Qt3DCore::QStaticPropertyValueRemovedChangeBase* ptr)```</span>.
26204    #[inline(always)]
26205    unsafe fn dynamic_cast(
26206        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase>,
26207    ) -> ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange> {
26208        let ffi_result = {
26209            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyNodeRemovedChange_ptr(
26210                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueRemovedChangeBase,
26211            )
26212        };
26213        ::cpp_core::Ptr::from_raw(ffi_result)
26214    }
26215}
26216
26217impl ::cpp_core::StaticDowncast<crate::QPropertyNodeRemovedChange>
26218    for crate::QPropertyValueRemovedChangeBase
26219{
26220    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeRemovedChange* static_cast<Qt3DCore::QPropertyNodeRemovedChange*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26221    #[inline(always)]
26222    unsafe fn static_downcast(
26223        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase>,
26224    ) -> ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange> {
26225        let ffi_result = {
26226            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyNodeRemovedChange_ptr1(
26227                ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChangeBase,
26228            )
26229        };
26230        ::cpp_core::Ptr::from_raw(ffi_result)
26231    }
26232}
26233
26234impl ::cpp_core::StaticUpcast<crate::QPropertyValueRemovedChangeBase>
26235    for crate::QPropertyNodeRemovedChange
26236{
26237    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyNodeRemovedChange* ptr)```</span>.
26238    #[inline(always)]
26239    unsafe fn static_upcast(
26240        ptr: ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange>,
26241    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase> {
26242        let ffi_result = {
26243            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChangeBase_ptr2(ptr.as_raw_ptr() as *mut crate::QPropertyNodeRemovedChange)
26244        };
26245        ::cpp_core::Ptr::from_raw(ffi_result)
26246    }
26247}
26248
26249impl ::cpp_core::DynamicCast<crate::QPropertyNodeRemovedChange>
26250    for crate::QPropertyValueRemovedChangeBase
26251{
26252    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeRemovedChange* dynamic_cast<Qt3DCore::QPropertyNodeRemovedChange*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26253    #[inline(always)]
26254    unsafe fn dynamic_cast(
26255        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase>,
26256    ) -> ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange> {
26257        let ffi_result = {
26258            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyNodeRemovedChange_ptr1(
26259                ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChangeBase,
26260            )
26261        };
26262        ::cpp_core::Ptr::from_raw(ffi_result)
26263    }
26264}
26265
26266impl ::cpp_core::StaticDowncast<crate::QPropertyNodeRemovedChange> for crate::QSceneChange {
26267    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeRemovedChange* static_cast<Qt3DCore::QPropertyNodeRemovedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26268    #[inline(always)]
26269    unsafe fn static_downcast(
26270        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26271    ) -> ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange> {
26272        let ffi_result = {
26273            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyNodeRemovedChange_ptr2(
26274                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26275            )
26276        };
26277        ::cpp_core::Ptr::from_raw(ffi_result)
26278    }
26279}
26280
26281impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyNodeRemovedChange {
26282    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyNodeRemovedChange* ptr)```</span>.
26283    #[inline(always)]
26284    unsafe fn static_upcast(
26285        ptr: ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange>,
26286    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
26287        let ffi_result = {
26288            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr11(
26289                ptr.as_raw_ptr() as *mut crate::QPropertyNodeRemovedChange,
26290            )
26291        };
26292        ::cpp_core::Ptr::from_raw(ffi_result)
26293    }
26294}
26295
26296impl ::cpp_core::DynamicCast<crate::QPropertyNodeRemovedChange> for crate::QSceneChange {
26297    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyNodeRemovedChange* dynamic_cast<Qt3DCore::QPropertyNodeRemovedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26298    #[inline(always)]
26299    unsafe fn dynamic_cast(
26300        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26301    ) -> ::cpp_core::Ptr<crate::QPropertyNodeRemovedChange> {
26302        let ffi_result = {
26303            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyNodeRemovedChange_ptr2(
26304                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26305            )
26306        };
26307        ::cpp_core::Ptr::from_raw(ffi_result)
26308    }
26309}
26310
26311impl ::cpp_core::StaticDowncast<crate::QStaticPropertyUpdatedChangeBase>
26312    for crate::QPropertyUpdatedChangeBase
26313{
26314    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyUpdatedChangeBase* static_cast<Qt3DCore::QStaticPropertyUpdatedChangeBase*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
26315    #[inline(always)]
26316    unsafe fn static_downcast(
26317        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase>,
26318    ) -> ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase> {
26319        let ffi_result = {
26320            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyUpdatedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChangeBase)
26321        };
26322        ::cpp_core::Ptr::from_raw(ffi_result)
26323    }
26324}
26325
26326impl ::cpp_core::StaticUpcast<crate::QPropertyUpdatedChangeBase>
26327    for crate::QStaticPropertyUpdatedChangeBase
26328{
26329    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase* static_cast<Qt3DCore::QPropertyUpdatedChangeBase*>(Qt3DCore::QStaticPropertyUpdatedChangeBase* ptr)```</span>.
26330    #[inline(always)]
26331    unsafe fn static_upcast(
26332        ptr: ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase>,
26333    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase> {
26334        let ffi_result = {
26335            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChangeBase_ptr2(
26336                ptr.as_raw_ptr() as *mut crate::QStaticPropertyUpdatedChangeBase,
26337            )
26338        };
26339        ::cpp_core::Ptr::from_raw(ffi_result)
26340    }
26341}
26342
26343impl ::std::ops::Deref for crate::QStaticPropertyUpdatedChangeBase {
26344    type Target = crate::QPropertyUpdatedChangeBase;
26345    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase* static_cast<Qt3DCore::QPropertyUpdatedChangeBase*>(Qt3DCore::QStaticPropertyUpdatedChangeBase* ptr)```</span>.
26346    #[inline(always)]
26347    fn deref(&self) -> &crate::QPropertyUpdatedChangeBase {
26348        let ffi_result = {
26349            unsafe {
26350                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChangeBase_ptr2(self as *const crate::QStaticPropertyUpdatedChangeBase as *mut crate::QStaticPropertyUpdatedChangeBase)
26351            }
26352        };
26353        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26354    }
26355}
26356
26357impl ::cpp_core::DynamicCast<crate::QStaticPropertyUpdatedChangeBase>
26358    for crate::QPropertyUpdatedChangeBase
26359{
26360    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyUpdatedChangeBase* dynamic_cast<Qt3DCore::QStaticPropertyUpdatedChangeBase*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
26361    #[inline(always)]
26362    unsafe fn dynamic_cast(
26363        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase>,
26364    ) -> ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase> {
26365        let ffi_result = {
26366            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QStaticPropertyUpdatedChangeBase_ptr(ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChangeBase)
26367        };
26368        ::cpp_core::Ptr::from_raw(ffi_result)
26369    }
26370}
26371
26372impl ::cpp_core::StaticDowncast<crate::QStaticPropertyUpdatedChangeBase> for crate::QSceneChange {
26373    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyUpdatedChangeBase* static_cast<Qt3DCore::QStaticPropertyUpdatedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
26374    #[inline(always)]
26375    unsafe fn static_downcast(
26376        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26377    ) -> ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase> {
26378        let ffi_result = {
26379            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyUpdatedChangeBase_ptr1(ptr.as_raw_ptr() as *mut crate::QSceneChange)
26380        };
26381        ::cpp_core::Ptr::from_raw(ffi_result)
26382    }
26383}
26384
26385impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QStaticPropertyUpdatedChangeBase {
26386    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QStaticPropertyUpdatedChangeBase* ptr)```</span>.
26387    #[inline(always)]
26388    unsafe fn static_upcast(
26389        ptr: ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase>,
26390    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
26391        let ffi_result = {
26392            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr12(
26393                ptr.as_raw_ptr() as *mut crate::QStaticPropertyUpdatedChangeBase,
26394            )
26395        };
26396        ::cpp_core::Ptr::from_raw(ffi_result)
26397    }
26398}
26399
26400impl ::cpp_core::DynamicCast<crate::QStaticPropertyUpdatedChangeBase> for crate::QSceneChange {
26401    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyUpdatedChangeBase* dynamic_cast<Qt3DCore::QStaticPropertyUpdatedChangeBase*>(Qt3DCore::QSceneChange* ptr)```</span>.
26402    #[inline(always)]
26403    unsafe fn dynamic_cast(
26404        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26405    ) -> ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase> {
26406        let ffi_result = {
26407            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QStaticPropertyUpdatedChangeBase_ptr1(ptr.as_raw_ptr() as *mut crate::QSceneChange)
26408        };
26409        ::cpp_core::Ptr::from_raw(ffi_result)
26410    }
26411}
26412
26413impl ::cpp_core::StaticDowncast<crate::QPropertyUpdatedChange>
26414    for crate::QStaticPropertyUpdatedChangeBase
26415{
26416    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChange* static_cast<Qt3DCore::QPropertyUpdatedChange*>(Qt3DCore::QStaticPropertyUpdatedChangeBase* ptr)```</span>.
26417    #[inline(always)]
26418    unsafe fn static_downcast(
26419        ptr: ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase>,
26420    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChange> {
26421        let ffi_result = {
26422            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChange_ptr(
26423                ptr.as_raw_ptr() as *mut crate::QStaticPropertyUpdatedChangeBase,
26424            )
26425        };
26426        ::cpp_core::Ptr::from_raw(ffi_result)
26427    }
26428}
26429
26430impl ::cpp_core::StaticUpcast<crate::QStaticPropertyUpdatedChangeBase>
26431    for crate::QPropertyUpdatedChange
26432{
26433    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyUpdatedChangeBase* static_cast<Qt3DCore::QStaticPropertyUpdatedChangeBase*>(Qt3DCore::QPropertyUpdatedChange* ptr)```</span>.
26434    #[inline(always)]
26435    unsafe fn static_upcast(
26436        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChange>,
26437    ) -> ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase> {
26438        let ffi_result = {
26439            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyUpdatedChangeBase_ptr2(ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChange)
26440        };
26441        ::cpp_core::Ptr::from_raw(ffi_result)
26442    }
26443}
26444
26445impl ::std::ops::Deref for crate::QPropertyUpdatedChange {
26446    type Target = crate::QStaticPropertyUpdatedChangeBase;
26447    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyUpdatedChangeBase* static_cast<Qt3DCore::QStaticPropertyUpdatedChangeBase*>(Qt3DCore::QPropertyUpdatedChange* ptr)```</span>.
26448    #[inline(always)]
26449    fn deref(&self) -> &crate::QStaticPropertyUpdatedChangeBase {
26450        let ffi_result = {
26451            unsafe {
26452                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyUpdatedChangeBase_ptr2(self as *const crate::QPropertyUpdatedChange as *mut crate::QPropertyUpdatedChange)
26453            }
26454        };
26455        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26456    }
26457}
26458
26459impl ::cpp_core::DynamicCast<crate::QPropertyUpdatedChange>
26460    for crate::QStaticPropertyUpdatedChangeBase
26461{
26462    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChange* dynamic_cast<Qt3DCore::QPropertyUpdatedChange*>(Qt3DCore::QStaticPropertyUpdatedChangeBase* ptr)```</span>.
26463    #[inline(always)]
26464    unsafe fn dynamic_cast(
26465        ptr: ::cpp_core::Ptr<crate::QStaticPropertyUpdatedChangeBase>,
26466    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChange> {
26467        let ffi_result = {
26468            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyUpdatedChange_ptr(
26469                ptr.as_raw_ptr() as *mut crate::QStaticPropertyUpdatedChangeBase,
26470            )
26471        };
26472        ::cpp_core::Ptr::from_raw(ffi_result)
26473    }
26474}
26475
26476impl ::cpp_core::StaticDowncast<crate::QPropertyUpdatedChange>
26477    for crate::QPropertyUpdatedChangeBase
26478{
26479    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChange* static_cast<Qt3DCore::QPropertyUpdatedChange*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
26480    #[inline(always)]
26481    unsafe fn static_downcast(
26482        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase>,
26483    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChange> {
26484        let ffi_result = {
26485            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChange_ptr1(
26486                ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChangeBase,
26487            )
26488        };
26489        ::cpp_core::Ptr::from_raw(ffi_result)
26490    }
26491}
26492
26493impl ::cpp_core::StaticUpcast<crate::QPropertyUpdatedChangeBase> for crate::QPropertyUpdatedChange {
26494    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChangeBase* static_cast<Qt3DCore::QPropertyUpdatedChangeBase*>(Qt3DCore::QPropertyUpdatedChange* ptr)```</span>.
26495    #[inline(always)]
26496    unsafe fn static_upcast(
26497        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChange>,
26498    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase> {
26499        let ffi_result = {
26500            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChangeBase_ptr3(
26501                ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChange,
26502            )
26503        };
26504        ::cpp_core::Ptr::from_raw(ffi_result)
26505    }
26506}
26507
26508impl ::cpp_core::DynamicCast<crate::QPropertyUpdatedChange> for crate::QPropertyUpdatedChangeBase {
26509    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChange* dynamic_cast<Qt3DCore::QPropertyUpdatedChange*>(Qt3DCore::QPropertyUpdatedChangeBase* ptr)```</span>.
26510    #[inline(always)]
26511    unsafe fn dynamic_cast(
26512        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChangeBase>,
26513    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChange> {
26514        let ffi_result = {
26515            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyUpdatedChange_ptr1(
26516                ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChangeBase,
26517            )
26518        };
26519        ::cpp_core::Ptr::from_raw(ffi_result)
26520    }
26521}
26522
26523impl ::cpp_core::StaticDowncast<crate::QPropertyUpdatedChange> for crate::QSceneChange {
26524    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChange* static_cast<Qt3DCore::QPropertyUpdatedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26525    #[inline(always)]
26526    unsafe fn static_downcast(
26527        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26528    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChange> {
26529        let ffi_result = {
26530            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyUpdatedChange_ptr2(
26531                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26532            )
26533        };
26534        ::cpp_core::Ptr::from_raw(ffi_result)
26535    }
26536}
26537
26538impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyUpdatedChange {
26539    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyUpdatedChange* ptr)```</span>.
26540    #[inline(always)]
26541    unsafe fn static_upcast(
26542        ptr: ::cpp_core::Ptr<crate::QPropertyUpdatedChange>,
26543    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
26544        let ffi_result = {
26545            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr13(
26546                ptr.as_raw_ptr() as *mut crate::QPropertyUpdatedChange,
26547            )
26548        };
26549        ::cpp_core::Ptr::from_raw(ffi_result)
26550    }
26551}
26552
26553impl ::cpp_core::DynamicCast<crate::QPropertyUpdatedChange> for crate::QSceneChange {
26554    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyUpdatedChange* dynamic_cast<Qt3DCore::QPropertyUpdatedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26555    #[inline(always)]
26556    unsafe fn dynamic_cast(
26557        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26558    ) -> ::cpp_core::Ptr<crate::QPropertyUpdatedChange> {
26559        let ffi_result = {
26560            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyUpdatedChange_ptr2(
26561                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26562            )
26563        };
26564        ::cpp_core::Ptr::from_raw(ffi_result)
26565    }
26566}
26567
26568impl ::cpp_core::StaticDowncast<crate::QPropertyValueAddedChange>
26569    for crate::QStaticPropertyValueAddedChangeBase
26570{
26571    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChange* static_cast<Qt3DCore::QPropertyValueAddedChange*>(Qt3DCore::QStaticPropertyValueAddedChangeBase* ptr)```</span>.
26572    #[inline(always)]
26573    unsafe fn static_downcast(
26574        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase>,
26575    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChange> {
26576        let ffi_result = {
26577            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChange_ptr(
26578                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueAddedChangeBase,
26579            )
26580        };
26581        ::cpp_core::Ptr::from_raw(ffi_result)
26582    }
26583}
26584
26585impl ::cpp_core::StaticUpcast<crate::QStaticPropertyValueAddedChangeBase>
26586    for crate::QPropertyValueAddedChange
26587{
26588    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyValueAddedChange* ptr)```</span>.
26589    #[inline(always)]
26590    unsafe fn static_upcast(
26591        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChange>,
26592    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase> {
26593        let ffi_result = {
26594            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr3(ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChange)
26595        };
26596        ::cpp_core::Ptr::from_raw(ffi_result)
26597    }
26598}
26599
26600impl ::std::ops::Deref for crate::QPropertyValueAddedChange {
26601    type Target = crate::QStaticPropertyValueAddedChangeBase;
26602    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueAddedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyValueAddedChange* ptr)```</span>.
26603    #[inline(always)]
26604    fn deref(&self) -> &crate::QStaticPropertyValueAddedChangeBase {
26605        let ffi_result = {
26606            unsafe {
26607                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueAddedChangeBase_ptr3(self as *const crate::QPropertyValueAddedChange as *mut crate::QPropertyValueAddedChange)
26608            }
26609        };
26610        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26611    }
26612}
26613
26614impl ::cpp_core::DynamicCast<crate::QPropertyValueAddedChange>
26615    for crate::QStaticPropertyValueAddedChangeBase
26616{
26617    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChange* dynamic_cast<Qt3DCore::QPropertyValueAddedChange*>(Qt3DCore::QStaticPropertyValueAddedChangeBase* ptr)```</span>.
26618    #[inline(always)]
26619    unsafe fn dynamic_cast(
26620        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueAddedChangeBase>,
26621    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChange> {
26622        let ffi_result = {
26623            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueAddedChange_ptr(
26624                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueAddedChangeBase,
26625            )
26626        };
26627        ::cpp_core::Ptr::from_raw(ffi_result)
26628    }
26629}
26630
26631impl ::cpp_core::StaticDowncast<crate::QPropertyValueAddedChange>
26632    for crate::QPropertyValueAddedChangeBase
26633{
26634    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChange* static_cast<Qt3DCore::QPropertyValueAddedChange*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
26635    #[inline(always)]
26636    unsafe fn static_downcast(
26637        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase>,
26638    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChange> {
26639        let ffi_result = {
26640            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChange_ptr1(
26641                ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChangeBase,
26642            )
26643        };
26644        ::cpp_core::Ptr::from_raw(ffi_result)
26645    }
26646}
26647
26648impl ::cpp_core::StaticUpcast<crate::QPropertyValueAddedChangeBase>
26649    for crate::QPropertyValueAddedChange
26650{
26651    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChangeBase* static_cast<Qt3DCore::QPropertyValueAddedChangeBase*>(Qt3DCore::QPropertyValueAddedChange* ptr)```</span>.
26652    #[inline(always)]
26653    unsafe fn static_upcast(
26654        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChange>,
26655    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase> {
26656        let ffi_result = {
26657            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChangeBase_ptr3(
26658                ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChange,
26659            )
26660        };
26661        ::cpp_core::Ptr::from_raw(ffi_result)
26662    }
26663}
26664
26665impl ::cpp_core::DynamicCast<crate::QPropertyValueAddedChange>
26666    for crate::QPropertyValueAddedChangeBase
26667{
26668    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChange* dynamic_cast<Qt3DCore::QPropertyValueAddedChange*>(Qt3DCore::QPropertyValueAddedChangeBase* ptr)```</span>.
26669    #[inline(always)]
26670    unsafe fn dynamic_cast(
26671        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChangeBase>,
26672    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChange> {
26673        let ffi_result = {
26674            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueAddedChange_ptr1(
26675                ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChangeBase,
26676            )
26677        };
26678        ::cpp_core::Ptr::from_raw(ffi_result)
26679    }
26680}
26681
26682impl ::cpp_core::StaticDowncast<crate::QPropertyValueAddedChange> for crate::QSceneChange {
26683    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChange* static_cast<Qt3DCore::QPropertyValueAddedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26684    #[inline(always)]
26685    unsafe fn static_downcast(
26686        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26687    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChange> {
26688        let ffi_result = {
26689            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueAddedChange_ptr2(
26690                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26691            )
26692        };
26693        ::cpp_core::Ptr::from_raw(ffi_result)
26694    }
26695}
26696
26697impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyValueAddedChange {
26698    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyValueAddedChange* ptr)```</span>.
26699    #[inline(always)]
26700    unsafe fn static_upcast(
26701        ptr: ::cpp_core::Ptr<crate::QPropertyValueAddedChange>,
26702    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
26703        let ffi_result = {
26704            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr14(
26705                ptr.as_raw_ptr() as *mut crate::QPropertyValueAddedChange,
26706            )
26707        };
26708        ::cpp_core::Ptr::from_raw(ffi_result)
26709    }
26710}
26711
26712impl ::cpp_core::DynamicCast<crate::QPropertyValueAddedChange> for crate::QSceneChange {
26713    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueAddedChange* dynamic_cast<Qt3DCore::QPropertyValueAddedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26714    #[inline(always)]
26715    unsafe fn dynamic_cast(
26716        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26717    ) -> ::cpp_core::Ptr<crate::QPropertyValueAddedChange> {
26718        let ffi_result = {
26719            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueAddedChange_ptr2(
26720                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26721            )
26722        };
26723        ::cpp_core::Ptr::from_raw(ffi_result)
26724    }
26725}
26726
26727impl ::cpp_core::StaticDowncast<crate::QPropertyValueRemovedChange>
26728    for crate::QStaticPropertyValueRemovedChangeBase
26729{
26730    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChange* static_cast<Qt3DCore::QPropertyValueRemovedChange*>(Qt3DCore::QStaticPropertyValueRemovedChangeBase* ptr)```</span>.
26731    #[inline(always)]
26732    unsafe fn static_downcast(
26733        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase>,
26734    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChange> {
26735        let ffi_result = {
26736            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChange_ptr(
26737                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueRemovedChangeBase,
26738            )
26739        };
26740        ::cpp_core::Ptr::from_raw(ffi_result)
26741    }
26742}
26743
26744impl ::cpp_core::StaticUpcast<crate::QStaticPropertyValueRemovedChangeBase>
26745    for crate::QPropertyValueRemovedChange
26746{
26747    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyValueRemovedChange* ptr)```</span>.
26748    #[inline(always)]
26749    unsafe fn static_upcast(
26750        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChange>,
26751    ) -> ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase> {
26752        let ffi_result = {
26753            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr3(ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChange)
26754        };
26755        ::cpp_core::Ptr::from_raw(ffi_result)
26756    }
26757}
26758
26759impl ::std::ops::Deref for crate::QPropertyValueRemovedChange {
26760    type Target = crate::QStaticPropertyValueRemovedChangeBase;
26761    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QStaticPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QStaticPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyValueRemovedChange* ptr)```</span>.
26762    #[inline(always)]
26763    fn deref(&self) -> &crate::QStaticPropertyValueRemovedChangeBase {
26764        let ffi_result = {
26765            unsafe {
26766                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QStaticPropertyValueRemovedChangeBase_ptr3(self as *const crate::QPropertyValueRemovedChange as *mut crate::QPropertyValueRemovedChange)
26767            }
26768        };
26769        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26770    }
26771}
26772
26773impl ::cpp_core::DynamicCast<crate::QPropertyValueRemovedChange>
26774    for crate::QStaticPropertyValueRemovedChangeBase
26775{
26776    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChange* dynamic_cast<Qt3DCore::QPropertyValueRemovedChange*>(Qt3DCore::QStaticPropertyValueRemovedChangeBase* ptr)```</span>.
26777    #[inline(always)]
26778    unsafe fn dynamic_cast(
26779        ptr: ::cpp_core::Ptr<crate::QStaticPropertyValueRemovedChangeBase>,
26780    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChange> {
26781        let ffi_result = {
26782            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueRemovedChange_ptr(
26783                ptr.as_raw_ptr() as *mut crate::QStaticPropertyValueRemovedChangeBase,
26784            )
26785        };
26786        ::cpp_core::Ptr::from_raw(ffi_result)
26787    }
26788}
26789
26790impl ::cpp_core::StaticDowncast<crate::QPropertyValueRemovedChange>
26791    for crate::QPropertyValueRemovedChangeBase
26792{
26793    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChange* static_cast<Qt3DCore::QPropertyValueRemovedChange*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26794    #[inline(always)]
26795    unsafe fn static_downcast(
26796        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase>,
26797    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChange> {
26798        let ffi_result = {
26799            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChange_ptr1(
26800                ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChangeBase,
26801            )
26802        };
26803        ::cpp_core::Ptr::from_raw(ffi_result)
26804    }
26805}
26806
26807impl ::cpp_core::StaticUpcast<crate::QPropertyValueRemovedChangeBase>
26808    for crate::QPropertyValueRemovedChange
26809{
26810    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChangeBase* static_cast<Qt3DCore::QPropertyValueRemovedChangeBase*>(Qt3DCore::QPropertyValueRemovedChange* ptr)```</span>.
26811    #[inline(always)]
26812    unsafe fn static_upcast(
26813        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChange>,
26814    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase> {
26815        let ffi_result = {
26816            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChangeBase_ptr3(ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChange)
26817        };
26818        ::cpp_core::Ptr::from_raw(ffi_result)
26819    }
26820}
26821
26822impl ::cpp_core::DynamicCast<crate::QPropertyValueRemovedChange>
26823    for crate::QPropertyValueRemovedChangeBase
26824{
26825    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChange* dynamic_cast<Qt3DCore::QPropertyValueRemovedChange*>(Qt3DCore::QPropertyValueRemovedChangeBase* ptr)```</span>.
26826    #[inline(always)]
26827    unsafe fn dynamic_cast(
26828        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChangeBase>,
26829    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChange> {
26830        let ffi_result = {
26831            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueRemovedChange_ptr1(
26832                ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChangeBase,
26833            )
26834        };
26835        ::cpp_core::Ptr::from_raw(ffi_result)
26836    }
26837}
26838
26839impl ::cpp_core::StaticDowncast<crate::QPropertyValueRemovedChange> for crate::QSceneChange {
26840    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChange* static_cast<Qt3DCore::QPropertyValueRemovedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26841    #[inline(always)]
26842    unsafe fn static_downcast(
26843        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26844    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChange> {
26845        let ffi_result = {
26846            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QPropertyValueRemovedChange_ptr2(
26847                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26848            )
26849        };
26850        ::cpp_core::Ptr::from_raw(ffi_result)
26851    }
26852}
26853
26854impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QPropertyValueRemovedChange {
26855    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QPropertyValueRemovedChange* ptr)```</span>.
26856    #[inline(always)]
26857    unsafe fn static_upcast(
26858        ptr: ::cpp_core::Ptr<crate::QPropertyValueRemovedChange>,
26859    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
26860        let ffi_result = {
26861            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr15(
26862                ptr.as_raw_ptr() as *mut crate::QPropertyValueRemovedChange,
26863            )
26864        };
26865        ::cpp_core::Ptr::from_raw(ffi_result)
26866    }
26867}
26868
26869impl ::cpp_core::DynamicCast<crate::QPropertyValueRemovedChange> for crate::QSceneChange {
26870    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QPropertyValueRemovedChange* dynamic_cast<Qt3DCore::QPropertyValueRemovedChange*>(Qt3DCore::QSceneChange* ptr)```</span>.
26871    #[inline(always)]
26872    unsafe fn dynamic_cast(
26873        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
26874    ) -> ::cpp_core::Ptr<crate::QPropertyValueRemovedChange> {
26875        let ffi_result = {
26876            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QPropertyValueRemovedChange_ptr2(
26877                ptr.as_raw_ptr() as *mut crate::QSceneChange,
26878            )
26879        };
26880        ::cpp_core::Ptr::from_raw(ffi_result)
26881    }
26882}
26883
26884impl ::cpp_core::StaticDowncast<crate::QTransform> for crate::QComponent {
26885    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QTransform* static_cast<Qt3DCore::QTransform*>(Qt3DCore::QComponent* ptr)```</span>.
26886    #[inline(always)]
26887    unsafe fn static_downcast(
26888        ptr: ::cpp_core::Ptr<crate::QComponent>,
26889    ) -> ::cpp_core::Ptr<crate::QTransform> {
26890        let ffi_result = {
26891            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QTransform_ptr(
26892                ptr.as_raw_ptr() as *mut crate::QComponent
26893            )
26894        };
26895        ::cpp_core::Ptr::from_raw(ffi_result)
26896    }
26897}
26898
26899impl ::cpp_core::StaticUpcast<crate::QComponent> for crate::QTransform {
26900    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DCore::QTransform* ptr)```</span>.
26901    #[inline(always)]
26902    unsafe fn static_upcast(
26903        ptr: ::cpp_core::Ptr<crate::QTransform>,
26904    ) -> ::cpp_core::Ptr<crate::QComponent> {
26905        let ffi_result = {
26906            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponent_ptr2(
26907                ptr.as_raw_ptr() as *mut crate::QTransform
26908            )
26909        };
26910        ::cpp_core::Ptr::from_raw(ffi_result)
26911    }
26912}
26913
26914impl ::std::ops::Deref for crate::QTransform {
26915    type Target = crate::QComponent;
26916    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DCore::QTransform* ptr)```</span>.
26917    #[inline(always)]
26918    fn deref(&self) -> &crate::QComponent {
26919        let ffi_result = {
26920            unsafe {
26921                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponent_ptr2(
26922                    self as *const crate::QTransform as *mut crate::QTransform,
26923                )
26924            }
26925        };
26926        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
26927    }
26928}
26929
26930impl ::cpp_core::DynamicCast<crate::QTransform> for crate::QComponent {
26931    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QTransform* dynamic_cast<Qt3DCore::QTransform*>(Qt3DCore::QComponent* ptr)```</span>.
26932    #[inline(always)]
26933    unsafe fn dynamic_cast(
26934        ptr: ::cpp_core::Ptr<crate::QComponent>,
26935    ) -> ::cpp_core::Ptr<crate::QTransform> {
26936        let ffi_result = {
26937            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QTransform_ptr(
26938                ptr.as_raw_ptr() as *mut crate::QComponent
26939            )
26940        };
26941        ::cpp_core::Ptr::from_raw(ffi_result)
26942    }
26943}
26944
26945impl ::cpp_core::StaticDowncast<crate::QTransform> for crate::QNode {
26946    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QTransform* static_cast<Qt3DCore::QTransform*>(Qt3DCore::QNode* ptr)```</span>.
26947    #[inline(always)]
26948    unsafe fn static_downcast(
26949        ptr: ::cpp_core::Ptr<crate::QNode>,
26950    ) -> ::cpp_core::Ptr<crate::QTransform> {
26951        let ffi_result = {
26952            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QTransform_ptr1(
26953                ptr.as_raw_ptr() as *mut crate::QNode
26954            )
26955        };
26956        ::cpp_core::Ptr::from_raw(ffi_result)
26957    }
26958}
26959
26960impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QTransform {
26961    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QTransform* ptr)```</span>.
26962    #[inline(always)]
26963    unsafe fn static_upcast(
26964        ptr: ::cpp_core::Ptr<crate::QTransform>,
26965    ) -> ::cpp_core::Ptr<crate::QNode> {
26966        let ffi_result = {
26967            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr3(
26968                ptr.as_raw_ptr() as *mut crate::QTransform
26969            )
26970        };
26971        ::cpp_core::Ptr::from_raw(ffi_result)
26972    }
26973}
26974
26975impl ::cpp_core::DynamicCast<crate::QTransform> for crate::QNode {
26976    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QTransform* dynamic_cast<Qt3DCore::QTransform*>(Qt3DCore::QNode* ptr)```</span>.
26977    #[inline(always)]
26978    unsafe fn dynamic_cast(
26979        ptr: ::cpp_core::Ptr<crate::QNode>,
26980    ) -> ::cpp_core::Ptr<crate::QTransform> {
26981        let ffi_result = {
26982            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QTransform_ptr1(
26983                ptr.as_raw_ptr() as *mut crate::QNode
26984            )
26985        };
26986        ::cpp_core::Ptr::from_raw(ffi_result)
26987    }
26988}
26989
26990impl ::cpp_core::StaticDowncast<crate::QTransform> for ::qt_core::QObject {
26991    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QTransform* static_cast<Qt3DCore::QTransform*>(QObject* ptr)```</span>.
26992    #[inline(always)]
26993    unsafe fn static_downcast(
26994        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
26995    ) -> ::cpp_core::Ptr<crate::QTransform> {
26996        let ffi_result = {
26997            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QTransform_ptr2(
26998                ptr.as_raw_ptr() as *mut ::qt_core::QObject
26999            )
27000        };
27001        ::cpp_core::Ptr::from_raw(ffi_result)
27002    }
27003}
27004
27005impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QTransform {
27006    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QTransform* ptr)```</span>.
27007    #[inline(always)]
27008    unsafe fn static_upcast(
27009        ptr: ::cpp_core::Ptr<crate::QTransform>,
27010    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
27011        let ffi_result = {
27012            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr5(
27013                ptr.as_raw_ptr() as *mut crate::QTransform
27014            )
27015        };
27016        ::cpp_core::Ptr::from_raw(ffi_result)
27017    }
27018}
27019
27020impl ::cpp_core::DynamicCast<crate::QTransform> for ::qt_core::QObject {
27021    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QTransform* dynamic_cast<Qt3DCore::QTransform*>(QObject* ptr)```</span>.
27022    #[inline(always)]
27023    unsafe fn dynamic_cast(
27024        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
27025    ) -> ::cpp_core::Ptr<crate::QTransform> {
27026        let ffi_result = {
27027            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QTransform_ptr2(
27028                ptr.as_raw_ptr() as *mut ::qt_core::QObject
27029            )
27030        };
27031        ::cpp_core::Ptr::from_raw(ffi_result)
27032    }
27033}
27034
27035#[cfg_attr(
27036    feature = "ritual_rustdoc_nightly",
27037    doc(cfg(any(
27038        cpp_lib_version = "5.11.3",
27039        cpp_lib_version = "5.12.2",
27040        cpp_lib_version = "5.13.0",
27041        cpp_lib_version = "5.14.0"
27042    )))
27043)]
27044#[cfg(any(
27045    any(
27046        cpp_lib_version = "5.11.3",
27047        cpp_lib_version = "5.12.2",
27048        cpp_lib_version = "5.13.0",
27049        cpp_lib_version = "5.14.0"
27050    ),
27051    feature = "ritual_rustdoc"
27052))]
27053impl ::cpp_core::CppDeletable for crate::QNodeCommand {
27054    /// <p>Destroys the instance of QNodeCommand. The destructor is virtual.</p>
27055    ///
27056    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QNodeCommand::~QNodeCommand()```</span>.
27057    ///
27058    /// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodecommand.html#dtor.QNodeCommand">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the instance of QNodeCommand. The destructor is virtual.</p></div>
27059    #[inline(always)]
27060    unsafe fn delete(&self) {
27061        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QNodeCommand_dQNodeCommand(
27062            self as *const crate::QNodeCommand as *mut crate::QNodeCommand,
27063        )
27064    }
27065}
27066
27067#[cfg_attr(
27068    feature = "ritual_rustdoc_nightly",
27069    doc(cfg(any(
27070        cpp_lib_version = "5.11.3",
27071        cpp_lib_version = "5.12.2",
27072        cpp_lib_version = "5.13.0",
27073        cpp_lib_version = "5.14.0"
27074    )))
27075)]
27076#[cfg(any(
27077    any(
27078        cpp_lib_version = "5.11.3",
27079        cpp_lib_version = "5.12.2",
27080        cpp_lib_version = "5.13.0",
27081        cpp_lib_version = "5.14.0"
27082    ),
27083    feature = "ritual_rustdoc"
27084))]
27085impl ::cpp_core::CppDeletable for crate::QAbstractSkeleton {
27086    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QAbstractSkeleton::~QAbstractSkeleton()```</span>.
27087    #[inline(always)]
27088    unsafe fn delete(&self) {
27089        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QAbstractSkeleton_dQAbstractSkeleton(
27090            self as *const crate::QAbstractSkeleton as *mut crate::QAbstractSkeleton,
27091        )
27092    }
27093}
27094
27095#[cfg_attr(
27096    feature = "ritual_rustdoc_nightly",
27097    doc(cfg(any(
27098        cpp_lib_version = "5.11.3",
27099        cpp_lib_version = "5.12.2",
27100        cpp_lib_version = "5.13.0",
27101        cpp_lib_version = "5.14.0"
27102    )))
27103)]
27104#[cfg(any(
27105    any(
27106        cpp_lib_version = "5.11.3",
27107        cpp_lib_version = "5.12.2",
27108        cpp_lib_version = "5.13.0",
27109        cpp_lib_version = "5.14.0"
27110    ),
27111    feature = "ritual_rustdoc"
27112))]
27113impl ::cpp_core::CppDeletable for crate::QArmature {
27114    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QArmature::~QArmature()```</span>.
27115    #[inline(always)]
27116    unsafe fn delete(&self) {
27117        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QArmature_dQArmature(
27118            self as *const crate::QArmature as *mut crate::QArmature,
27119        )
27120    }
27121}
27122
27123#[cfg_attr(
27124    feature = "ritual_rustdoc_nightly",
27125    doc(cfg(any(
27126        cpp_lib_version = "5.11.3",
27127        cpp_lib_version = "5.12.2",
27128        cpp_lib_version = "5.13.0",
27129        cpp_lib_version = "5.14.0"
27130    )))
27131)]
27132#[cfg(any(
27133    any(
27134        cpp_lib_version = "5.11.3",
27135        cpp_lib_version = "5.12.2",
27136        cpp_lib_version = "5.13.0",
27137        cpp_lib_version = "5.14.0"
27138    ),
27139    feature = "ritual_rustdoc"
27140))]
27141impl ::cpp_core::CppDeletable for crate::QJoint {
27142    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QJoint::~QJoint()```</span>.
27143    #[inline(always)]
27144    unsafe fn delete(&self) {
27145        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QJoint_dQJoint(
27146            self as *const crate::QJoint as *mut crate::QJoint,
27147        )
27148    }
27149}
27150
27151#[cfg_attr(
27152    feature = "ritual_rustdoc_nightly",
27153    doc(cfg(any(
27154        cpp_lib_version = "5.11.3",
27155        cpp_lib_version = "5.12.2",
27156        cpp_lib_version = "5.13.0",
27157        cpp_lib_version = "5.14.0"
27158    )))
27159)]
27160#[cfg(any(
27161    any(
27162        cpp_lib_version = "5.11.3",
27163        cpp_lib_version = "5.12.2",
27164        cpp_lib_version = "5.13.0",
27165        cpp_lib_version = "5.14.0"
27166    ),
27167    feature = "ritual_rustdoc"
27168))]
27169impl ::cpp_core::CppDeletable for crate::QSkeleton {
27170    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QSkeleton::~QSkeleton()```</span>.
27171    #[inline(always)]
27172    unsafe fn delete(&self) {
27173        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeleton_dQSkeleton(
27174            self as *const crate::QSkeleton as *mut crate::QSkeleton,
27175        )
27176    }
27177}
27178
27179#[cfg_attr(
27180    feature = "ritual_rustdoc_nightly",
27181    doc(cfg(any(
27182        cpp_lib_version = "5.11.3",
27183        cpp_lib_version = "5.12.2",
27184        cpp_lib_version = "5.13.0",
27185        cpp_lib_version = "5.14.0"
27186    )))
27187)]
27188#[cfg(any(
27189    any(
27190        cpp_lib_version = "5.11.3",
27191        cpp_lib_version = "5.12.2",
27192        cpp_lib_version = "5.13.0",
27193        cpp_lib_version = "5.14.0"
27194    ),
27195    feature = "ritual_rustdoc"
27196))]
27197impl ::cpp_core::CppDeletable for crate::QSkeletonLoader {
27198    /// Calls C++ function: <span style='color: green;'>```virtual [destructor] void Qt3DCore::QSkeletonLoader::~QSkeletonLoader()```</span>.
27199    #[inline(always)]
27200    unsafe fn delete(&self) {
27201        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_QSkeletonLoader_dQSkeletonLoader(
27202            self as *const crate::QSkeletonLoader as *mut crate::QSkeletonLoader,
27203        )
27204    }
27205}
27206
27207#[cfg_attr(
27208    feature = "ritual_rustdoc_nightly",
27209    doc(cfg(any(
27210        cpp_lib_version = "5.11.3",
27211        cpp_lib_version = "5.12.2",
27212        cpp_lib_version = "5.13.0",
27213        cpp_lib_version = "5.14.0"
27214    )))
27215)]
27216#[cfg(any(
27217    any(
27218        cpp_lib_version = "5.11.3",
27219        cpp_lib_version = "5.12.2",
27220        cpp_lib_version = "5.13.0",
27221        cpp_lib_version = "5.14.0"
27222    ),
27223    feature = "ritual_rustdoc"
27224))]
27225impl ::cpp_core::CppDeletable for crate::QVectorOfQJoint {
27226    /// <p>Destroys the vector.</p>
27227    ///
27228    /// Calls C++ function: <span style='color: green;'>```[destructor] void QVector<Qt3DCore::QJoint*>::~QVector()```</span>.
27229    ///
27230    /// <a href="http://doc.qt.io/qt-5/qvector.html#dtor.QVector">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Destroys the vector.</p></div>
27231    #[inline(always)]
27232    unsafe fn delete(&self) {
27233        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_dQVector(
27234            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
27235        )
27236    }
27237}
27238
27239#[cfg_attr(
27240    feature = "ritual_rustdoc_nightly",
27241    doc(cfg(any(
27242        cpp_lib_version = "5.11.3",
27243        cpp_lib_version = "5.12.2",
27244        cpp_lib_version = "5.13.0",
27245        cpp_lib_version = "5.14.0"
27246    )))
27247)]
27248#[cfg(any(
27249    any(
27250        cpp_lib_version = "5.11.3",
27251        cpp_lib_version = "5.12.2",
27252        cpp_lib_version = "5.13.0",
27253        cpp_lib_version = "5.14.0"
27254    ),
27255    feature = "ritual_rustdoc"
27256))]
27257impl ::std::cmp::PartialEq<::cpp_core::Ref<crate::QVectorOfQJoint>> for crate::QVectorOfQJoint {
27258    /// <p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
27259    ///
27260    /// Calls C++ function: <span style='color: green;'>```bool QVector<Qt3DCore::QJoint*>::operator==(const QVector<Qt3DCore::QJoint*>& v) const```</span>.
27261    ///
27262    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-eq-eq">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if <i>other</i> is equal to this vector; otherwise returns <code>false</code>.</p>
27263    /// <p>Two vectors are considered equal if they contain the same values in the same order.</p>
27264    /// <p>This function requires the value type to have an implementation of <code>operator==()</code>.</p>
27265    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-not-eq">operator!=</a>().</p></div>
27266    #[inline(always)]
27267    fn eq(&self, v: &::cpp_core::Ref<crate::QVectorOfQJoint>) -> bool {
27268        unsafe {
27269            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator__(
27270                self as *const crate::QVectorOfQJoint,
27271                v.as_raw_ptr(),
27272            )
27273        }
27274    }
27275}
27276
27277#[cfg_attr(
27278    feature = "ritual_rustdoc_nightly",
27279    doc(cfg(any(
27280        cpp_lib_version = "5.11.3",
27281        cpp_lib_version = "5.12.2",
27282        cpp_lib_version = "5.13.0",
27283        cpp_lib_version = "5.14.0"
27284    )))
27285)]
27286#[cfg(any(
27287    any(
27288        cpp_lib_version = "5.11.3",
27289        cpp_lib_version = "5.12.2",
27290        cpp_lib_version = "5.13.0",
27291        cpp_lib_version = "5.14.0"
27292    ),
27293    feature = "ritual_rustdoc"
27294))]
27295impl ::cpp_core::vector_ops::Size for crate::QVectorOfQJoint {
27296    /// <p>Returns the number of items in the vector.</p>
27297    ///
27298    /// Calls C++ function: <span style='color: green;'>```int QVector<Qt3DCore::QJoint*>::size() const```</span>.
27299    ///
27300    /// <a href="http://doc.qt.io/qt-5/qvector.html#size">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns the number of items in the vector.</p>
27301    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#isEmpty">isEmpty</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#resize">resize</a>().</p></div>
27302    #[inline(always)]
27303    unsafe fn size(&self) -> usize {
27304        let ffi_result = {
27305            crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_size(
27306                self as *const crate::QVectorOfQJoint,
27307            )
27308        };
27309        ffi_result as usize
27310    }
27311}
27312
27313#[cfg_attr(
27314    feature = "ritual_rustdoc_nightly",
27315    doc(cfg(any(
27316        cpp_lib_version = "5.11.3",
27317        cpp_lib_version = "5.12.2",
27318        cpp_lib_version = "5.13.0",
27319        cpp_lib_version = "5.14.0"
27320    )))
27321)]
27322#[cfg(any(
27323    any(
27324        cpp_lib_version = "5.11.3",
27325        cpp_lib_version = "5.12.2",
27326        cpp_lib_version = "5.13.0",
27327        cpp_lib_version = "5.14.0"
27328    ),
27329    feature = "ritual_rustdoc"
27330))]
27331impl ::cpp_core::vector_ops::DataMut for crate::QVectorOfQJoint {
27332    type Output = *mut *mut crate::QJoint;
27333    /// <p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
27334    ///
27335    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint** QVector<Qt3DCore::QJoint*>::data()```</span>.
27336    ///
27337    /// <a href="http://doc.qt.io/qt-5/qvector.html#data">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a pointer to the data stored in the vector. The pointer can be used to access and modify the items in the vector.</p>
27338    /// <p>Example:</p>
27339    /// <pre class="cpp">
27340    ///
27341    ///   <span class="type"><a href="http://doc.qt.io/qt-5/qvector.html#QVector">QVector</a></span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> vector(<span class="number">10</span>);
27342    ///   <span class="type">int</span> <span class="operator">*</span>data <span class="operator">=</span> vector<span class="operator">.</span>data();
27343    ///   <span class="keyword">for</span> (<span class="type">int</span> i <span class="operator">=</span> <span class="number">0</span>; i <span class="operator">&lt;</span> <span class="number">10</span>; <span class="operator">+</span><span class="operator">+</span>i)
27344    /// &#32;     data<span class="operator">[</span>i<span class="operator">]</span> <span class="operator">=</span> <span class="number">2</span> <span class="operator">*</span> i;
27345    ///
27346    /// </pre>
27347    /// <p>The pointer remains valid as long as the vector isn't reallocated.</p>
27348    /// <p>This function is mostly useful to pass a vector to a function that accepts a plain C++ array.</p>
27349    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#constData">constData</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-5b-5d">operator[]</a>().</p></div>
27350    #[inline(always)]
27351    unsafe fn data_mut(&self) -> *mut *mut crate::QJoint {
27352        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_data(
27353            self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
27354        )
27355    }
27356}
27357
27358#[cfg_attr(
27359    feature = "ritual_rustdoc_nightly",
27360    doc(cfg(any(
27361        cpp_lib_version = "5.11.3",
27362        cpp_lib_version = "5.12.2",
27363        cpp_lib_version = "5.13.0",
27364        cpp_lib_version = "5.14.0"
27365    )))
27366)]
27367#[cfg(any(
27368    any(
27369        cpp_lib_version = "5.11.3",
27370        cpp_lib_version = "5.12.2",
27371        cpp_lib_version = "5.13.0",
27372        cpp_lib_version = "5.14.0"
27373    ),
27374    feature = "ritual_rustdoc"
27375))]
27376impl ::cpp_core::vector_ops::Data for crate::QVectorOfQJoint {
27377    type Output = *const *mut crate::QJoint;
27378    /// <p>This is an overloaded function.</p>
27379    ///
27380    /// Calls C++ function: <span style='color: green;'>```const Qt3DCore::QJoint** QVector<Qt3DCore::QJoint*>::data() const```</span>.
27381    ///
27382    /// <a href="http://doc.qt.io/qt-5/qvector.html#data-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>This is an overloaded function.</p></div>
27383    #[inline(always)]
27384    unsafe fn data(&self) -> *const *mut crate::QJoint {
27385        crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_data1(
27386            self as *const crate::QVectorOfQJoint,
27387        )
27388    }
27389}
27390
27391#[cfg_attr(
27392    feature = "ritual_rustdoc_nightly",
27393    doc(cfg(any(
27394        cpp_lib_version = "5.11.3",
27395        cpp_lib_version = "5.12.2",
27396        cpp_lib_version = "5.13.0",
27397        cpp_lib_version = "5.14.0"
27398    )))
27399)]
27400#[cfg(any(
27401    any(
27402        cpp_lib_version = "5.11.3",
27403        cpp_lib_version = "5.12.2",
27404        cpp_lib_version = "5.13.0",
27405        cpp_lib_version = "5.14.0"
27406    ),
27407    feature = "ritual_rustdoc"
27408))]
27409impl ::std::ops::Add<::cpp_core::Ref<crate::QVectorOfQJoint>> for &crate::QVectorOfQJoint {
27410    type Output = ::cpp_core::CppBox<crate::QVectorOfQJoint>;
27411    /// <p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
27412    ///
27413    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*> QVector<Qt3DCore::QJoint*>::operator+(const QVector<Qt3DCore::QJoint*>& l) const```</span>.
27414    ///
27415    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns a vector that contains all the items in this vector followed by all the items in the <i>other</i> vector.</p>
27416    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
27417    #[inline(always)]
27418    fn add(
27419        self,
27420        l: ::cpp_core::Ref<crate::QVectorOfQJoint>,
27421    ) -> ::cpp_core::CppBox<crate::QVectorOfQJoint> {
27422        let ffi_result = {
27423            unsafe {
27424                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator_2(
27425                    self as *const crate::QVectorOfQJoint,
27426                    l.as_raw_ptr(),
27427                )
27428            }
27429        };
27430        unsafe {
27431            ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
27432        }
27433    }
27434}
27435
27436#[cfg_attr(
27437    feature = "ritual_rustdoc_nightly",
27438    doc(cfg(any(
27439        cpp_lib_version = "5.11.3",
27440        cpp_lib_version = "5.12.2",
27441        cpp_lib_version = "5.13.0",
27442        cpp_lib_version = "5.14.0"
27443    )))
27444)]
27445#[cfg(any(
27446    any(
27447        cpp_lib_version = "5.11.3",
27448        cpp_lib_version = "5.12.2",
27449        cpp_lib_version = "5.13.0",
27450        cpp_lib_version = "5.14.0"
27451    ),
27452    feature = "ritual_rustdoc"
27453))]
27454impl ::std::ops::Shl<*const *mut crate::QJoint> for &crate::QVectorOfQJoint {
27455    type Output = ::cpp_core::Ref<crate::QVectorOfQJoint>;
27456    /// <p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
27457    ///
27458    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>& QVector<Qt3DCore::QJoint*>::operator<<(const Qt3DCore::QJoint*& t)```</span>.
27459    ///
27460    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>value</i> to the vector and returns a reference to this vector.</p>
27461    /// <p><b>See also </b><a href="http://doc.qt.io/qt-5/qvector.html#append">append</a>() and <a href="http://doc.qt.io/qt-5/qvector.html#operator-2b-eq">operator+=</a>().</p></div>
27462    #[inline(always)]
27463    fn shl(self, t: *const *mut crate::QJoint) -> ::cpp_core::Ref<crate::QVectorOfQJoint> {
27464        let ffi_result = {
27465            unsafe {
27466                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator__6(
27467                    self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
27468                    t,
27469                )
27470            }
27471        };
27472        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
27473    }
27474}
27475
27476#[cfg_attr(
27477    feature = "ritual_rustdoc_nightly",
27478    doc(cfg(any(
27479        cpp_lib_version = "5.11.3",
27480        cpp_lib_version = "5.12.2",
27481        cpp_lib_version = "5.13.0",
27482        cpp_lib_version = "5.14.0"
27483    )))
27484)]
27485#[cfg(any(
27486    any(
27487        cpp_lib_version = "5.11.3",
27488        cpp_lib_version = "5.12.2",
27489        cpp_lib_version = "5.13.0",
27490        cpp_lib_version = "5.14.0"
27491    ),
27492    feature = "ritual_rustdoc"
27493))]
27494impl ::std::ops::Shl<::cpp_core::Ref<crate::QVectorOfQJoint>> for &crate::QVectorOfQJoint {
27495    type Output = ::cpp_core::Ref<crate::QVectorOfQJoint>;
27496    /// <p>Appends <i>other</i> to the vector and returns a reference to the vector.</p>
27497    ///
27498    /// Calls C++ function: <span style='color: green;'>```QVector<Qt3DCore::QJoint*>& QVector<Qt3DCore::QJoint*>::operator<<(const QVector<Qt3DCore::QJoint*>& l)```</span>.
27499    ///
27500    /// <a href="http://doc.qt.io/qt-5/qvector.html#operator-lt-lt-1">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Appends <i>other</i> to the vector and returns a reference to the vector.</p></div>
27501    #[inline(always)]
27502    fn shl(
27503        self,
27504        l: ::cpp_core::Ref<crate::QVectorOfQJoint>,
27505    ) -> ::cpp_core::Ref<crate::QVectorOfQJoint> {
27506        let ffi_result = {
27507            unsafe {
27508                crate::__ffi::ctr_qt_3d_core_ffi_QVector_Qt3DCore_QJoint_ptr_operator__7(
27509                    self as *const crate::QVectorOfQJoint as *mut crate::QVectorOfQJoint,
27510                    l.as_raw_ptr(),
27511                )
27512            }
27513        };
27514        unsafe { ::cpp_core::Ref::from_raw(ffi_result).expect("attempted to construct a null Ref") }
27515    }
27516}
27517
27518#[cfg_attr(
27519    feature = "ritual_rustdoc_nightly",
27520    doc(cfg(any(
27521        cpp_lib_version = "5.11.3",
27522        cpp_lib_version = "5.12.2",
27523        cpp_lib_version = "5.13.0",
27524        cpp_lib_version = "5.14.0"
27525    )))
27526)]
27527#[cfg(any(
27528    any(
27529        cpp_lib_version = "5.11.3",
27530        cpp_lib_version = "5.12.2",
27531        cpp_lib_version = "5.13.0",
27532        cpp_lib_version = "5.14.0"
27533    ),
27534    feature = "ritual_rustdoc"
27535))]
27536impl ::cpp_core::cmp::Lt<::cpp_core::Ref<crate::QVectorOfQJoint>> for crate::QVectorOfQJoint {
27537    /// Calls C++ function: <span style='color: green;'>```bool operator<(const QVector<Qt3DCore::QJoint*>& lhs, const QVector<Qt3DCore::QJoint*>& rhs)```</span>.
27538    #[inline(always)]
27539    unsafe fn lt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQJoint>) -> bool {
27540        crate::__ffi::ctr_qt_3d_core_ffi_operator_24(
27541            self as *const crate::QVectorOfQJoint,
27542            rhs.as_raw_ptr(),
27543        )
27544    }
27545}
27546
27547#[cfg_attr(
27548    feature = "ritual_rustdoc_nightly",
27549    doc(cfg(any(
27550        cpp_lib_version = "5.11.3",
27551        cpp_lib_version = "5.12.2",
27552        cpp_lib_version = "5.13.0",
27553        cpp_lib_version = "5.14.0"
27554    )))
27555)]
27556#[cfg(any(
27557    any(
27558        cpp_lib_version = "5.11.3",
27559        cpp_lib_version = "5.12.2",
27560        cpp_lib_version = "5.13.0",
27561        cpp_lib_version = "5.14.0"
27562    ),
27563    feature = "ritual_rustdoc"
27564))]
27565impl ::cpp_core::cmp::Gt<::cpp_core::Ref<crate::QVectorOfQJoint>> for crate::QVectorOfQJoint {
27566    /// Calls C++ function: <span style='color: green;'>```bool operator>(const QVector<Qt3DCore::QJoint*>& lhs, const QVector<Qt3DCore::QJoint*>& rhs)```</span>.
27567    #[inline(always)]
27568    unsafe fn gt(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQJoint>) -> bool {
27569        crate::__ffi::ctr_qt_3d_core_ffi_operator_25(
27570            self as *const crate::QVectorOfQJoint,
27571            rhs.as_raw_ptr(),
27572        )
27573    }
27574}
27575
27576#[cfg_attr(
27577    feature = "ritual_rustdoc_nightly",
27578    doc(cfg(any(
27579        cpp_lib_version = "5.11.3",
27580        cpp_lib_version = "5.12.2",
27581        cpp_lib_version = "5.13.0",
27582        cpp_lib_version = "5.14.0"
27583    )))
27584)]
27585#[cfg(any(
27586    any(
27587        cpp_lib_version = "5.11.3",
27588        cpp_lib_version = "5.12.2",
27589        cpp_lib_version = "5.13.0",
27590        cpp_lib_version = "5.14.0"
27591    ),
27592    feature = "ritual_rustdoc"
27593))]
27594impl ::cpp_core::cmp::Le<::cpp_core::Ref<crate::QVectorOfQJoint>> for crate::QVectorOfQJoint {
27595    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
27596    ///
27597    /// Calls C++ function: <span style='color: green;'>```bool operator<=(const QVector<Qt3DCore::QJoint*>& lhs, const QVector<Qt3DCore::QJoint*>& rhs)```</span>.
27598    ///
27599    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-lt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator<=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
27600    #[inline(always)]
27601    unsafe fn le(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQJoint>) -> bool {
27602        crate::__ffi::ctr_qt_3d_core_ffi_operator__72(
27603            self as *const crate::QVectorOfQJoint,
27604            rhs.as_raw_ptr(),
27605        )
27606    }
27607}
27608
27609#[cfg_attr(
27610    feature = "ritual_rustdoc_nightly",
27611    doc(cfg(any(
27612        cpp_lib_version = "5.11.3",
27613        cpp_lib_version = "5.12.2",
27614        cpp_lib_version = "5.13.0",
27615        cpp_lib_version = "5.14.0"
27616    )))
27617)]
27618#[cfg(any(
27619    any(
27620        cpp_lib_version = "5.11.3",
27621        cpp_lib_version = "5.12.2",
27622        cpp_lib_version = "5.13.0",
27623        cpp_lib_version = "5.14.0"
27624    ),
27625    feature = "ritual_rustdoc"
27626))]
27627impl ::cpp_core::cmp::Ge<::cpp_core::Ref<crate::QVectorOfQJoint>> for crate::QVectorOfQJoint {
27628    /// <p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p>
27629    ///
27630    /// Calls C++ function: <span style='color: green;'>```bool operator>=(const QVector<Qt3DCore::QJoint*>& lhs, const QVector<Qt3DCore::QJoint*>& rhs)```</span>.
27631    ///
27632    /// Warning: no exact match found in C++ documentation. Below is the <a href="http://doc.qt.io/qt-5/qchar.html#operator-gt-eq">C++ documentation</a> for <span style='color: green;'>```bool operator>=(QChar c1, QChar c2)```</span>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns <code>true</code> if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns <code>false</code>.</p></div>
27633    #[inline(always)]
27634    unsafe fn ge(&self, rhs: &::cpp_core::Ref<crate::QVectorOfQJoint>) -> bool {
27635        crate::__ffi::ctr_qt_3d_core_ffi_operator__73(
27636            self as *const crate::QVectorOfQJoint,
27637            rhs.as_raw_ptr(),
27638        )
27639    }
27640}
27641
27642#[cfg_attr(
27643    feature = "ritual_rustdoc_nightly",
27644    doc(cfg(any(
27645        cpp_lib_version = "5.11.3",
27646        cpp_lib_version = "5.12.2",
27647        cpp_lib_version = "5.13.0",
27648        cpp_lib_version = "5.14.0"
27649    )))
27650)]
27651#[cfg(any(
27652    any(
27653        cpp_lib_version = "5.11.3",
27654        cpp_lib_version = "5.12.2",
27655        cpp_lib_version = "5.13.0",
27656        cpp_lib_version = "5.14.0"
27657    ),
27658    feature = "ritual_rustdoc"
27659))]
27660impl ::cpp_core::StaticDowncast<crate::QNodeCommand> for crate::QSceneChange {
27661    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeCommand* static_cast<Qt3DCore::QNodeCommand*>(Qt3DCore::QSceneChange* ptr)```</span>.
27662    #[inline(always)]
27663    unsafe fn static_downcast(
27664        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
27665    ) -> ::cpp_core::Ptr<crate::QNodeCommand> {
27666        let ffi_result = {
27667            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNodeCommand_ptr(
27668                ptr.as_raw_ptr() as *mut crate::QSceneChange
27669            )
27670        };
27671        ::cpp_core::Ptr::from_raw(ffi_result)
27672    }
27673}
27674
27675#[cfg_attr(
27676    feature = "ritual_rustdoc_nightly",
27677    doc(cfg(any(
27678        cpp_lib_version = "5.11.3",
27679        cpp_lib_version = "5.12.2",
27680        cpp_lib_version = "5.13.0",
27681        cpp_lib_version = "5.14.0"
27682    )))
27683)]
27684#[cfg(any(
27685    any(
27686        cpp_lib_version = "5.11.3",
27687        cpp_lib_version = "5.12.2",
27688        cpp_lib_version = "5.13.0",
27689        cpp_lib_version = "5.14.0"
27690    ),
27691    feature = "ritual_rustdoc"
27692))]
27693impl ::cpp_core::StaticUpcast<crate::QSceneChange> for crate::QNodeCommand {
27694    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QNodeCommand* ptr)```</span>.
27695    #[inline(always)]
27696    unsafe fn static_upcast(
27697        ptr: ::cpp_core::Ptr<crate::QNodeCommand>,
27698    ) -> ::cpp_core::Ptr<crate::QSceneChange> {
27699        let ffi_result = {
27700            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr32(
27701                ptr.as_raw_ptr() as *mut crate::QNodeCommand,
27702            )
27703        };
27704        ::cpp_core::Ptr::from_raw(ffi_result)
27705    }
27706}
27707
27708#[cfg_attr(
27709    feature = "ritual_rustdoc_nightly",
27710    doc(cfg(any(
27711        cpp_lib_version = "5.11.3",
27712        cpp_lib_version = "5.12.2",
27713        cpp_lib_version = "5.13.0",
27714        cpp_lib_version = "5.14.0"
27715    )))
27716)]
27717#[cfg(any(
27718    any(
27719        cpp_lib_version = "5.11.3",
27720        cpp_lib_version = "5.12.2",
27721        cpp_lib_version = "5.13.0",
27722        cpp_lib_version = "5.14.0"
27723    ),
27724    feature = "ritual_rustdoc"
27725))]
27726impl ::std::ops::Deref for crate::QNodeCommand {
27727    type Target = crate::QSceneChange;
27728    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSceneChange* static_cast<Qt3DCore::QSceneChange*>(Qt3DCore::QNodeCommand* ptr)```</span>.
27729    #[inline(always)]
27730    fn deref(&self) -> &crate::QSceneChange {
27731        let ffi_result = {
27732            unsafe {
27733                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSceneChange_ptr32(
27734                    self as *const crate::QNodeCommand as *mut crate::QNodeCommand,
27735                )
27736            }
27737        };
27738        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
27739    }
27740}
27741
27742#[cfg_attr(
27743    feature = "ritual_rustdoc_nightly",
27744    doc(cfg(any(
27745        cpp_lib_version = "5.11.3",
27746        cpp_lib_version = "5.12.2",
27747        cpp_lib_version = "5.13.0",
27748        cpp_lib_version = "5.14.0"
27749    )))
27750)]
27751#[cfg(any(
27752    any(
27753        cpp_lib_version = "5.11.3",
27754        cpp_lib_version = "5.12.2",
27755        cpp_lib_version = "5.13.0",
27756        cpp_lib_version = "5.14.0"
27757    ),
27758    feature = "ritual_rustdoc"
27759))]
27760impl ::cpp_core::DynamicCast<crate::QNodeCommand> for crate::QSceneChange {
27761    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeCommand* dynamic_cast<Qt3DCore::QNodeCommand*>(Qt3DCore::QSceneChange* ptr)```</span>.
27762    #[inline(always)]
27763    unsafe fn dynamic_cast(
27764        ptr: ::cpp_core::Ptr<crate::QSceneChange>,
27765    ) -> ::cpp_core::Ptr<crate::QNodeCommand> {
27766        let ffi_result = {
27767            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QNodeCommand_ptr(
27768                ptr.as_raw_ptr() as *mut crate::QSceneChange,
27769            )
27770        };
27771        ::cpp_core::Ptr::from_raw(ffi_result)
27772    }
27773}
27774
27775#[cfg_attr(
27776    feature = "ritual_rustdoc_nightly",
27777    doc(cfg(any(
27778        cpp_lib_version = "5.11.3",
27779        cpp_lib_version = "5.12.2",
27780        cpp_lib_version = "5.13.0",
27781        cpp_lib_version = "5.14.0"
27782    )))
27783)]
27784#[cfg(any(
27785    any(
27786        cpp_lib_version = "5.11.3",
27787        cpp_lib_version = "5.12.2",
27788        cpp_lib_version = "5.13.0",
27789        cpp_lib_version = "5.14.0"
27790    ),
27791    feature = "ritual_rustdoc"
27792))]
27793impl ::cpp_core::StaticDowncast<crate::QAbstractSkeleton> for crate::QNode {
27794    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* static_cast<Qt3DCore::QAbstractSkeleton*>(Qt3DCore::QNode* ptr)```</span>.
27795    #[inline(always)]
27796    unsafe fn static_downcast(
27797        ptr: ::cpp_core::Ptr<crate::QNode>,
27798    ) -> ::cpp_core::Ptr<crate::QAbstractSkeleton> {
27799        let ffi_result = {
27800            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAbstractSkeleton_ptr(
27801                ptr.as_raw_ptr() as *mut crate::QNode,
27802            )
27803        };
27804        ::cpp_core::Ptr::from_raw(ffi_result)
27805    }
27806}
27807
27808#[cfg_attr(
27809    feature = "ritual_rustdoc_nightly",
27810    doc(cfg(any(
27811        cpp_lib_version = "5.11.3",
27812        cpp_lib_version = "5.12.2",
27813        cpp_lib_version = "5.13.0",
27814        cpp_lib_version = "5.14.0"
27815    )))
27816)]
27817#[cfg(any(
27818    any(
27819        cpp_lib_version = "5.11.3",
27820        cpp_lib_version = "5.12.2",
27821        cpp_lib_version = "5.13.0",
27822        cpp_lib_version = "5.14.0"
27823    ),
27824    feature = "ritual_rustdoc"
27825))]
27826impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QAbstractSkeleton {
27827    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QAbstractSkeleton* ptr)```</span>.
27828    #[inline(always)]
27829    unsafe fn static_upcast(
27830        ptr: ::cpp_core::Ptr<crate::QAbstractSkeleton>,
27831    ) -> ::cpp_core::Ptr<crate::QNode> {
27832        let ffi_result = {
27833            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr8(
27834                ptr.as_raw_ptr() as *mut crate::QAbstractSkeleton
27835            )
27836        };
27837        ::cpp_core::Ptr::from_raw(ffi_result)
27838    }
27839}
27840
27841#[cfg_attr(
27842    feature = "ritual_rustdoc_nightly",
27843    doc(cfg(any(
27844        cpp_lib_version = "5.11.3",
27845        cpp_lib_version = "5.12.2",
27846        cpp_lib_version = "5.13.0",
27847        cpp_lib_version = "5.14.0"
27848    )))
27849)]
27850#[cfg(any(
27851    any(
27852        cpp_lib_version = "5.11.3",
27853        cpp_lib_version = "5.12.2",
27854        cpp_lib_version = "5.13.0",
27855        cpp_lib_version = "5.14.0"
27856    ),
27857    feature = "ritual_rustdoc"
27858))]
27859impl ::std::ops::Deref for crate::QAbstractSkeleton {
27860    type Target = crate::QNode;
27861    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QAbstractSkeleton* ptr)```</span>.
27862    #[inline(always)]
27863    fn deref(&self) -> &crate::QNode {
27864        let ffi_result = {
27865            unsafe {
27866                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr8(
27867                    self as *const crate::QAbstractSkeleton as *mut crate::QAbstractSkeleton,
27868                )
27869            }
27870        };
27871        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
27872    }
27873}
27874
27875#[cfg_attr(
27876    feature = "ritual_rustdoc_nightly",
27877    doc(cfg(any(
27878        cpp_lib_version = "5.11.3",
27879        cpp_lib_version = "5.12.2",
27880        cpp_lib_version = "5.13.0",
27881        cpp_lib_version = "5.14.0"
27882    )))
27883)]
27884#[cfg(any(
27885    any(
27886        cpp_lib_version = "5.11.3",
27887        cpp_lib_version = "5.12.2",
27888        cpp_lib_version = "5.13.0",
27889        cpp_lib_version = "5.14.0"
27890    ),
27891    feature = "ritual_rustdoc"
27892))]
27893impl ::cpp_core::DynamicCast<crate::QAbstractSkeleton> for crate::QNode {
27894    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* dynamic_cast<Qt3DCore::QAbstractSkeleton*>(Qt3DCore::QNode* ptr)```</span>.
27895    #[inline(always)]
27896    unsafe fn dynamic_cast(
27897        ptr: ::cpp_core::Ptr<crate::QNode>,
27898    ) -> ::cpp_core::Ptr<crate::QAbstractSkeleton> {
27899        let ffi_result = {
27900            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QAbstractSkeleton_ptr(
27901                ptr.as_raw_ptr() as *mut crate::QNode,
27902            )
27903        };
27904        ::cpp_core::Ptr::from_raw(ffi_result)
27905    }
27906}
27907
27908#[cfg_attr(
27909    feature = "ritual_rustdoc_nightly",
27910    doc(cfg(any(
27911        cpp_lib_version = "5.11.3",
27912        cpp_lib_version = "5.12.2",
27913        cpp_lib_version = "5.13.0",
27914        cpp_lib_version = "5.14.0"
27915    )))
27916)]
27917#[cfg(any(
27918    any(
27919        cpp_lib_version = "5.11.3",
27920        cpp_lib_version = "5.12.2",
27921        cpp_lib_version = "5.13.0",
27922        cpp_lib_version = "5.14.0"
27923    ),
27924    feature = "ritual_rustdoc"
27925))]
27926impl ::cpp_core::StaticDowncast<crate::QAbstractSkeleton> for ::qt_core::QObject {
27927    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* static_cast<Qt3DCore::QAbstractSkeleton*>(QObject* ptr)```</span>.
27928    #[inline(always)]
27929    unsafe fn static_downcast(
27930        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
27931    ) -> ::cpp_core::Ptr<crate::QAbstractSkeleton> {
27932        let ffi_result = {
27933            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAbstractSkeleton_ptr1(
27934                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
27935            )
27936        };
27937        ::cpp_core::Ptr::from_raw(ffi_result)
27938    }
27939}
27940
27941#[cfg_attr(
27942    feature = "ritual_rustdoc_nightly",
27943    doc(cfg(any(
27944        cpp_lib_version = "5.11.3",
27945        cpp_lib_version = "5.12.2",
27946        cpp_lib_version = "5.13.0",
27947        cpp_lib_version = "5.14.0"
27948    )))
27949)]
27950#[cfg(any(
27951    any(
27952        cpp_lib_version = "5.11.3",
27953        cpp_lib_version = "5.12.2",
27954        cpp_lib_version = "5.13.0",
27955        cpp_lib_version = "5.14.0"
27956    ),
27957    feature = "ritual_rustdoc"
27958))]
27959impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QAbstractSkeleton {
27960    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QAbstractSkeleton* ptr)```</span>.
27961    #[inline(always)]
27962    unsafe fn static_upcast(
27963        ptr: ::cpp_core::Ptr<crate::QAbstractSkeleton>,
27964    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
27965        let ffi_result = {
27966            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr22(
27967                ptr.as_raw_ptr() as *mut crate::QAbstractSkeleton
27968            )
27969        };
27970        ::cpp_core::Ptr::from_raw(ffi_result)
27971    }
27972}
27973
27974#[cfg_attr(
27975    feature = "ritual_rustdoc_nightly",
27976    doc(cfg(any(
27977        cpp_lib_version = "5.11.3",
27978        cpp_lib_version = "5.12.2",
27979        cpp_lib_version = "5.13.0",
27980        cpp_lib_version = "5.14.0"
27981    )))
27982)]
27983#[cfg(any(
27984    any(
27985        cpp_lib_version = "5.11.3",
27986        cpp_lib_version = "5.12.2",
27987        cpp_lib_version = "5.13.0",
27988        cpp_lib_version = "5.14.0"
27989    ),
27990    feature = "ritual_rustdoc"
27991))]
27992impl ::cpp_core::DynamicCast<crate::QAbstractSkeleton> for ::qt_core::QObject {
27993    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* dynamic_cast<Qt3DCore::QAbstractSkeleton*>(QObject* ptr)```</span>.
27994    #[inline(always)]
27995    unsafe fn dynamic_cast(
27996        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
27997    ) -> ::cpp_core::Ptr<crate::QAbstractSkeleton> {
27998        let ffi_result = {
27999            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QAbstractSkeleton_ptr1(
28000                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
28001            )
28002        };
28003        ::cpp_core::Ptr::from_raw(ffi_result)
28004    }
28005}
28006
28007#[cfg_attr(
28008    feature = "ritual_rustdoc_nightly",
28009    doc(cfg(any(
28010        cpp_lib_version = "5.11.3",
28011        cpp_lib_version = "5.12.2",
28012        cpp_lib_version = "5.13.0",
28013        cpp_lib_version = "5.14.0"
28014    )))
28015)]
28016#[cfg(any(
28017    any(
28018        cpp_lib_version = "5.11.3",
28019        cpp_lib_version = "5.12.2",
28020        cpp_lib_version = "5.13.0",
28021        cpp_lib_version = "5.14.0"
28022    ),
28023    feature = "ritual_rustdoc"
28024))]
28025impl ::cpp_core::StaticDowncast<crate::QArmature> for crate::QComponent {
28026    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QArmature* static_cast<Qt3DCore::QArmature*>(Qt3DCore::QComponent* ptr)```</span>.
28027    #[inline(always)]
28028    unsafe fn static_downcast(
28029        ptr: ::cpp_core::Ptr<crate::QComponent>,
28030    ) -> ::cpp_core::Ptr<crate::QArmature> {
28031        let ffi_result = {
28032            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QArmature_ptr(
28033                ptr.as_raw_ptr() as *mut crate::QComponent
28034            )
28035        };
28036        ::cpp_core::Ptr::from_raw(ffi_result)
28037    }
28038}
28039
28040#[cfg_attr(
28041    feature = "ritual_rustdoc_nightly",
28042    doc(cfg(any(
28043        cpp_lib_version = "5.11.3",
28044        cpp_lib_version = "5.12.2",
28045        cpp_lib_version = "5.13.0",
28046        cpp_lib_version = "5.14.0"
28047    )))
28048)]
28049#[cfg(any(
28050    any(
28051        cpp_lib_version = "5.11.3",
28052        cpp_lib_version = "5.12.2",
28053        cpp_lib_version = "5.13.0",
28054        cpp_lib_version = "5.14.0"
28055    ),
28056    feature = "ritual_rustdoc"
28057))]
28058impl ::cpp_core::StaticUpcast<crate::QComponent> for crate::QArmature {
28059    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DCore::QArmature* ptr)```</span>.
28060    #[inline(always)]
28061    unsafe fn static_upcast(
28062        ptr: ::cpp_core::Ptr<crate::QArmature>,
28063    ) -> ::cpp_core::Ptr<crate::QComponent> {
28064        let ffi_result = {
28065            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponent_ptr6(
28066                ptr.as_raw_ptr() as *mut crate::QArmature
28067            )
28068        };
28069        ::cpp_core::Ptr::from_raw(ffi_result)
28070    }
28071}
28072
28073#[cfg_attr(
28074    feature = "ritual_rustdoc_nightly",
28075    doc(cfg(any(
28076        cpp_lib_version = "5.11.3",
28077        cpp_lib_version = "5.12.2",
28078        cpp_lib_version = "5.13.0",
28079        cpp_lib_version = "5.14.0"
28080    )))
28081)]
28082#[cfg(any(
28083    any(
28084        cpp_lib_version = "5.11.3",
28085        cpp_lib_version = "5.12.2",
28086        cpp_lib_version = "5.13.0",
28087        cpp_lib_version = "5.14.0"
28088    ),
28089    feature = "ritual_rustdoc"
28090))]
28091impl ::std::ops::Deref for crate::QArmature {
28092    type Target = crate::QComponent;
28093    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DCore::QArmature* ptr)```</span>.
28094    #[inline(always)]
28095    fn deref(&self) -> &crate::QComponent {
28096        let ffi_result = {
28097            unsafe {
28098                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QComponent_ptr6(
28099                    self as *const crate::QArmature as *mut crate::QArmature,
28100                )
28101            }
28102        };
28103        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
28104    }
28105}
28106
28107#[cfg_attr(
28108    feature = "ritual_rustdoc_nightly",
28109    doc(cfg(any(
28110        cpp_lib_version = "5.11.3",
28111        cpp_lib_version = "5.12.2",
28112        cpp_lib_version = "5.13.0",
28113        cpp_lib_version = "5.14.0"
28114    )))
28115)]
28116#[cfg(any(
28117    any(
28118        cpp_lib_version = "5.11.3",
28119        cpp_lib_version = "5.12.2",
28120        cpp_lib_version = "5.13.0",
28121        cpp_lib_version = "5.14.0"
28122    ),
28123    feature = "ritual_rustdoc"
28124))]
28125impl ::cpp_core::DynamicCast<crate::QArmature> for crate::QComponent {
28126    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QArmature* dynamic_cast<Qt3DCore::QArmature*>(Qt3DCore::QComponent* ptr)```</span>.
28127    #[inline(always)]
28128    unsafe fn dynamic_cast(
28129        ptr: ::cpp_core::Ptr<crate::QComponent>,
28130    ) -> ::cpp_core::Ptr<crate::QArmature> {
28131        let ffi_result = {
28132            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QArmature_ptr(
28133                ptr.as_raw_ptr() as *mut crate::QComponent
28134            )
28135        };
28136        ::cpp_core::Ptr::from_raw(ffi_result)
28137    }
28138}
28139
28140#[cfg_attr(
28141    feature = "ritual_rustdoc_nightly",
28142    doc(cfg(any(
28143        cpp_lib_version = "5.11.3",
28144        cpp_lib_version = "5.12.2",
28145        cpp_lib_version = "5.13.0",
28146        cpp_lib_version = "5.14.0"
28147    )))
28148)]
28149#[cfg(any(
28150    any(
28151        cpp_lib_version = "5.11.3",
28152        cpp_lib_version = "5.12.2",
28153        cpp_lib_version = "5.13.0",
28154        cpp_lib_version = "5.14.0"
28155    ),
28156    feature = "ritual_rustdoc"
28157))]
28158impl ::cpp_core::StaticDowncast<crate::QArmature> for crate::QNode {
28159    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QArmature* static_cast<Qt3DCore::QArmature*>(Qt3DCore::QNode* ptr)```</span>.
28160    #[inline(always)]
28161    unsafe fn static_downcast(
28162        ptr: ::cpp_core::Ptr<crate::QNode>,
28163    ) -> ::cpp_core::Ptr<crate::QArmature> {
28164        let ffi_result = {
28165            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QArmature_ptr1(
28166                ptr.as_raw_ptr() as *mut crate::QNode
28167            )
28168        };
28169        ::cpp_core::Ptr::from_raw(ffi_result)
28170    }
28171}
28172
28173#[cfg_attr(
28174    feature = "ritual_rustdoc_nightly",
28175    doc(cfg(any(
28176        cpp_lib_version = "5.11.3",
28177        cpp_lib_version = "5.12.2",
28178        cpp_lib_version = "5.13.0",
28179        cpp_lib_version = "5.14.0"
28180    )))
28181)]
28182#[cfg(any(
28183    any(
28184        cpp_lib_version = "5.11.3",
28185        cpp_lib_version = "5.12.2",
28186        cpp_lib_version = "5.13.0",
28187        cpp_lib_version = "5.14.0"
28188    ),
28189    feature = "ritual_rustdoc"
28190))]
28191impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QArmature {
28192    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QArmature* ptr)```</span>.
28193    #[inline(always)]
28194    unsafe fn static_upcast(
28195        ptr: ::cpp_core::Ptr<crate::QArmature>,
28196    ) -> ::cpp_core::Ptr<crate::QNode> {
28197        let ffi_result = {
28198            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr9(
28199                ptr.as_raw_ptr() as *mut crate::QArmature
28200            )
28201        };
28202        ::cpp_core::Ptr::from_raw(ffi_result)
28203    }
28204}
28205
28206#[cfg_attr(
28207    feature = "ritual_rustdoc_nightly",
28208    doc(cfg(any(
28209        cpp_lib_version = "5.11.3",
28210        cpp_lib_version = "5.12.2",
28211        cpp_lib_version = "5.13.0",
28212        cpp_lib_version = "5.14.0"
28213    )))
28214)]
28215#[cfg(any(
28216    any(
28217        cpp_lib_version = "5.11.3",
28218        cpp_lib_version = "5.12.2",
28219        cpp_lib_version = "5.13.0",
28220        cpp_lib_version = "5.14.0"
28221    ),
28222    feature = "ritual_rustdoc"
28223))]
28224impl ::cpp_core::DynamicCast<crate::QArmature> for crate::QNode {
28225    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QArmature* dynamic_cast<Qt3DCore::QArmature*>(Qt3DCore::QNode* ptr)```</span>.
28226    #[inline(always)]
28227    unsafe fn dynamic_cast(
28228        ptr: ::cpp_core::Ptr<crate::QNode>,
28229    ) -> ::cpp_core::Ptr<crate::QArmature> {
28230        let ffi_result = {
28231            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QArmature_ptr1(
28232                ptr.as_raw_ptr() as *mut crate::QNode
28233            )
28234        };
28235        ::cpp_core::Ptr::from_raw(ffi_result)
28236    }
28237}
28238
28239#[cfg_attr(
28240    feature = "ritual_rustdoc_nightly",
28241    doc(cfg(any(
28242        cpp_lib_version = "5.11.3",
28243        cpp_lib_version = "5.12.2",
28244        cpp_lib_version = "5.13.0",
28245        cpp_lib_version = "5.14.0"
28246    )))
28247)]
28248#[cfg(any(
28249    any(
28250        cpp_lib_version = "5.11.3",
28251        cpp_lib_version = "5.12.2",
28252        cpp_lib_version = "5.13.0",
28253        cpp_lib_version = "5.14.0"
28254    ),
28255    feature = "ritual_rustdoc"
28256))]
28257impl ::cpp_core::StaticDowncast<crate::QArmature> for ::qt_core::QObject {
28258    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QArmature* static_cast<Qt3DCore::QArmature*>(QObject* ptr)```</span>.
28259    #[inline(always)]
28260    unsafe fn static_downcast(
28261        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
28262    ) -> ::cpp_core::Ptr<crate::QArmature> {
28263        let ffi_result = {
28264            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QArmature_ptr2(
28265                ptr.as_raw_ptr() as *mut ::qt_core::QObject
28266            )
28267        };
28268        ::cpp_core::Ptr::from_raw(ffi_result)
28269    }
28270}
28271
28272#[cfg_attr(
28273    feature = "ritual_rustdoc_nightly",
28274    doc(cfg(any(
28275        cpp_lib_version = "5.11.3",
28276        cpp_lib_version = "5.12.2",
28277        cpp_lib_version = "5.13.0",
28278        cpp_lib_version = "5.14.0"
28279    )))
28280)]
28281#[cfg(any(
28282    any(
28283        cpp_lib_version = "5.11.3",
28284        cpp_lib_version = "5.12.2",
28285        cpp_lib_version = "5.13.0",
28286        cpp_lib_version = "5.14.0"
28287    ),
28288    feature = "ritual_rustdoc"
28289))]
28290impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QArmature {
28291    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QArmature* ptr)```</span>.
28292    #[inline(always)]
28293    unsafe fn static_upcast(
28294        ptr: ::cpp_core::Ptr<crate::QArmature>,
28295    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
28296        let ffi_result = {
28297            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr23(
28298                ptr.as_raw_ptr() as *mut crate::QArmature
28299            )
28300        };
28301        ::cpp_core::Ptr::from_raw(ffi_result)
28302    }
28303}
28304
28305#[cfg_attr(
28306    feature = "ritual_rustdoc_nightly",
28307    doc(cfg(any(
28308        cpp_lib_version = "5.11.3",
28309        cpp_lib_version = "5.12.2",
28310        cpp_lib_version = "5.13.0",
28311        cpp_lib_version = "5.14.0"
28312    )))
28313)]
28314#[cfg(any(
28315    any(
28316        cpp_lib_version = "5.11.3",
28317        cpp_lib_version = "5.12.2",
28318        cpp_lib_version = "5.13.0",
28319        cpp_lib_version = "5.14.0"
28320    ),
28321    feature = "ritual_rustdoc"
28322))]
28323impl ::cpp_core::DynamicCast<crate::QArmature> for ::qt_core::QObject {
28324    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QArmature* dynamic_cast<Qt3DCore::QArmature*>(QObject* ptr)```</span>.
28325    #[inline(always)]
28326    unsafe fn dynamic_cast(
28327        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
28328    ) -> ::cpp_core::Ptr<crate::QArmature> {
28329        let ffi_result = {
28330            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QArmature_ptr2(
28331                ptr.as_raw_ptr() as *mut ::qt_core::QObject
28332            )
28333        };
28334        ::cpp_core::Ptr::from_raw(ffi_result)
28335    }
28336}
28337
28338#[cfg_attr(
28339    feature = "ritual_rustdoc_nightly",
28340    doc(cfg(any(
28341        cpp_lib_version = "5.11.3",
28342        cpp_lib_version = "5.12.2",
28343        cpp_lib_version = "5.13.0",
28344        cpp_lib_version = "5.14.0"
28345    )))
28346)]
28347#[cfg(any(
28348    any(
28349        cpp_lib_version = "5.11.3",
28350        cpp_lib_version = "5.12.2",
28351        cpp_lib_version = "5.13.0",
28352        cpp_lib_version = "5.14.0"
28353    ),
28354    feature = "ritual_rustdoc"
28355))]
28356impl ::cpp_core::StaticDowncast<crate::QJoint> for crate::QNode {
28357    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* static_cast<Qt3DCore::QJoint*>(Qt3DCore::QNode* ptr)```</span>.
28358    #[inline(always)]
28359    unsafe fn static_downcast(
28360        ptr: ::cpp_core::Ptr<crate::QNode>,
28361    ) -> ::cpp_core::Ptr<crate::QJoint> {
28362        let ffi_result = {
28363            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QJoint_ptr(
28364                ptr.as_raw_ptr() as *mut crate::QNode
28365            )
28366        };
28367        ::cpp_core::Ptr::from_raw(ffi_result)
28368    }
28369}
28370
28371#[cfg_attr(
28372    feature = "ritual_rustdoc_nightly",
28373    doc(cfg(any(
28374        cpp_lib_version = "5.11.3",
28375        cpp_lib_version = "5.12.2",
28376        cpp_lib_version = "5.13.0",
28377        cpp_lib_version = "5.14.0"
28378    )))
28379)]
28380#[cfg(any(
28381    any(
28382        cpp_lib_version = "5.11.3",
28383        cpp_lib_version = "5.12.2",
28384        cpp_lib_version = "5.13.0",
28385        cpp_lib_version = "5.14.0"
28386    ),
28387    feature = "ritual_rustdoc"
28388))]
28389impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QJoint {
28390    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QJoint* ptr)```</span>.
28391    #[inline(always)]
28392    unsafe fn static_upcast(ptr: ::cpp_core::Ptr<crate::QJoint>) -> ::cpp_core::Ptr<crate::QNode> {
28393        let ffi_result = {
28394            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr10(
28395                ptr.as_raw_ptr() as *mut crate::QJoint
28396            )
28397        };
28398        ::cpp_core::Ptr::from_raw(ffi_result)
28399    }
28400}
28401
28402#[cfg_attr(
28403    feature = "ritual_rustdoc_nightly",
28404    doc(cfg(any(
28405        cpp_lib_version = "5.11.3",
28406        cpp_lib_version = "5.12.2",
28407        cpp_lib_version = "5.13.0",
28408        cpp_lib_version = "5.14.0"
28409    )))
28410)]
28411#[cfg(any(
28412    any(
28413        cpp_lib_version = "5.11.3",
28414        cpp_lib_version = "5.12.2",
28415        cpp_lib_version = "5.13.0",
28416        cpp_lib_version = "5.14.0"
28417    ),
28418    feature = "ritual_rustdoc"
28419))]
28420impl ::std::ops::Deref for crate::QJoint {
28421    type Target = crate::QNode;
28422    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QJoint* ptr)```</span>.
28423    #[inline(always)]
28424    fn deref(&self) -> &crate::QNode {
28425        let ffi_result = {
28426            unsafe {
28427                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr10(
28428                    self as *const crate::QJoint as *mut crate::QJoint,
28429                )
28430            }
28431        };
28432        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
28433    }
28434}
28435
28436#[cfg_attr(
28437    feature = "ritual_rustdoc_nightly",
28438    doc(cfg(any(
28439        cpp_lib_version = "5.11.3",
28440        cpp_lib_version = "5.12.2",
28441        cpp_lib_version = "5.13.0",
28442        cpp_lib_version = "5.14.0"
28443    )))
28444)]
28445#[cfg(any(
28446    any(
28447        cpp_lib_version = "5.11.3",
28448        cpp_lib_version = "5.12.2",
28449        cpp_lib_version = "5.13.0",
28450        cpp_lib_version = "5.14.0"
28451    ),
28452    feature = "ritual_rustdoc"
28453))]
28454impl ::cpp_core::DynamicCast<crate::QJoint> for crate::QNode {
28455    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* dynamic_cast<Qt3DCore::QJoint*>(Qt3DCore::QNode* ptr)```</span>.
28456    #[inline(always)]
28457    unsafe fn dynamic_cast(ptr: ::cpp_core::Ptr<crate::QNode>) -> ::cpp_core::Ptr<crate::QJoint> {
28458        let ffi_result = {
28459            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QJoint_ptr(
28460                ptr.as_raw_ptr() as *mut crate::QNode
28461            )
28462        };
28463        ::cpp_core::Ptr::from_raw(ffi_result)
28464    }
28465}
28466
28467#[cfg_attr(
28468    feature = "ritual_rustdoc_nightly",
28469    doc(cfg(any(
28470        cpp_lib_version = "5.11.3",
28471        cpp_lib_version = "5.12.2",
28472        cpp_lib_version = "5.13.0",
28473        cpp_lib_version = "5.14.0"
28474    )))
28475)]
28476#[cfg(any(
28477    any(
28478        cpp_lib_version = "5.11.3",
28479        cpp_lib_version = "5.12.2",
28480        cpp_lib_version = "5.13.0",
28481        cpp_lib_version = "5.14.0"
28482    ),
28483    feature = "ritual_rustdoc"
28484))]
28485impl ::cpp_core::StaticDowncast<crate::QJoint> for ::qt_core::QObject {
28486    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* static_cast<Qt3DCore::QJoint*>(QObject* ptr)```</span>.
28487    #[inline(always)]
28488    unsafe fn static_downcast(
28489        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
28490    ) -> ::cpp_core::Ptr<crate::QJoint> {
28491        let ffi_result = {
28492            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QJoint_ptr1(
28493                ptr.as_raw_ptr() as *mut ::qt_core::QObject
28494            )
28495        };
28496        ::cpp_core::Ptr::from_raw(ffi_result)
28497    }
28498}
28499
28500#[cfg_attr(
28501    feature = "ritual_rustdoc_nightly",
28502    doc(cfg(any(
28503        cpp_lib_version = "5.11.3",
28504        cpp_lib_version = "5.12.2",
28505        cpp_lib_version = "5.13.0",
28506        cpp_lib_version = "5.14.0"
28507    )))
28508)]
28509#[cfg(any(
28510    any(
28511        cpp_lib_version = "5.11.3",
28512        cpp_lib_version = "5.12.2",
28513        cpp_lib_version = "5.13.0",
28514        cpp_lib_version = "5.14.0"
28515    ),
28516    feature = "ritual_rustdoc"
28517))]
28518impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QJoint {
28519    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QJoint* ptr)```</span>.
28520    #[inline(always)]
28521    unsafe fn static_upcast(
28522        ptr: ::cpp_core::Ptr<crate::QJoint>,
28523    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
28524        let ffi_result = {
28525            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr24(
28526                ptr.as_raw_ptr() as *mut crate::QJoint
28527            )
28528        };
28529        ::cpp_core::Ptr::from_raw(ffi_result)
28530    }
28531}
28532
28533#[cfg_attr(
28534    feature = "ritual_rustdoc_nightly",
28535    doc(cfg(any(
28536        cpp_lib_version = "5.11.3",
28537        cpp_lib_version = "5.12.2",
28538        cpp_lib_version = "5.13.0",
28539        cpp_lib_version = "5.14.0"
28540    )))
28541)]
28542#[cfg(any(
28543    any(
28544        cpp_lib_version = "5.11.3",
28545        cpp_lib_version = "5.12.2",
28546        cpp_lib_version = "5.13.0",
28547        cpp_lib_version = "5.14.0"
28548    ),
28549    feature = "ritual_rustdoc"
28550))]
28551impl ::cpp_core::DynamicCast<crate::QJoint> for ::qt_core::QObject {
28552    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QJoint* dynamic_cast<Qt3DCore::QJoint*>(QObject* ptr)```</span>.
28553    #[inline(always)]
28554    unsafe fn dynamic_cast(
28555        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
28556    ) -> ::cpp_core::Ptr<crate::QJoint> {
28557        let ffi_result = {
28558            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QJoint_ptr1(
28559                ptr.as_raw_ptr() as *mut ::qt_core::QObject
28560            )
28561        };
28562        ::cpp_core::Ptr::from_raw(ffi_result)
28563    }
28564}
28565
28566#[cfg_attr(
28567    feature = "ritual_rustdoc_nightly",
28568    doc(cfg(any(
28569        cpp_lib_version = "5.11.3",
28570        cpp_lib_version = "5.12.2",
28571        cpp_lib_version = "5.13.0",
28572        cpp_lib_version = "5.14.0"
28573    )))
28574)]
28575#[cfg(any(
28576    any(
28577        cpp_lib_version = "5.11.3",
28578        cpp_lib_version = "5.12.2",
28579        cpp_lib_version = "5.13.0",
28580        cpp_lib_version = "5.14.0"
28581    ),
28582    feature = "ritual_rustdoc"
28583))]
28584impl ::cpp_core::StaticDowncast<crate::QSkeleton> for crate::QAbstractSkeleton {
28585    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeleton* static_cast<Qt3DCore::QSkeleton*>(Qt3DCore::QAbstractSkeleton* ptr)```</span>.
28586    #[inline(always)]
28587    unsafe fn static_downcast(
28588        ptr: ::cpp_core::Ptr<crate::QAbstractSkeleton>,
28589    ) -> ::cpp_core::Ptr<crate::QSkeleton> {
28590        let ffi_result = {
28591            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSkeleton_ptr(
28592                ptr.as_raw_ptr() as *mut crate::QAbstractSkeleton
28593            )
28594        };
28595        ::cpp_core::Ptr::from_raw(ffi_result)
28596    }
28597}
28598
28599#[cfg_attr(
28600    feature = "ritual_rustdoc_nightly",
28601    doc(cfg(any(
28602        cpp_lib_version = "5.11.3",
28603        cpp_lib_version = "5.12.2",
28604        cpp_lib_version = "5.13.0",
28605        cpp_lib_version = "5.14.0"
28606    )))
28607)]
28608#[cfg(any(
28609    any(
28610        cpp_lib_version = "5.11.3",
28611        cpp_lib_version = "5.12.2",
28612        cpp_lib_version = "5.13.0",
28613        cpp_lib_version = "5.14.0"
28614    ),
28615    feature = "ritual_rustdoc"
28616))]
28617impl ::cpp_core::StaticUpcast<crate::QAbstractSkeleton> for crate::QSkeleton {
28618    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* static_cast<Qt3DCore::QAbstractSkeleton*>(Qt3DCore::QSkeleton* ptr)```</span>.
28619    #[inline(always)]
28620    unsafe fn static_upcast(
28621        ptr: ::cpp_core::Ptr<crate::QSkeleton>,
28622    ) -> ::cpp_core::Ptr<crate::QAbstractSkeleton> {
28623        let ffi_result = {
28624            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAbstractSkeleton_ptr2(
28625                ptr.as_raw_ptr() as *mut crate::QSkeleton,
28626            )
28627        };
28628        ::cpp_core::Ptr::from_raw(ffi_result)
28629    }
28630}
28631
28632#[cfg_attr(
28633    feature = "ritual_rustdoc_nightly",
28634    doc(cfg(any(
28635        cpp_lib_version = "5.11.3",
28636        cpp_lib_version = "5.12.2",
28637        cpp_lib_version = "5.13.0",
28638        cpp_lib_version = "5.14.0"
28639    )))
28640)]
28641#[cfg(any(
28642    any(
28643        cpp_lib_version = "5.11.3",
28644        cpp_lib_version = "5.12.2",
28645        cpp_lib_version = "5.13.0",
28646        cpp_lib_version = "5.14.0"
28647    ),
28648    feature = "ritual_rustdoc"
28649))]
28650impl ::std::ops::Deref for crate::QSkeleton {
28651    type Target = crate::QAbstractSkeleton;
28652    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* static_cast<Qt3DCore::QAbstractSkeleton*>(Qt3DCore::QSkeleton* ptr)```</span>.
28653    #[inline(always)]
28654    fn deref(&self) -> &crate::QAbstractSkeleton {
28655        let ffi_result = {
28656            unsafe {
28657                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAbstractSkeleton_ptr2(
28658                    self as *const crate::QSkeleton as *mut crate::QSkeleton,
28659                )
28660            }
28661        };
28662        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
28663    }
28664}
28665
28666#[cfg_attr(
28667    feature = "ritual_rustdoc_nightly",
28668    doc(cfg(any(
28669        cpp_lib_version = "5.11.3",
28670        cpp_lib_version = "5.12.2",
28671        cpp_lib_version = "5.13.0",
28672        cpp_lib_version = "5.14.0"
28673    )))
28674)]
28675#[cfg(any(
28676    any(
28677        cpp_lib_version = "5.11.3",
28678        cpp_lib_version = "5.12.2",
28679        cpp_lib_version = "5.13.0",
28680        cpp_lib_version = "5.14.0"
28681    ),
28682    feature = "ritual_rustdoc"
28683))]
28684impl ::cpp_core::DynamicCast<crate::QSkeleton> for crate::QAbstractSkeleton {
28685    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeleton* dynamic_cast<Qt3DCore::QSkeleton*>(Qt3DCore::QAbstractSkeleton* ptr)```</span>.
28686    #[inline(always)]
28687    unsafe fn dynamic_cast(
28688        ptr: ::cpp_core::Ptr<crate::QAbstractSkeleton>,
28689    ) -> ::cpp_core::Ptr<crate::QSkeleton> {
28690        let ffi_result = {
28691            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QSkeleton_ptr(
28692                ptr.as_raw_ptr() as *mut crate::QAbstractSkeleton
28693            )
28694        };
28695        ::cpp_core::Ptr::from_raw(ffi_result)
28696    }
28697}
28698
28699#[cfg_attr(
28700    feature = "ritual_rustdoc_nightly",
28701    doc(cfg(any(
28702        cpp_lib_version = "5.11.3",
28703        cpp_lib_version = "5.12.2",
28704        cpp_lib_version = "5.13.0",
28705        cpp_lib_version = "5.14.0"
28706    )))
28707)]
28708#[cfg(any(
28709    any(
28710        cpp_lib_version = "5.11.3",
28711        cpp_lib_version = "5.12.2",
28712        cpp_lib_version = "5.13.0",
28713        cpp_lib_version = "5.14.0"
28714    ),
28715    feature = "ritual_rustdoc"
28716))]
28717impl ::cpp_core::StaticDowncast<crate::QSkeleton> for crate::QNode {
28718    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeleton* static_cast<Qt3DCore::QSkeleton*>(Qt3DCore::QNode* ptr)```</span>.
28719    #[inline(always)]
28720    unsafe fn static_downcast(
28721        ptr: ::cpp_core::Ptr<crate::QNode>,
28722    ) -> ::cpp_core::Ptr<crate::QSkeleton> {
28723        let ffi_result = {
28724            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSkeleton_ptr1(
28725                ptr.as_raw_ptr() as *mut crate::QNode
28726            )
28727        };
28728        ::cpp_core::Ptr::from_raw(ffi_result)
28729    }
28730}
28731
28732#[cfg_attr(
28733    feature = "ritual_rustdoc_nightly",
28734    doc(cfg(any(
28735        cpp_lib_version = "5.11.3",
28736        cpp_lib_version = "5.12.2",
28737        cpp_lib_version = "5.13.0",
28738        cpp_lib_version = "5.14.0"
28739    )))
28740)]
28741#[cfg(any(
28742    any(
28743        cpp_lib_version = "5.11.3",
28744        cpp_lib_version = "5.12.2",
28745        cpp_lib_version = "5.13.0",
28746        cpp_lib_version = "5.14.0"
28747    ),
28748    feature = "ritual_rustdoc"
28749))]
28750impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QSkeleton {
28751    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QSkeleton* ptr)```</span>.
28752    #[inline(always)]
28753    unsafe fn static_upcast(
28754        ptr: ::cpp_core::Ptr<crate::QSkeleton>,
28755    ) -> ::cpp_core::Ptr<crate::QNode> {
28756        let ffi_result = {
28757            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr11(
28758                ptr.as_raw_ptr() as *mut crate::QSkeleton
28759            )
28760        };
28761        ::cpp_core::Ptr::from_raw(ffi_result)
28762    }
28763}
28764
28765#[cfg_attr(
28766    feature = "ritual_rustdoc_nightly",
28767    doc(cfg(any(
28768        cpp_lib_version = "5.11.3",
28769        cpp_lib_version = "5.12.2",
28770        cpp_lib_version = "5.13.0",
28771        cpp_lib_version = "5.14.0"
28772    )))
28773)]
28774#[cfg(any(
28775    any(
28776        cpp_lib_version = "5.11.3",
28777        cpp_lib_version = "5.12.2",
28778        cpp_lib_version = "5.13.0",
28779        cpp_lib_version = "5.14.0"
28780    ),
28781    feature = "ritual_rustdoc"
28782))]
28783impl ::cpp_core::DynamicCast<crate::QSkeleton> for crate::QNode {
28784    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeleton* dynamic_cast<Qt3DCore::QSkeleton*>(Qt3DCore::QNode* ptr)```</span>.
28785    #[inline(always)]
28786    unsafe fn dynamic_cast(
28787        ptr: ::cpp_core::Ptr<crate::QNode>,
28788    ) -> ::cpp_core::Ptr<crate::QSkeleton> {
28789        let ffi_result = {
28790            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QSkeleton_ptr1(
28791                ptr.as_raw_ptr() as *mut crate::QNode
28792            )
28793        };
28794        ::cpp_core::Ptr::from_raw(ffi_result)
28795    }
28796}
28797
28798#[cfg_attr(
28799    feature = "ritual_rustdoc_nightly",
28800    doc(cfg(any(
28801        cpp_lib_version = "5.11.3",
28802        cpp_lib_version = "5.12.2",
28803        cpp_lib_version = "5.13.0",
28804        cpp_lib_version = "5.14.0"
28805    )))
28806)]
28807#[cfg(any(
28808    any(
28809        cpp_lib_version = "5.11.3",
28810        cpp_lib_version = "5.12.2",
28811        cpp_lib_version = "5.13.0",
28812        cpp_lib_version = "5.14.0"
28813    ),
28814    feature = "ritual_rustdoc"
28815))]
28816impl ::cpp_core::StaticDowncast<crate::QSkeleton> for ::qt_core::QObject {
28817    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeleton* static_cast<Qt3DCore::QSkeleton*>(QObject* ptr)```</span>.
28818    #[inline(always)]
28819    unsafe fn static_downcast(
28820        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
28821    ) -> ::cpp_core::Ptr<crate::QSkeleton> {
28822        let ffi_result = {
28823            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSkeleton_ptr2(
28824                ptr.as_raw_ptr() as *mut ::qt_core::QObject
28825            )
28826        };
28827        ::cpp_core::Ptr::from_raw(ffi_result)
28828    }
28829}
28830
28831#[cfg_attr(
28832    feature = "ritual_rustdoc_nightly",
28833    doc(cfg(any(
28834        cpp_lib_version = "5.11.3",
28835        cpp_lib_version = "5.12.2",
28836        cpp_lib_version = "5.13.0",
28837        cpp_lib_version = "5.14.0"
28838    )))
28839)]
28840#[cfg(any(
28841    any(
28842        cpp_lib_version = "5.11.3",
28843        cpp_lib_version = "5.12.2",
28844        cpp_lib_version = "5.13.0",
28845        cpp_lib_version = "5.14.0"
28846    ),
28847    feature = "ritual_rustdoc"
28848))]
28849impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QSkeleton {
28850    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QSkeleton* ptr)```</span>.
28851    #[inline(always)]
28852    unsafe fn static_upcast(
28853        ptr: ::cpp_core::Ptr<crate::QSkeleton>,
28854    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
28855        let ffi_result = {
28856            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr25(
28857                ptr.as_raw_ptr() as *mut crate::QSkeleton
28858            )
28859        };
28860        ::cpp_core::Ptr::from_raw(ffi_result)
28861    }
28862}
28863
28864#[cfg_attr(
28865    feature = "ritual_rustdoc_nightly",
28866    doc(cfg(any(
28867        cpp_lib_version = "5.11.3",
28868        cpp_lib_version = "5.12.2",
28869        cpp_lib_version = "5.13.0",
28870        cpp_lib_version = "5.14.0"
28871    )))
28872)]
28873#[cfg(any(
28874    any(
28875        cpp_lib_version = "5.11.3",
28876        cpp_lib_version = "5.12.2",
28877        cpp_lib_version = "5.13.0",
28878        cpp_lib_version = "5.14.0"
28879    ),
28880    feature = "ritual_rustdoc"
28881))]
28882impl ::cpp_core::DynamicCast<crate::QSkeleton> for ::qt_core::QObject {
28883    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeleton* dynamic_cast<Qt3DCore::QSkeleton*>(QObject* ptr)```</span>.
28884    #[inline(always)]
28885    unsafe fn dynamic_cast(
28886        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
28887    ) -> ::cpp_core::Ptr<crate::QSkeleton> {
28888        let ffi_result = {
28889            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QSkeleton_ptr2(
28890                ptr.as_raw_ptr() as *mut ::qt_core::QObject
28891            )
28892        };
28893        ::cpp_core::Ptr::from_raw(ffi_result)
28894    }
28895}
28896
28897#[cfg_attr(
28898    feature = "ritual_rustdoc_nightly",
28899    doc(cfg(any(
28900        cpp_lib_version = "5.11.3",
28901        cpp_lib_version = "5.12.2",
28902        cpp_lib_version = "5.13.0",
28903        cpp_lib_version = "5.14.0"
28904    )))
28905)]
28906#[cfg(any(
28907    any(
28908        cpp_lib_version = "5.11.3",
28909        cpp_lib_version = "5.12.2",
28910        cpp_lib_version = "5.13.0",
28911        cpp_lib_version = "5.14.0"
28912    ),
28913    feature = "ritual_rustdoc"
28914))]
28915impl ::cpp_core::StaticDowncast<crate::QSkeletonLoader> for crate::QAbstractSkeleton {
28916    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeletonLoader* static_cast<Qt3DCore::QSkeletonLoader*>(Qt3DCore::QAbstractSkeleton* ptr)```</span>.
28917    #[inline(always)]
28918    unsafe fn static_downcast(
28919        ptr: ::cpp_core::Ptr<crate::QAbstractSkeleton>,
28920    ) -> ::cpp_core::Ptr<crate::QSkeletonLoader> {
28921        let ffi_result = {
28922            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSkeletonLoader_ptr(
28923                ptr.as_raw_ptr() as *mut crate::QAbstractSkeleton,
28924            )
28925        };
28926        ::cpp_core::Ptr::from_raw(ffi_result)
28927    }
28928}
28929
28930#[cfg_attr(
28931    feature = "ritual_rustdoc_nightly",
28932    doc(cfg(any(
28933        cpp_lib_version = "5.11.3",
28934        cpp_lib_version = "5.12.2",
28935        cpp_lib_version = "5.13.0",
28936        cpp_lib_version = "5.14.0"
28937    )))
28938)]
28939#[cfg(any(
28940    any(
28941        cpp_lib_version = "5.11.3",
28942        cpp_lib_version = "5.12.2",
28943        cpp_lib_version = "5.13.0",
28944        cpp_lib_version = "5.14.0"
28945    ),
28946    feature = "ritual_rustdoc"
28947))]
28948impl ::cpp_core::StaticUpcast<crate::QAbstractSkeleton> for crate::QSkeletonLoader {
28949    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* static_cast<Qt3DCore::QAbstractSkeleton*>(Qt3DCore::QSkeletonLoader* ptr)```</span>.
28950    #[inline(always)]
28951    unsafe fn static_upcast(
28952        ptr: ::cpp_core::Ptr<crate::QSkeletonLoader>,
28953    ) -> ::cpp_core::Ptr<crate::QAbstractSkeleton> {
28954        let ffi_result = {
28955            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAbstractSkeleton_ptr3(
28956                ptr.as_raw_ptr() as *mut crate::QSkeletonLoader,
28957            )
28958        };
28959        ::cpp_core::Ptr::from_raw(ffi_result)
28960    }
28961}
28962
28963#[cfg_attr(
28964    feature = "ritual_rustdoc_nightly",
28965    doc(cfg(any(
28966        cpp_lib_version = "5.11.3",
28967        cpp_lib_version = "5.12.2",
28968        cpp_lib_version = "5.13.0",
28969        cpp_lib_version = "5.14.0"
28970    )))
28971)]
28972#[cfg(any(
28973    any(
28974        cpp_lib_version = "5.11.3",
28975        cpp_lib_version = "5.12.2",
28976        cpp_lib_version = "5.13.0",
28977        cpp_lib_version = "5.14.0"
28978    ),
28979    feature = "ritual_rustdoc"
28980))]
28981impl ::std::ops::Deref for crate::QSkeletonLoader {
28982    type Target = crate::QAbstractSkeleton;
28983    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QAbstractSkeleton* static_cast<Qt3DCore::QAbstractSkeleton*>(Qt3DCore::QSkeletonLoader* ptr)```</span>.
28984    #[inline(always)]
28985    fn deref(&self) -> &crate::QAbstractSkeleton {
28986        let ffi_result = {
28987            unsafe {
28988                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QAbstractSkeleton_ptr3(
28989                    self as *const crate::QSkeletonLoader as *mut crate::QSkeletonLoader,
28990                )
28991            }
28992        };
28993        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
28994    }
28995}
28996
28997#[cfg_attr(
28998    feature = "ritual_rustdoc_nightly",
28999    doc(cfg(any(
29000        cpp_lib_version = "5.11.3",
29001        cpp_lib_version = "5.12.2",
29002        cpp_lib_version = "5.13.0",
29003        cpp_lib_version = "5.14.0"
29004    )))
29005)]
29006#[cfg(any(
29007    any(
29008        cpp_lib_version = "5.11.3",
29009        cpp_lib_version = "5.12.2",
29010        cpp_lib_version = "5.13.0",
29011        cpp_lib_version = "5.14.0"
29012    ),
29013    feature = "ritual_rustdoc"
29014))]
29015impl ::cpp_core::DynamicCast<crate::QSkeletonLoader> for crate::QAbstractSkeleton {
29016    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeletonLoader* dynamic_cast<Qt3DCore::QSkeletonLoader*>(Qt3DCore::QAbstractSkeleton* ptr)```</span>.
29017    #[inline(always)]
29018    unsafe fn dynamic_cast(
29019        ptr: ::cpp_core::Ptr<crate::QAbstractSkeleton>,
29020    ) -> ::cpp_core::Ptr<crate::QSkeletonLoader> {
29021        let ffi_result = {
29022            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QSkeletonLoader_ptr(
29023                ptr.as_raw_ptr() as *mut crate::QAbstractSkeleton,
29024            )
29025        };
29026        ::cpp_core::Ptr::from_raw(ffi_result)
29027    }
29028}
29029
29030#[cfg_attr(
29031    feature = "ritual_rustdoc_nightly",
29032    doc(cfg(any(
29033        cpp_lib_version = "5.11.3",
29034        cpp_lib_version = "5.12.2",
29035        cpp_lib_version = "5.13.0",
29036        cpp_lib_version = "5.14.0"
29037    )))
29038)]
29039#[cfg(any(
29040    any(
29041        cpp_lib_version = "5.11.3",
29042        cpp_lib_version = "5.12.2",
29043        cpp_lib_version = "5.13.0",
29044        cpp_lib_version = "5.14.0"
29045    ),
29046    feature = "ritual_rustdoc"
29047))]
29048impl ::cpp_core::StaticDowncast<crate::QSkeletonLoader> for crate::QNode {
29049    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeletonLoader* static_cast<Qt3DCore::QSkeletonLoader*>(Qt3DCore::QNode* ptr)```</span>.
29050    #[inline(always)]
29051    unsafe fn static_downcast(
29052        ptr: ::cpp_core::Ptr<crate::QNode>,
29053    ) -> ::cpp_core::Ptr<crate::QSkeletonLoader> {
29054        let ffi_result = {
29055            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSkeletonLoader_ptr1(
29056                ptr.as_raw_ptr() as *mut crate::QNode,
29057            )
29058        };
29059        ::cpp_core::Ptr::from_raw(ffi_result)
29060    }
29061}
29062
29063#[cfg_attr(
29064    feature = "ritual_rustdoc_nightly",
29065    doc(cfg(any(
29066        cpp_lib_version = "5.11.3",
29067        cpp_lib_version = "5.12.2",
29068        cpp_lib_version = "5.13.0",
29069        cpp_lib_version = "5.14.0"
29070    )))
29071)]
29072#[cfg(any(
29073    any(
29074        cpp_lib_version = "5.11.3",
29075        cpp_lib_version = "5.12.2",
29076        cpp_lib_version = "5.13.0",
29077        cpp_lib_version = "5.14.0"
29078    ),
29079    feature = "ritual_rustdoc"
29080))]
29081impl ::cpp_core::StaticUpcast<crate::QNode> for crate::QSkeletonLoader {
29082    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DCore::QSkeletonLoader* ptr)```</span>.
29083    #[inline(always)]
29084    unsafe fn static_upcast(
29085        ptr: ::cpp_core::Ptr<crate::QSkeletonLoader>,
29086    ) -> ::cpp_core::Ptr<crate::QNode> {
29087        let ffi_result = {
29088            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QNode_ptr12(
29089                ptr.as_raw_ptr() as *mut crate::QSkeletonLoader
29090            )
29091        };
29092        ::cpp_core::Ptr::from_raw(ffi_result)
29093    }
29094}
29095
29096#[cfg_attr(
29097    feature = "ritual_rustdoc_nightly",
29098    doc(cfg(any(
29099        cpp_lib_version = "5.11.3",
29100        cpp_lib_version = "5.12.2",
29101        cpp_lib_version = "5.13.0",
29102        cpp_lib_version = "5.14.0"
29103    )))
29104)]
29105#[cfg(any(
29106    any(
29107        cpp_lib_version = "5.11.3",
29108        cpp_lib_version = "5.12.2",
29109        cpp_lib_version = "5.13.0",
29110        cpp_lib_version = "5.14.0"
29111    ),
29112    feature = "ritual_rustdoc"
29113))]
29114impl ::cpp_core::DynamicCast<crate::QSkeletonLoader> for crate::QNode {
29115    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeletonLoader* dynamic_cast<Qt3DCore::QSkeletonLoader*>(Qt3DCore::QNode* ptr)```</span>.
29116    #[inline(always)]
29117    unsafe fn dynamic_cast(
29118        ptr: ::cpp_core::Ptr<crate::QNode>,
29119    ) -> ::cpp_core::Ptr<crate::QSkeletonLoader> {
29120        let ffi_result = {
29121            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QSkeletonLoader_ptr1(
29122                ptr.as_raw_ptr() as *mut crate::QNode,
29123            )
29124        };
29125        ::cpp_core::Ptr::from_raw(ffi_result)
29126    }
29127}
29128
29129#[cfg_attr(
29130    feature = "ritual_rustdoc_nightly",
29131    doc(cfg(any(
29132        cpp_lib_version = "5.11.3",
29133        cpp_lib_version = "5.12.2",
29134        cpp_lib_version = "5.13.0",
29135        cpp_lib_version = "5.14.0"
29136    )))
29137)]
29138#[cfg(any(
29139    any(
29140        cpp_lib_version = "5.11.3",
29141        cpp_lib_version = "5.12.2",
29142        cpp_lib_version = "5.13.0",
29143        cpp_lib_version = "5.14.0"
29144    ),
29145    feature = "ritual_rustdoc"
29146))]
29147impl ::cpp_core::StaticDowncast<crate::QSkeletonLoader> for ::qt_core::QObject {
29148    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeletonLoader* static_cast<Qt3DCore::QSkeletonLoader*>(QObject* ptr)```</span>.
29149    #[inline(always)]
29150    unsafe fn static_downcast(
29151        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29152    ) -> ::cpp_core::Ptr<crate::QSkeletonLoader> {
29153        let ffi_result = {
29154            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_Qt3DCore_QSkeletonLoader_ptr2(
29155                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
29156            )
29157        };
29158        ::cpp_core::Ptr::from_raw(ffi_result)
29159    }
29160}
29161
29162#[cfg_attr(
29163    feature = "ritual_rustdoc_nightly",
29164    doc(cfg(any(
29165        cpp_lib_version = "5.11.3",
29166        cpp_lib_version = "5.12.2",
29167        cpp_lib_version = "5.13.0",
29168        cpp_lib_version = "5.14.0"
29169    )))
29170)]
29171#[cfg(any(
29172    any(
29173        cpp_lib_version = "5.11.3",
29174        cpp_lib_version = "5.12.2",
29175        cpp_lib_version = "5.13.0",
29176        cpp_lib_version = "5.14.0"
29177    ),
29178    feature = "ritual_rustdoc"
29179))]
29180impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::QSkeletonLoader {
29181    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(Qt3DCore::QSkeletonLoader* ptr)```</span>.
29182    #[inline(always)]
29183    unsafe fn static_upcast(
29184        ptr: ::cpp_core::Ptr<crate::QSkeletonLoader>,
29185    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29186        let ffi_result = {
29187            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr26(
29188                ptr.as_raw_ptr() as *mut crate::QSkeletonLoader
29189            )
29190        };
29191        ::cpp_core::Ptr::from_raw(ffi_result)
29192    }
29193}
29194
29195#[cfg_attr(
29196    feature = "ritual_rustdoc_nightly",
29197    doc(cfg(any(
29198        cpp_lib_version = "5.11.3",
29199        cpp_lib_version = "5.12.2",
29200        cpp_lib_version = "5.13.0",
29201        cpp_lib_version = "5.14.0"
29202    )))
29203)]
29204#[cfg(any(
29205    any(
29206        cpp_lib_version = "5.11.3",
29207        cpp_lib_version = "5.12.2",
29208        cpp_lib_version = "5.13.0",
29209        cpp_lib_version = "5.14.0"
29210    ),
29211    feature = "ritual_rustdoc"
29212))]
29213impl ::cpp_core::DynamicCast<crate::QSkeletonLoader> for ::qt_core::QObject {
29214    /// Calls C++ function: <span style='color: green;'>```Qt3DCore::QSkeletonLoader* dynamic_cast<Qt3DCore::QSkeletonLoader*>(QObject* ptr)```</span>.
29215    #[inline(always)]
29216    unsafe fn dynamic_cast(
29217        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29218    ) -> ::cpp_core::Ptr<crate::QSkeletonLoader> {
29219        let ffi_result = {
29220            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_Qt3DCore_QSkeletonLoader_ptr2(
29221                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
29222            )
29223        };
29224        ::cpp_core::Ptr::from_raw(ffi_result)
29225    }
29226}
29227
29228#[cfg_attr(
29229    feature = "ritual_rustdoc_nightly",
29230    doc(cfg(any(
29231        cpp_lib_version = "5.14.0",
29232        cpp_lib_version = "5.11.3",
29233        cpp_lib_version = "5.12.2",
29234        cpp_lib_version = "5.13.0"
29235    )))
29236)]
29237#[cfg(any(
29238    any(
29239        cpp_lib_version = "5.14.0",
29240        cpp_lib_version = "5.11.3",
29241        cpp_lib_version = "5.12.2",
29242        cpp_lib_version = "5.13.0"
29243    ),
29244    feature = "ritual_rustdoc"
29245))]
29246impl ::cpp_core::CppDeletable for crate::SignalOfQJoint {
29247    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr::~ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr()```</span>.
29248    #[inline(always)]
29249    unsafe fn delete(&self) {
29250        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_dctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr(self as *const crate::SignalOfQJoint as *mut crate::SignalOfQJoint)
29251    }
29252}
29253
29254impl ::cpp_core::CppDeletable for crate::SignalOfQMatrix4X4 {
29255    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref::~ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref()```</span>.
29256    #[inline(always)]
29257    unsafe fn delete(&self) {
29258        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_dctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref(self as *const crate::SignalOfQMatrix4X4 as *mut crate::SignalOfQMatrix4X4)
29259    }
29260}
29261
29262impl ::cpp_core::CppDeletable for crate::SignalOfPropertyTrackingMode {
29263    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode::~ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode()```</span>.
29264    #[inline(always)]
29265    unsafe fn delete(&self) {
29266        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_dctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode(self as *const crate::SignalOfPropertyTrackingMode as *mut crate::SignalOfPropertyTrackingMode)
29267    }
29268}
29269
29270impl ::cpp_core::CppDeletable for crate::SignalOfQEntity {
29271    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr::~ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr()```</span>.
29272    #[inline(always)]
29273    unsafe fn delete(&self) {
29274        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_dctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr(self as *const crate::SignalOfQEntity as *mut crate::SignalOfQEntity)
29275    }
29276}
29277
29278#[cfg_attr(
29279    feature = "ritual_rustdoc_nightly",
29280    doc(cfg(any(
29281        cpp_lib_version = "5.14.0",
29282        cpp_lib_version = "5.11.3",
29283        cpp_lib_version = "5.12.2",
29284        cpp_lib_version = "5.13.0"
29285    )))
29286)]
29287#[cfg(any(
29288    any(
29289        cpp_lib_version = "5.14.0",
29290        cpp_lib_version = "5.11.3",
29291        cpp_lib_version = "5.12.2",
29292        cpp_lib_version = "5.13.0"
29293    ),
29294    feature = "ritual_rustdoc"
29295))]
29296impl ::cpp_core::CppDeletable for crate::SignalOfQAbstractSkeleton {
29297    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr::~ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr()```</span>.
29298    #[inline(always)]
29299    unsafe fn delete(&self) {
29300        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_dctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr(self as *const crate::SignalOfQAbstractSkeleton as *mut crate::SignalOfQAbstractSkeleton)
29301    }
29302}
29303
29304impl ::cpp_core::CppDeletable for crate::SignalOfQVector3D {
29305    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref::~ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref()```</span>.
29306    #[inline(always)]
29307    unsafe fn delete(&self) {
29308        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_dctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref(self as *const crate::SignalOfQVector3D as *mut crate::SignalOfQVector3D)
29309    }
29310}
29311
29312impl ::cpp_core::CppDeletable for crate::SignalOfFloat {
29313    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_float::~ctr_qt_3d_core_ffi_signal_wrapper_float()```</span>.
29314    #[inline(always)]
29315    unsafe fn delete(&self) {
29316        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_float_dctr_qt_3d_core_ffi_signal_wrapper_float(self as *const crate::SignalOfFloat as *mut crate::SignalOfFloat)
29317    }
29318}
29319
29320#[cfg_attr(
29321    feature = "ritual_rustdoc_nightly",
29322    doc(cfg(any(
29323        cpp_lib_version = "5.14.0",
29324        cpp_lib_version = "5.11.3",
29325        cpp_lib_version = "5.12.2",
29326        cpp_lib_version = "5.13.0"
29327    )))
29328)]
29329#[cfg(any(
29330    any(
29331        cpp_lib_version = "5.14.0",
29332        cpp_lib_version = "5.11.3",
29333        cpp_lib_version = "5.12.2",
29334        cpp_lib_version = "5.13.0"
29335    ),
29336    feature = "ritual_rustdoc"
29337))]
29338impl ::cpp_core::CppDeletable for crate::SignalOfStatus {
29339    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status::~ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status()```</span>.
29340    #[inline(always)]
29341    unsafe fn delete(&self) {
29342        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_dctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status(self as *const crate::SignalOfStatus as *mut crate::SignalOfStatus)
29343    }
29344}
29345
29346impl ::cpp_core::CppDeletable for crate::SignalOfQQuaternion {
29347    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref::~ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref()```</span>.
29348    #[inline(always)]
29349    unsafe fn delete(&self) {
29350        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_dctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref(self as *const crate::SignalOfQQuaternion as *mut crate::SignalOfQQuaternion)
29351    }
29352}
29353
29354#[cfg_attr(
29355    feature = "ritual_rustdoc_nightly",
29356    doc(cfg(any(
29357        cpp_lib_version = "5.14.0",
29358        cpp_lib_version = "5.11.3",
29359        cpp_lib_version = "5.12.2",
29360        cpp_lib_version = "5.13.0"
29361    )))
29362)]
29363#[cfg(any(
29364    any(
29365        cpp_lib_version = "5.14.0",
29366        cpp_lib_version = "5.11.3",
29367        cpp_lib_version = "5.12.2",
29368        cpp_lib_version = "5.13.0"
29369    ),
29370    feature = "ritual_rustdoc"
29371))]
29372impl ::cpp_core::StaticDowncast<crate::SignalOfQJoint> for ::qt_core::QObject {
29373    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr*>(QObject* ptr)```</span>.
29374    #[inline(always)]
29375    unsafe fn static_downcast(
29376        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29377    ) -> ::cpp_core::Ptr<crate::SignalOfQJoint> {
29378        let ffi_result = {
29379            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29380        };
29381        ::cpp_core::Ptr::from_raw(ffi_result)
29382    }
29383}
29384
29385#[cfg_attr(
29386    feature = "ritual_rustdoc_nightly",
29387    doc(cfg(any(
29388        cpp_lib_version = "5.14.0",
29389        cpp_lib_version = "5.11.3",
29390        cpp_lib_version = "5.12.2",
29391        cpp_lib_version = "5.13.0"
29392    )))
29393)]
29394#[cfg(any(
29395    any(
29396        cpp_lib_version = "5.14.0",
29397        cpp_lib_version = "5.11.3",
29398        cpp_lib_version = "5.12.2",
29399        cpp_lib_version = "5.13.0"
29400    ),
29401    feature = "ritual_rustdoc"
29402))]
29403impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfQJoint {
29404    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr* ptr)```</span>.
29405    #[inline(always)]
29406    unsafe fn static_upcast(
29407        ptr: ::cpp_core::Ptr<crate::SignalOfQJoint>,
29408    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29409        let ffi_result = {
29410            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr18(
29411                ptr.as_raw_ptr() as *mut crate::SignalOfQJoint
29412            )
29413        };
29414        ::cpp_core::Ptr::from_raw(ffi_result)
29415    }
29416}
29417
29418#[cfg_attr(
29419    feature = "ritual_rustdoc_nightly",
29420    doc(cfg(any(
29421        cpp_lib_version = "5.14.0",
29422        cpp_lib_version = "5.11.3",
29423        cpp_lib_version = "5.12.2",
29424        cpp_lib_version = "5.13.0"
29425    )))
29426)]
29427#[cfg(any(
29428    any(
29429        cpp_lib_version = "5.14.0",
29430        cpp_lib_version = "5.11.3",
29431        cpp_lib_version = "5.12.2",
29432        cpp_lib_version = "5.13.0"
29433    ),
29434    feature = "ritual_rustdoc"
29435))]
29436impl ::std::ops::Deref for crate::SignalOfQJoint {
29437    type Target = ::qt_core::QObject;
29438    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr* ptr)```</span>.
29439    #[inline(always)]
29440    fn deref(&self) -> &::qt_core::QObject {
29441        let ffi_result = {
29442            unsafe {
29443                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr18(
29444                    self as *const crate::SignalOfQJoint as *mut crate::SignalOfQJoint,
29445                )
29446            }
29447        };
29448        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29449    }
29450}
29451
29452#[cfg_attr(
29453    feature = "ritual_rustdoc_nightly",
29454    doc(cfg(any(
29455        cpp_lib_version = "5.14.0",
29456        cpp_lib_version = "5.11.3",
29457        cpp_lib_version = "5.12.2",
29458        cpp_lib_version = "5.13.0"
29459    )))
29460)]
29461#[cfg(any(
29462    any(
29463        cpp_lib_version = "5.14.0",
29464        cpp_lib_version = "5.11.3",
29465        cpp_lib_version = "5.12.2",
29466        cpp_lib_version = "5.13.0"
29467    ),
29468    feature = "ritual_rustdoc"
29469))]
29470impl ::cpp_core::DynamicCast<crate::SignalOfQJoint> for ::qt_core::QObject {
29471    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr*>(QObject* ptr)```</span>.
29472    #[inline(always)]
29473    unsafe fn dynamic_cast(
29474        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29475    ) -> ::cpp_core::Ptr<crate::SignalOfQJoint> {
29476        let ffi_result = {
29477            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QJoint_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29478        };
29479        ::cpp_core::Ptr::from_raw(ffi_result)
29480    }
29481}
29482
29483impl ::cpp_core::StaticDowncast<crate::SignalOfQMatrix4X4> for ::qt_core::QObject {
29484    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref*>(QObject* ptr)```</span>.
29485    #[inline(always)]
29486    unsafe fn static_downcast(
29487        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29488    ) -> ::cpp_core::Ptr<crate::SignalOfQMatrix4X4> {
29489        let ffi_result = {
29490            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29491        };
29492        ::cpp_core::Ptr::from_raw(ffi_result)
29493    }
29494}
29495
29496impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfQMatrix4X4 {
29497    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref* ptr)```</span>.
29498    #[inline(always)]
29499    unsafe fn static_upcast(
29500        ptr: ::cpp_core::Ptr<crate::SignalOfQMatrix4X4>,
29501    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29502        let ffi_result = {
29503            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr20(
29504                ptr.as_raw_ptr() as *mut crate::SignalOfQMatrix4X4
29505            )
29506        };
29507        ::cpp_core::Ptr::from_raw(ffi_result)
29508    }
29509}
29510
29511impl ::std::ops::Deref for crate::SignalOfQMatrix4X4 {
29512    type Target = ::qt_core::QObject;
29513    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref* ptr)```</span>.
29514    #[inline(always)]
29515    fn deref(&self) -> &::qt_core::QObject {
29516        let ffi_result = {
29517            unsafe {
29518                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr20(
29519                    self as *const crate::SignalOfQMatrix4X4 as *mut crate::SignalOfQMatrix4X4,
29520                )
29521            }
29522        };
29523        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29524    }
29525}
29526
29527impl ::cpp_core::DynamicCast<crate::SignalOfQMatrix4X4> for ::qt_core::QObject {
29528    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref*>(QObject* ptr)```</span>.
29529    #[inline(always)]
29530    unsafe fn dynamic_cast(
29531        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29532    ) -> ::cpp_core::Ptr<crate::SignalOfQMatrix4X4> {
29533        let ffi_result = {
29534            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_QMatrix4x4_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29535        };
29536        ::cpp_core::Ptr::from_raw(ffi_result)
29537    }
29538}
29539
29540impl ::cpp_core::StaticDowncast<crate::SignalOfPropertyTrackingMode> for ::qt_core::QObject {
29541    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode*>(QObject* ptr)```</span>.
29542    #[inline(always)]
29543    unsafe fn static_downcast(
29544        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29545    ) -> ::cpp_core::Ptr<crate::SignalOfPropertyTrackingMode> {
29546        let ffi_result = {
29547            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29548        };
29549        ::cpp_core::Ptr::from_raw(ffi_result)
29550    }
29551}
29552
29553impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfPropertyTrackingMode {
29554    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode* ptr)```</span>.
29555    #[inline(always)]
29556    unsafe fn static_upcast(
29557        ptr: ::cpp_core::Ptr<crate::SignalOfPropertyTrackingMode>,
29558    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29559        let ffi_result = {
29560            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr27(
29561                ptr.as_raw_ptr() as *mut crate::SignalOfPropertyTrackingMode
29562            )
29563        };
29564        ::cpp_core::Ptr::from_raw(ffi_result)
29565    }
29566}
29567
29568impl ::std::ops::Deref for crate::SignalOfPropertyTrackingMode {
29569    type Target = ::qt_core::QObject;
29570    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode* ptr)```</span>.
29571    #[inline(always)]
29572    fn deref(&self) -> &::qt_core::QObject {
29573        let ffi_result = {
29574            unsafe {
29575                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr27(
29576                    self as *const crate::SignalOfPropertyTrackingMode
29577                        as *mut crate::SignalOfPropertyTrackingMode,
29578                )
29579            }
29580        };
29581        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29582    }
29583}
29584
29585impl ::cpp_core::DynamicCast<crate::SignalOfPropertyTrackingMode> for ::qt_core::QObject {
29586    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode*>(QObject* ptr)```</span>.
29587    #[inline(always)]
29588    unsafe fn dynamic_cast(
29589        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29590    ) -> ::cpp_core::Ptr<crate::SignalOfPropertyTrackingMode> {
29591        let ffi_result = {
29592            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QNode_PropertyTrackingMode_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29593        };
29594        ::cpp_core::Ptr::from_raw(ffi_result)
29595    }
29596}
29597
29598impl ::cpp_core::StaticDowncast<crate::SignalOfQEntity> for ::qt_core::QObject {
29599    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr*>(QObject* ptr)```</span>.
29600    #[inline(always)]
29601    unsafe fn static_downcast(
29602        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29603    ) -> ::cpp_core::Ptr<crate::SignalOfQEntity> {
29604        let ffi_result = {
29605            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29606        };
29607        ::cpp_core::Ptr::from_raw(ffi_result)
29608    }
29609}
29610
29611impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfQEntity {
29612    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr* ptr)```</span>.
29613    #[inline(always)]
29614    unsafe fn static_upcast(
29615        ptr: ::cpp_core::Ptr<crate::SignalOfQEntity>,
29616    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29617        let ffi_result = {
29618            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr29(
29619                ptr.as_raw_ptr() as *mut crate::SignalOfQEntity
29620            )
29621        };
29622        ::cpp_core::Ptr::from_raw(ffi_result)
29623    }
29624}
29625
29626impl ::std::ops::Deref for crate::SignalOfQEntity {
29627    type Target = ::qt_core::QObject;
29628    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr* ptr)```</span>.
29629    #[inline(always)]
29630    fn deref(&self) -> &::qt_core::QObject {
29631        let ffi_result = {
29632            unsafe {
29633                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr29(
29634                    self as *const crate::SignalOfQEntity as *mut crate::SignalOfQEntity,
29635                )
29636            }
29637        };
29638        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29639    }
29640}
29641
29642impl ::cpp_core::DynamicCast<crate::SignalOfQEntity> for ::qt_core::QObject {
29643    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr*>(QObject* ptr)```</span>.
29644    #[inline(always)]
29645    unsafe fn dynamic_cast(
29646        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29647    ) -> ::cpp_core::Ptr<crate::SignalOfQEntity> {
29648        let ffi_result = {
29649            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QEntity_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29650        };
29651        ::cpp_core::Ptr::from_raw(ffi_result)
29652    }
29653}
29654
29655#[cfg_attr(
29656    feature = "ritual_rustdoc_nightly",
29657    doc(cfg(any(
29658        cpp_lib_version = "5.14.0",
29659        cpp_lib_version = "5.11.3",
29660        cpp_lib_version = "5.12.2",
29661        cpp_lib_version = "5.13.0"
29662    )))
29663)]
29664#[cfg(any(
29665    any(
29666        cpp_lib_version = "5.14.0",
29667        cpp_lib_version = "5.11.3",
29668        cpp_lib_version = "5.12.2",
29669        cpp_lib_version = "5.13.0"
29670    ),
29671    feature = "ritual_rustdoc"
29672))]
29673impl ::cpp_core::StaticDowncast<crate::SignalOfQAbstractSkeleton> for ::qt_core::QObject {
29674    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr*>(QObject* ptr)```</span>.
29675    #[inline(always)]
29676    unsafe fn static_downcast(
29677        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29678    ) -> ::cpp_core::Ptr<crate::SignalOfQAbstractSkeleton> {
29679        let ffi_result = {
29680            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29681        };
29682        ::cpp_core::Ptr::from_raw(ffi_result)
29683    }
29684}
29685
29686#[cfg_attr(
29687    feature = "ritual_rustdoc_nightly",
29688    doc(cfg(any(
29689        cpp_lib_version = "5.14.0",
29690        cpp_lib_version = "5.11.3",
29691        cpp_lib_version = "5.12.2",
29692        cpp_lib_version = "5.13.0"
29693    )))
29694)]
29695#[cfg(any(
29696    any(
29697        cpp_lib_version = "5.14.0",
29698        cpp_lib_version = "5.11.3",
29699        cpp_lib_version = "5.12.2",
29700        cpp_lib_version = "5.13.0"
29701    ),
29702    feature = "ritual_rustdoc"
29703))]
29704impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfQAbstractSkeleton {
29705    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr* ptr)```</span>.
29706    #[inline(always)]
29707    unsafe fn static_upcast(
29708        ptr: ::cpp_core::Ptr<crate::SignalOfQAbstractSkeleton>,
29709    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29710        let ffi_result = {
29711            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr31(
29712                ptr.as_raw_ptr() as *mut crate::SignalOfQAbstractSkeleton
29713            )
29714        };
29715        ::cpp_core::Ptr::from_raw(ffi_result)
29716    }
29717}
29718
29719#[cfg_attr(
29720    feature = "ritual_rustdoc_nightly",
29721    doc(cfg(any(
29722        cpp_lib_version = "5.14.0",
29723        cpp_lib_version = "5.11.3",
29724        cpp_lib_version = "5.12.2",
29725        cpp_lib_version = "5.13.0"
29726    )))
29727)]
29728#[cfg(any(
29729    any(
29730        cpp_lib_version = "5.14.0",
29731        cpp_lib_version = "5.11.3",
29732        cpp_lib_version = "5.12.2",
29733        cpp_lib_version = "5.13.0"
29734    ),
29735    feature = "ritual_rustdoc"
29736))]
29737impl ::std::ops::Deref for crate::SignalOfQAbstractSkeleton {
29738    type Target = ::qt_core::QObject;
29739    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr* ptr)```</span>.
29740    #[inline(always)]
29741    fn deref(&self) -> &::qt_core::QObject {
29742        let ffi_result = {
29743            unsafe {
29744                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr31(
29745                    self as *const crate::SignalOfQAbstractSkeleton
29746                        as *mut crate::SignalOfQAbstractSkeleton,
29747                )
29748            }
29749        };
29750        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29751    }
29752}
29753
29754#[cfg_attr(
29755    feature = "ritual_rustdoc_nightly",
29756    doc(cfg(any(
29757        cpp_lib_version = "5.14.0",
29758        cpp_lib_version = "5.11.3",
29759        cpp_lib_version = "5.12.2",
29760        cpp_lib_version = "5.13.0"
29761    )))
29762)]
29763#[cfg(any(
29764    any(
29765        cpp_lib_version = "5.14.0",
29766        cpp_lib_version = "5.11.3",
29767        cpp_lib_version = "5.12.2",
29768        cpp_lib_version = "5.13.0"
29769    ),
29770    feature = "ritual_rustdoc"
29771))]
29772impl ::cpp_core::DynamicCast<crate::SignalOfQAbstractSkeleton> for ::qt_core::QObject {
29773    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr*>(QObject* ptr)```</span>.
29774    #[inline(always)]
29775    unsafe fn dynamic_cast(
29776        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29777    ) -> ::cpp_core::Ptr<crate::SignalOfQAbstractSkeleton> {
29778        let ffi_result = {
29779            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QAbstractSkeleton_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29780        };
29781        ::cpp_core::Ptr::from_raw(ffi_result)
29782    }
29783}
29784
29785impl ::cpp_core::StaticDowncast<crate::SignalOfQVector3D> for ::qt_core::QObject {
29786    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref*>(QObject* ptr)```</span>.
29787    #[inline(always)]
29788    unsafe fn static_downcast(
29789        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29790    ) -> ::cpp_core::Ptr<crate::SignalOfQVector3D> {
29791        let ffi_result = {
29792            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29793        };
29794        ::cpp_core::Ptr::from_raw(ffi_result)
29795    }
29796}
29797
29798impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfQVector3D {
29799    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref* ptr)```</span>.
29800    #[inline(always)]
29801    unsafe fn static_upcast(
29802        ptr: ::cpp_core::Ptr<crate::SignalOfQVector3D>,
29803    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29804        let ffi_result = {
29805            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr33(
29806                ptr.as_raw_ptr() as *mut crate::SignalOfQVector3D
29807            )
29808        };
29809        ::cpp_core::Ptr::from_raw(ffi_result)
29810    }
29811}
29812
29813impl ::std::ops::Deref for crate::SignalOfQVector3D {
29814    type Target = ::qt_core::QObject;
29815    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref* ptr)```</span>.
29816    #[inline(always)]
29817    fn deref(&self) -> &::qt_core::QObject {
29818        let ffi_result = {
29819            unsafe {
29820                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr33(
29821                    self as *const crate::SignalOfQVector3D as *mut crate::SignalOfQVector3D,
29822                )
29823            }
29824        };
29825        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29826    }
29827}
29828
29829impl ::cpp_core::DynamicCast<crate::SignalOfQVector3D> for ::qt_core::QObject {
29830    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref*>(QObject* ptr)```</span>.
29831    #[inline(always)]
29832    unsafe fn dynamic_cast(
29833        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29834    ) -> ::cpp_core::Ptr<crate::SignalOfQVector3D> {
29835        let ffi_result = {
29836            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_QVector3D_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29837        };
29838        ::cpp_core::Ptr::from_raw(ffi_result)
29839    }
29840}
29841
29842impl ::cpp_core::StaticDowncast<crate::SignalOfFloat> for ::qt_core::QObject {
29843    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_float* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_float*>(QObject* ptr)```</span>.
29844    #[inline(always)]
29845    unsafe fn static_downcast(
29846        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29847    ) -> ::cpp_core::Ptr<crate::SignalOfFloat> {
29848        let ffi_result = {
29849            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_float_ptr(
29850                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
29851            )
29852        };
29853        ::cpp_core::Ptr::from_raw(ffi_result)
29854    }
29855}
29856
29857impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfFloat {
29858    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_float* ptr)```</span>.
29859    #[inline(always)]
29860    unsafe fn static_upcast(
29861        ptr: ::cpp_core::Ptr<crate::SignalOfFloat>,
29862    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29863        let ffi_result = {
29864            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr35(
29865                ptr.as_raw_ptr() as *mut crate::SignalOfFloat
29866            )
29867        };
29868        ::cpp_core::Ptr::from_raw(ffi_result)
29869    }
29870}
29871
29872impl ::std::ops::Deref for crate::SignalOfFloat {
29873    type Target = ::qt_core::QObject;
29874    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_float* ptr)```</span>.
29875    #[inline(always)]
29876    fn deref(&self) -> &::qt_core::QObject {
29877        let ffi_result = {
29878            unsafe {
29879                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr35(
29880                    self as *const crate::SignalOfFloat as *mut crate::SignalOfFloat,
29881                )
29882            }
29883        };
29884        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29885    }
29886}
29887
29888impl ::cpp_core::DynamicCast<crate::SignalOfFloat> for ::qt_core::QObject {
29889    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_float* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_float*>(QObject* ptr)```</span>.
29890    #[inline(always)]
29891    unsafe fn dynamic_cast(
29892        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29893    ) -> ::cpp_core::Ptr<crate::SignalOfFloat> {
29894        let ffi_result = {
29895            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_float_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29896        };
29897        ::cpp_core::Ptr::from_raw(ffi_result)
29898    }
29899}
29900
29901#[cfg_attr(
29902    feature = "ritual_rustdoc_nightly",
29903    doc(cfg(any(
29904        cpp_lib_version = "5.14.0",
29905        cpp_lib_version = "5.11.3",
29906        cpp_lib_version = "5.12.2",
29907        cpp_lib_version = "5.13.0"
29908    )))
29909)]
29910#[cfg(any(
29911    any(
29912        cpp_lib_version = "5.14.0",
29913        cpp_lib_version = "5.11.3",
29914        cpp_lib_version = "5.12.2",
29915        cpp_lib_version = "5.13.0"
29916    ),
29917    feature = "ritual_rustdoc"
29918))]
29919impl ::cpp_core::StaticDowncast<crate::SignalOfStatus> for ::qt_core::QObject {
29920    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status*>(QObject* ptr)```</span>.
29921    #[inline(always)]
29922    unsafe fn static_downcast(
29923        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
29924    ) -> ::cpp_core::Ptr<crate::SignalOfStatus> {
29925        let ffi_result = {
29926            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
29927        };
29928        ::cpp_core::Ptr::from_raw(ffi_result)
29929    }
29930}
29931
29932#[cfg_attr(
29933    feature = "ritual_rustdoc_nightly",
29934    doc(cfg(any(
29935        cpp_lib_version = "5.14.0",
29936        cpp_lib_version = "5.11.3",
29937        cpp_lib_version = "5.12.2",
29938        cpp_lib_version = "5.13.0"
29939    )))
29940)]
29941#[cfg(any(
29942    any(
29943        cpp_lib_version = "5.14.0",
29944        cpp_lib_version = "5.11.3",
29945        cpp_lib_version = "5.12.2",
29946        cpp_lib_version = "5.13.0"
29947    ),
29948    feature = "ritual_rustdoc"
29949))]
29950impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfStatus {
29951    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status* ptr)```</span>.
29952    #[inline(always)]
29953    unsafe fn static_upcast(
29954        ptr: ::cpp_core::Ptr<crate::SignalOfStatus>,
29955    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
29956        let ffi_result = {
29957            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr37(
29958                ptr.as_raw_ptr() as *mut crate::SignalOfStatus
29959            )
29960        };
29961        ::cpp_core::Ptr::from_raw(ffi_result)
29962    }
29963}
29964
29965#[cfg_attr(
29966    feature = "ritual_rustdoc_nightly",
29967    doc(cfg(any(
29968        cpp_lib_version = "5.14.0",
29969        cpp_lib_version = "5.11.3",
29970        cpp_lib_version = "5.12.2",
29971        cpp_lib_version = "5.13.0"
29972    )))
29973)]
29974#[cfg(any(
29975    any(
29976        cpp_lib_version = "5.14.0",
29977        cpp_lib_version = "5.11.3",
29978        cpp_lib_version = "5.12.2",
29979        cpp_lib_version = "5.13.0"
29980    ),
29981    feature = "ritual_rustdoc"
29982))]
29983impl ::std::ops::Deref for crate::SignalOfStatus {
29984    type Target = ::qt_core::QObject;
29985    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status* ptr)```</span>.
29986    #[inline(always)]
29987    fn deref(&self) -> &::qt_core::QObject {
29988        let ffi_result = {
29989            unsafe {
29990                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr37(
29991                    self as *const crate::SignalOfStatus as *mut crate::SignalOfStatus,
29992                )
29993            }
29994        };
29995        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
29996    }
29997}
29998
29999#[cfg_attr(
30000    feature = "ritual_rustdoc_nightly",
30001    doc(cfg(any(
30002        cpp_lib_version = "5.14.0",
30003        cpp_lib_version = "5.11.3",
30004        cpp_lib_version = "5.12.2",
30005        cpp_lib_version = "5.13.0"
30006    )))
30007)]
30008#[cfg(any(
30009    any(
30010        cpp_lib_version = "5.14.0",
30011        cpp_lib_version = "5.11.3",
30012        cpp_lib_version = "5.12.2",
30013        cpp_lib_version = "5.13.0"
30014    ),
30015    feature = "ritual_rustdoc"
30016))]
30017impl ::cpp_core::DynamicCast<crate::SignalOfStatus> for ::qt_core::QObject {
30018    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status*>(QObject* ptr)```</span>.
30019    #[inline(always)]
30020    unsafe fn dynamic_cast(
30021        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30022    ) -> ::cpp_core::Ptr<crate::SignalOfStatus> {
30023        let ffi_result = {
30024            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_Qt3DCore_QSkeletonLoader_Status_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30025        };
30026        ::cpp_core::Ptr::from_raw(ffi_result)
30027    }
30028}
30029
30030impl ::cpp_core::StaticDowncast<crate::SignalOfQQuaternion> for ::qt_core::QObject {
30031    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref* static_cast<ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref*>(QObject* ptr)```</span>.
30032    #[inline(always)]
30033    unsafe fn static_downcast(
30034        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30035    ) -> ::cpp_core::Ptr<crate::SignalOfQQuaternion> {
30036        let ffi_result = {
30037            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30038        };
30039        ::cpp_core::Ptr::from_raw(ffi_result)
30040    }
30041}
30042
30043impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SignalOfQQuaternion {
30044    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref* ptr)```</span>.
30045    #[inline(always)]
30046    unsafe fn static_upcast(
30047        ptr: ::cpp_core::Ptr<crate::SignalOfQQuaternion>,
30048    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30049        let ffi_result = {
30050            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr39(
30051                ptr.as_raw_ptr() as *mut crate::SignalOfQQuaternion
30052            )
30053        };
30054        ::cpp_core::Ptr::from_raw(ffi_result)
30055    }
30056}
30057
30058impl ::std::ops::Deref for crate::SignalOfQQuaternion {
30059    type Target = ::qt_core::QObject;
30060    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref* ptr)```</span>.
30061    #[inline(always)]
30062    fn deref(&self) -> &::qt_core::QObject {
30063        let ffi_result = {
30064            unsafe {
30065                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr39(
30066                    self as *const crate::SignalOfQQuaternion as *mut crate::SignalOfQQuaternion,
30067                )
30068            }
30069        };
30070        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30071    }
30072}
30073
30074impl ::cpp_core::DynamicCast<crate::SignalOfQQuaternion> for ::qt_core::QObject {
30075    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref* dynamic_cast<ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref*>(QObject* ptr)```</span>.
30076    #[inline(always)]
30077    unsafe fn dynamic_cast(
30078        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30079    ) -> ::cpp_core::Ptr<crate::SignalOfQQuaternion> {
30080        let ffi_result = {
30081            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_signal_wrapper_QQuaternion_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30082        };
30083        ::cpp_core::Ptr::from_raw(ffi_result)
30084    }
30085}
30086
30087#[cfg_attr(
30088    feature = "ritual_rustdoc_nightly",
30089    doc(cfg(any(
30090        cpp_lib_version = "5.14.0",
30091        cpp_lib_version = "5.11.3",
30092        cpp_lib_version = "5.12.2",
30093        cpp_lib_version = "5.13.0"
30094    )))
30095)]
30096#[cfg(any(
30097    any(
30098        cpp_lib_version = "5.14.0",
30099        cpp_lib_version = "5.11.3",
30100        cpp_lib_version = "5.12.2",
30101        cpp_lib_version = "5.13.0"
30102    ),
30103    feature = "ritual_rustdoc"
30104))]
30105impl ::cpp_core::CppDeletable for crate::SlotOfStatus {
30106    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status::~ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status()```</span>.
30107    #[inline(always)]
30108    unsafe fn delete(&self) {
30109        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_dctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status(self as *const crate::SlotOfStatus as *mut crate::SlotOfStatus)
30110    }
30111}
30112
30113#[cfg_attr(
30114    feature = "ritual_rustdoc_nightly",
30115    doc(cfg(any(
30116        cpp_lib_version = "5.14.0",
30117        cpp_lib_version = "5.11.3",
30118        cpp_lib_version = "5.12.2",
30119        cpp_lib_version = "5.13.0"
30120    )))
30121)]
30122#[cfg(any(
30123    any(
30124        cpp_lib_version = "5.14.0",
30125        cpp_lib_version = "5.11.3",
30126        cpp_lib_version = "5.12.2",
30127        cpp_lib_version = "5.13.0"
30128    ),
30129    feature = "ritual_rustdoc"
30130))]
30131impl ::cpp_core::CppDeletable for crate::SlotOfQAbstractSkeleton {
30132    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr::~ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr()```</span>.
30133    #[inline(always)]
30134    unsafe fn delete(&self) {
30135        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_dctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr(self as *const crate::SlotOfQAbstractSkeleton as *mut crate::SlotOfQAbstractSkeleton)
30136    }
30137}
30138
30139impl ::cpp_core::CppDeletable for crate::SlotOfPropertyTrackingMode {
30140    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode::~ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode()```</span>.
30141    #[inline(always)]
30142    unsafe fn delete(&self) {
30143        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_dctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode(self as *const crate::SlotOfPropertyTrackingMode as *mut crate::SlotOfPropertyTrackingMode)
30144    }
30145}
30146
30147impl ::cpp_core::CppDeletable for crate::SlotOfQQuaternion {
30148    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref::~ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref()```</span>.
30149    #[inline(always)]
30150    unsafe fn delete(&self) {
30151        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_dctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref(self as *const crate::SlotOfQQuaternion as *mut crate::SlotOfQQuaternion)
30152    }
30153}
30154
30155impl ::cpp_core::CppDeletable for crate::SlotOfQEntity {
30156    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr::~ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr()```</span>.
30157    #[inline(always)]
30158    unsafe fn delete(&self) {
30159        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_dctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr(self as *const crate::SlotOfQEntity as *mut crate::SlotOfQEntity)
30160    }
30161}
30162
30163impl ::cpp_core::CppDeletable for crate::SlotOfQMatrix4X4 {
30164    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref::~ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref()```</span>.
30165    #[inline(always)]
30166    unsafe fn delete(&self) {
30167        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_dctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref(self as *const crate::SlotOfQMatrix4X4 as *mut crate::SlotOfQMatrix4X4)
30168    }
30169}
30170
30171#[cfg_attr(
30172    feature = "ritual_rustdoc_nightly",
30173    doc(cfg(any(
30174        cpp_lib_version = "5.14.0",
30175        cpp_lib_version = "5.11.3",
30176        cpp_lib_version = "5.12.2",
30177        cpp_lib_version = "5.13.0"
30178    )))
30179)]
30180#[cfg(any(
30181    any(
30182        cpp_lib_version = "5.14.0",
30183        cpp_lib_version = "5.11.3",
30184        cpp_lib_version = "5.12.2",
30185        cpp_lib_version = "5.13.0"
30186    ),
30187    feature = "ritual_rustdoc"
30188))]
30189impl ::cpp_core::CppDeletable for crate::SlotOfQJoint {
30190    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr::~ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr()```</span>.
30191    #[inline(always)]
30192    unsafe fn delete(&self) {
30193        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_dctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr(self as *const crate::SlotOfQJoint as *mut crate::SlotOfQJoint)
30194    }
30195}
30196
30197impl ::cpp_core::CppDeletable for crate::SlotOfFloat {
30198    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_float::~ctr_qt_3d_core_ffi_slot_wrapper_float()```</span>.
30199    #[inline(always)]
30200    unsafe fn delete(&self) {
30201        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_float_dctr_qt_3d_core_ffi_slot_wrapper_float(self as *const crate::SlotOfFloat as *mut crate::SlotOfFloat)
30202    }
30203}
30204
30205impl ::cpp_core::CppDeletable for crate::SlotOfQVector3D {
30206    /// Calls C++ function: <span style='color: green;'>```[destructor] void ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref::~ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref()```</span>.
30207    #[inline(always)]
30208    unsafe fn delete(&self) {
30209        crate::__ffi::ctr_qt_3d_core_ffi_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_dctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref(self as *const crate::SlotOfQVector3D as *mut crate::SlotOfQVector3D)
30210    }
30211}
30212
30213#[cfg_attr(
30214    feature = "ritual_rustdoc_nightly",
30215    doc(cfg(any(
30216        cpp_lib_version = "5.14.0",
30217        cpp_lib_version = "5.11.3",
30218        cpp_lib_version = "5.12.2",
30219        cpp_lib_version = "5.13.0"
30220    )))
30221)]
30222#[cfg(any(
30223    any(
30224        cpp_lib_version = "5.14.0",
30225        cpp_lib_version = "5.11.3",
30226        cpp_lib_version = "5.12.2",
30227        cpp_lib_version = "5.13.0"
30228    ),
30229    feature = "ritual_rustdoc"
30230))]
30231impl ::cpp_core::StaticDowncast<crate::SlotOfStatus> for ::qt_core::QObject {
30232    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status*>(QObject* ptr)```</span>.
30233    #[inline(always)]
30234    unsafe fn static_downcast(
30235        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30236    ) -> ::cpp_core::Ptr<crate::SlotOfStatus> {
30237        let ffi_result = {
30238            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30239        };
30240        ::cpp_core::Ptr::from_raw(ffi_result)
30241    }
30242}
30243
30244#[cfg_attr(
30245    feature = "ritual_rustdoc_nightly",
30246    doc(cfg(any(
30247        cpp_lib_version = "5.14.0",
30248        cpp_lib_version = "5.11.3",
30249        cpp_lib_version = "5.12.2",
30250        cpp_lib_version = "5.13.0"
30251    )))
30252)]
30253#[cfg(any(
30254    any(
30255        cpp_lib_version = "5.14.0",
30256        cpp_lib_version = "5.11.3",
30257        cpp_lib_version = "5.12.2",
30258        cpp_lib_version = "5.13.0"
30259    ),
30260    feature = "ritual_rustdoc"
30261))]
30262impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfStatus {
30263    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status* ptr)```</span>.
30264    #[inline(always)]
30265    unsafe fn static_upcast(
30266        ptr: ::cpp_core::Ptr<crate::SlotOfStatus>,
30267    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30268        let ffi_result = {
30269            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr40(
30270                ptr.as_raw_ptr() as *mut crate::SlotOfStatus
30271            )
30272        };
30273        ::cpp_core::Ptr::from_raw(ffi_result)
30274    }
30275}
30276
30277#[cfg_attr(
30278    feature = "ritual_rustdoc_nightly",
30279    doc(cfg(any(
30280        cpp_lib_version = "5.14.0",
30281        cpp_lib_version = "5.11.3",
30282        cpp_lib_version = "5.12.2",
30283        cpp_lib_version = "5.13.0"
30284    )))
30285)]
30286#[cfg(any(
30287    any(
30288        cpp_lib_version = "5.14.0",
30289        cpp_lib_version = "5.11.3",
30290        cpp_lib_version = "5.12.2",
30291        cpp_lib_version = "5.13.0"
30292    ),
30293    feature = "ritual_rustdoc"
30294))]
30295impl ::std::ops::Deref for crate::SlotOfStatus {
30296    type Target = ::qt_core::QObject;
30297    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status* ptr)```</span>.
30298    #[inline(always)]
30299    fn deref(&self) -> &::qt_core::QObject {
30300        let ffi_result = {
30301            unsafe {
30302                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr40(
30303                    self as *const crate::SlotOfStatus as *mut crate::SlotOfStatus,
30304                )
30305            }
30306        };
30307        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30308    }
30309}
30310
30311#[cfg_attr(
30312    feature = "ritual_rustdoc_nightly",
30313    doc(cfg(any(
30314        cpp_lib_version = "5.14.0",
30315        cpp_lib_version = "5.11.3",
30316        cpp_lib_version = "5.12.2",
30317        cpp_lib_version = "5.13.0"
30318    )))
30319)]
30320#[cfg(any(
30321    any(
30322        cpp_lib_version = "5.14.0",
30323        cpp_lib_version = "5.11.3",
30324        cpp_lib_version = "5.12.2",
30325        cpp_lib_version = "5.13.0"
30326    ),
30327    feature = "ritual_rustdoc"
30328))]
30329impl ::cpp_core::DynamicCast<crate::SlotOfStatus> for ::qt_core::QObject {
30330    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status*>(QObject* ptr)```</span>.
30331    #[inline(always)]
30332    unsafe fn dynamic_cast(
30333        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30334    ) -> ::cpp_core::Ptr<crate::SlotOfStatus> {
30335        let ffi_result = {
30336            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QSkeletonLoader_Status_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30337        };
30338        ::cpp_core::Ptr::from_raw(ffi_result)
30339    }
30340}
30341
30342#[cfg_attr(
30343    feature = "ritual_rustdoc_nightly",
30344    doc(cfg(any(
30345        cpp_lib_version = "5.14.0",
30346        cpp_lib_version = "5.11.3",
30347        cpp_lib_version = "5.12.2",
30348        cpp_lib_version = "5.13.0"
30349    )))
30350)]
30351#[cfg(any(
30352    any(
30353        cpp_lib_version = "5.14.0",
30354        cpp_lib_version = "5.11.3",
30355        cpp_lib_version = "5.12.2",
30356        cpp_lib_version = "5.13.0"
30357    ),
30358    feature = "ritual_rustdoc"
30359))]
30360impl ::cpp_core::StaticDowncast<crate::SlotOfQAbstractSkeleton> for ::qt_core::QObject {
30361    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr*>(QObject* ptr)```</span>.
30362    #[inline(always)]
30363    unsafe fn static_downcast(
30364        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30365    ) -> ::cpp_core::Ptr<crate::SlotOfQAbstractSkeleton> {
30366        let ffi_result = {
30367            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30368        };
30369        ::cpp_core::Ptr::from_raw(ffi_result)
30370    }
30371}
30372
30373#[cfg_attr(
30374    feature = "ritual_rustdoc_nightly",
30375    doc(cfg(any(
30376        cpp_lib_version = "5.14.0",
30377        cpp_lib_version = "5.11.3",
30378        cpp_lib_version = "5.12.2",
30379        cpp_lib_version = "5.13.0"
30380    )))
30381)]
30382#[cfg(any(
30383    any(
30384        cpp_lib_version = "5.14.0",
30385        cpp_lib_version = "5.11.3",
30386        cpp_lib_version = "5.12.2",
30387        cpp_lib_version = "5.13.0"
30388    ),
30389    feature = "ritual_rustdoc"
30390))]
30391impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfQAbstractSkeleton {
30392    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr* ptr)```</span>.
30393    #[inline(always)]
30394    unsafe fn static_upcast(
30395        ptr: ::cpp_core::Ptr<crate::SlotOfQAbstractSkeleton>,
30396    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30397        let ffi_result = {
30398            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr41(
30399                ptr.as_raw_ptr() as *mut crate::SlotOfQAbstractSkeleton
30400            )
30401        };
30402        ::cpp_core::Ptr::from_raw(ffi_result)
30403    }
30404}
30405
30406#[cfg_attr(
30407    feature = "ritual_rustdoc_nightly",
30408    doc(cfg(any(
30409        cpp_lib_version = "5.14.0",
30410        cpp_lib_version = "5.11.3",
30411        cpp_lib_version = "5.12.2",
30412        cpp_lib_version = "5.13.0"
30413    )))
30414)]
30415#[cfg(any(
30416    any(
30417        cpp_lib_version = "5.14.0",
30418        cpp_lib_version = "5.11.3",
30419        cpp_lib_version = "5.12.2",
30420        cpp_lib_version = "5.13.0"
30421    ),
30422    feature = "ritual_rustdoc"
30423))]
30424impl ::std::ops::Deref for crate::SlotOfQAbstractSkeleton {
30425    type Target = ::qt_core::QObject;
30426    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr* ptr)```</span>.
30427    #[inline(always)]
30428    fn deref(&self) -> &::qt_core::QObject {
30429        let ffi_result = {
30430            unsafe {
30431                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr41(
30432                    self as *const crate::SlotOfQAbstractSkeleton
30433                        as *mut crate::SlotOfQAbstractSkeleton,
30434                )
30435            }
30436        };
30437        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30438    }
30439}
30440
30441#[cfg_attr(
30442    feature = "ritual_rustdoc_nightly",
30443    doc(cfg(any(
30444        cpp_lib_version = "5.14.0",
30445        cpp_lib_version = "5.11.3",
30446        cpp_lib_version = "5.12.2",
30447        cpp_lib_version = "5.13.0"
30448    )))
30449)]
30450#[cfg(any(
30451    any(
30452        cpp_lib_version = "5.14.0",
30453        cpp_lib_version = "5.11.3",
30454        cpp_lib_version = "5.12.2",
30455        cpp_lib_version = "5.13.0"
30456    ),
30457    feature = "ritual_rustdoc"
30458))]
30459impl ::cpp_core::DynamicCast<crate::SlotOfQAbstractSkeleton> for ::qt_core::QObject {
30460    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr*>(QObject* ptr)```</span>.
30461    #[inline(always)]
30462    unsafe fn dynamic_cast(
30463        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30464    ) -> ::cpp_core::Ptr<crate::SlotOfQAbstractSkeleton> {
30465        let ffi_result = {
30466            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QAbstractSkeleton_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30467        };
30468        ::cpp_core::Ptr::from_raw(ffi_result)
30469    }
30470}
30471
30472impl ::cpp_core::StaticDowncast<crate::SlotOfPropertyTrackingMode> for ::qt_core::QObject {
30473    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode*>(QObject* ptr)```</span>.
30474    #[inline(always)]
30475    unsafe fn static_downcast(
30476        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30477    ) -> ::cpp_core::Ptr<crate::SlotOfPropertyTrackingMode> {
30478        let ffi_result = {
30479            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30480        };
30481        ::cpp_core::Ptr::from_raw(ffi_result)
30482    }
30483}
30484
30485impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfPropertyTrackingMode {
30486    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode* ptr)```</span>.
30487    #[inline(always)]
30488    unsafe fn static_upcast(
30489        ptr: ::cpp_core::Ptr<crate::SlotOfPropertyTrackingMode>,
30490    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30491        let ffi_result = {
30492            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr42(
30493                ptr.as_raw_ptr() as *mut crate::SlotOfPropertyTrackingMode
30494            )
30495        };
30496        ::cpp_core::Ptr::from_raw(ffi_result)
30497    }
30498}
30499
30500impl ::std::ops::Deref for crate::SlotOfPropertyTrackingMode {
30501    type Target = ::qt_core::QObject;
30502    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode* ptr)```</span>.
30503    #[inline(always)]
30504    fn deref(&self) -> &::qt_core::QObject {
30505        let ffi_result = {
30506            unsafe {
30507                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr42(
30508                    self as *const crate::SlotOfPropertyTrackingMode
30509                        as *mut crate::SlotOfPropertyTrackingMode,
30510                )
30511            }
30512        };
30513        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30514    }
30515}
30516
30517impl ::cpp_core::DynamicCast<crate::SlotOfPropertyTrackingMode> for ::qt_core::QObject {
30518    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode*>(QObject* ptr)```</span>.
30519    #[inline(always)]
30520    unsafe fn dynamic_cast(
30521        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30522    ) -> ::cpp_core::Ptr<crate::SlotOfPropertyTrackingMode> {
30523        let ffi_result = {
30524            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QNode_PropertyTrackingMode_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30525        };
30526        ::cpp_core::Ptr::from_raw(ffi_result)
30527    }
30528}
30529
30530impl ::cpp_core::StaticDowncast<crate::SlotOfQQuaternion> for ::qt_core::QObject {
30531    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref*>(QObject* ptr)```</span>.
30532    #[inline(always)]
30533    unsafe fn static_downcast(
30534        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30535    ) -> ::cpp_core::Ptr<crate::SlotOfQQuaternion> {
30536        let ffi_result = {
30537            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30538        };
30539        ::cpp_core::Ptr::from_raw(ffi_result)
30540    }
30541}
30542
30543impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfQQuaternion {
30544    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref* ptr)```</span>.
30545    #[inline(always)]
30546    unsafe fn static_upcast(
30547        ptr: ::cpp_core::Ptr<crate::SlotOfQQuaternion>,
30548    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30549        let ffi_result = {
30550            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr43(
30551                ptr.as_raw_ptr() as *mut crate::SlotOfQQuaternion
30552            )
30553        };
30554        ::cpp_core::Ptr::from_raw(ffi_result)
30555    }
30556}
30557
30558impl ::std::ops::Deref for crate::SlotOfQQuaternion {
30559    type Target = ::qt_core::QObject;
30560    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref* ptr)```</span>.
30561    #[inline(always)]
30562    fn deref(&self) -> &::qt_core::QObject {
30563        let ffi_result = {
30564            unsafe {
30565                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr43(
30566                    self as *const crate::SlotOfQQuaternion as *mut crate::SlotOfQQuaternion,
30567                )
30568            }
30569        };
30570        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30571    }
30572}
30573
30574impl ::cpp_core::DynamicCast<crate::SlotOfQQuaternion> for ::qt_core::QObject {
30575    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref*>(QObject* ptr)```</span>.
30576    #[inline(always)]
30577    unsafe fn dynamic_cast(
30578        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30579    ) -> ::cpp_core::Ptr<crate::SlotOfQQuaternion> {
30580        let ffi_result = {
30581            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_QQuaternion_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30582        };
30583        ::cpp_core::Ptr::from_raw(ffi_result)
30584    }
30585}
30586
30587impl ::cpp_core::StaticDowncast<crate::SlotOfQEntity> for ::qt_core::QObject {
30588    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr*>(QObject* ptr)```</span>.
30589    #[inline(always)]
30590    unsafe fn static_downcast(
30591        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30592    ) -> ::cpp_core::Ptr<crate::SlotOfQEntity> {
30593        let ffi_result = {
30594            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30595        };
30596        ::cpp_core::Ptr::from_raw(ffi_result)
30597    }
30598}
30599
30600impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfQEntity {
30601    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr* ptr)```</span>.
30602    #[inline(always)]
30603    unsafe fn static_upcast(
30604        ptr: ::cpp_core::Ptr<crate::SlotOfQEntity>,
30605    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30606        let ffi_result = {
30607            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr44(
30608                ptr.as_raw_ptr() as *mut crate::SlotOfQEntity
30609            )
30610        };
30611        ::cpp_core::Ptr::from_raw(ffi_result)
30612    }
30613}
30614
30615impl ::std::ops::Deref for crate::SlotOfQEntity {
30616    type Target = ::qt_core::QObject;
30617    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr* ptr)```</span>.
30618    #[inline(always)]
30619    fn deref(&self) -> &::qt_core::QObject {
30620        let ffi_result = {
30621            unsafe {
30622                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr44(
30623                    self as *const crate::SlotOfQEntity as *mut crate::SlotOfQEntity,
30624                )
30625            }
30626        };
30627        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30628    }
30629}
30630
30631impl ::cpp_core::DynamicCast<crate::SlotOfQEntity> for ::qt_core::QObject {
30632    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr*>(QObject* ptr)```</span>.
30633    #[inline(always)]
30634    unsafe fn dynamic_cast(
30635        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30636    ) -> ::cpp_core::Ptr<crate::SlotOfQEntity> {
30637        let ffi_result = {
30638            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QEntity_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30639        };
30640        ::cpp_core::Ptr::from_raw(ffi_result)
30641    }
30642}
30643
30644impl ::cpp_core::StaticDowncast<crate::SlotOfQMatrix4X4> for ::qt_core::QObject {
30645    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref*>(QObject* ptr)```</span>.
30646    #[inline(always)]
30647    unsafe fn static_downcast(
30648        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30649    ) -> ::cpp_core::Ptr<crate::SlotOfQMatrix4X4> {
30650        let ffi_result = {
30651            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30652        };
30653        ::cpp_core::Ptr::from_raw(ffi_result)
30654    }
30655}
30656
30657impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfQMatrix4X4 {
30658    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref* ptr)```</span>.
30659    #[inline(always)]
30660    unsafe fn static_upcast(
30661        ptr: ::cpp_core::Ptr<crate::SlotOfQMatrix4X4>,
30662    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30663        let ffi_result = {
30664            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr45(
30665                ptr.as_raw_ptr() as *mut crate::SlotOfQMatrix4X4
30666            )
30667        };
30668        ::cpp_core::Ptr::from_raw(ffi_result)
30669    }
30670}
30671
30672impl ::std::ops::Deref for crate::SlotOfQMatrix4X4 {
30673    type Target = ::qt_core::QObject;
30674    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref* ptr)```</span>.
30675    #[inline(always)]
30676    fn deref(&self) -> &::qt_core::QObject {
30677        let ffi_result = {
30678            unsafe {
30679                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr45(
30680                    self as *const crate::SlotOfQMatrix4X4 as *mut crate::SlotOfQMatrix4X4,
30681                )
30682            }
30683        };
30684        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30685    }
30686}
30687
30688impl ::cpp_core::DynamicCast<crate::SlotOfQMatrix4X4> for ::qt_core::QObject {
30689    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref*>(QObject* ptr)```</span>.
30690    #[inline(always)]
30691    unsafe fn dynamic_cast(
30692        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30693    ) -> ::cpp_core::Ptr<crate::SlotOfQMatrix4X4> {
30694        let ffi_result = {
30695            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_QMatrix4x4_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30696        };
30697        ::cpp_core::Ptr::from_raw(ffi_result)
30698    }
30699}
30700
30701#[cfg_attr(
30702    feature = "ritual_rustdoc_nightly",
30703    doc(cfg(any(
30704        cpp_lib_version = "5.14.0",
30705        cpp_lib_version = "5.11.3",
30706        cpp_lib_version = "5.12.2",
30707        cpp_lib_version = "5.13.0"
30708    )))
30709)]
30710#[cfg(any(
30711    any(
30712        cpp_lib_version = "5.14.0",
30713        cpp_lib_version = "5.11.3",
30714        cpp_lib_version = "5.12.2",
30715        cpp_lib_version = "5.13.0"
30716    ),
30717    feature = "ritual_rustdoc"
30718))]
30719impl ::cpp_core::StaticDowncast<crate::SlotOfQJoint> for ::qt_core::QObject {
30720    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr*>(QObject* ptr)```</span>.
30721    #[inline(always)]
30722    unsafe fn static_downcast(
30723        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30724    ) -> ::cpp_core::Ptr<crate::SlotOfQJoint> {
30725        let ffi_result = {
30726            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30727        };
30728        ::cpp_core::Ptr::from_raw(ffi_result)
30729    }
30730}
30731
30732#[cfg_attr(
30733    feature = "ritual_rustdoc_nightly",
30734    doc(cfg(any(
30735        cpp_lib_version = "5.14.0",
30736        cpp_lib_version = "5.11.3",
30737        cpp_lib_version = "5.12.2",
30738        cpp_lib_version = "5.13.0"
30739    )))
30740)]
30741#[cfg(any(
30742    any(
30743        cpp_lib_version = "5.14.0",
30744        cpp_lib_version = "5.11.3",
30745        cpp_lib_version = "5.12.2",
30746        cpp_lib_version = "5.13.0"
30747    ),
30748    feature = "ritual_rustdoc"
30749))]
30750impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfQJoint {
30751    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr* ptr)```</span>.
30752    #[inline(always)]
30753    unsafe fn static_upcast(
30754        ptr: ::cpp_core::Ptr<crate::SlotOfQJoint>,
30755    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30756        let ffi_result = {
30757            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr46(
30758                ptr.as_raw_ptr() as *mut crate::SlotOfQJoint
30759            )
30760        };
30761        ::cpp_core::Ptr::from_raw(ffi_result)
30762    }
30763}
30764
30765#[cfg_attr(
30766    feature = "ritual_rustdoc_nightly",
30767    doc(cfg(any(
30768        cpp_lib_version = "5.14.0",
30769        cpp_lib_version = "5.11.3",
30770        cpp_lib_version = "5.12.2",
30771        cpp_lib_version = "5.13.0"
30772    )))
30773)]
30774#[cfg(any(
30775    any(
30776        cpp_lib_version = "5.14.0",
30777        cpp_lib_version = "5.11.3",
30778        cpp_lib_version = "5.12.2",
30779        cpp_lib_version = "5.13.0"
30780    ),
30781    feature = "ritual_rustdoc"
30782))]
30783impl ::std::ops::Deref for crate::SlotOfQJoint {
30784    type Target = ::qt_core::QObject;
30785    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr* ptr)```</span>.
30786    #[inline(always)]
30787    fn deref(&self) -> &::qt_core::QObject {
30788        let ffi_result = {
30789            unsafe {
30790                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr46(
30791                    self as *const crate::SlotOfQJoint as *mut crate::SlotOfQJoint,
30792                )
30793            }
30794        };
30795        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30796    }
30797}
30798
30799#[cfg_attr(
30800    feature = "ritual_rustdoc_nightly",
30801    doc(cfg(any(
30802        cpp_lib_version = "5.14.0",
30803        cpp_lib_version = "5.11.3",
30804        cpp_lib_version = "5.12.2",
30805        cpp_lib_version = "5.13.0"
30806    )))
30807)]
30808#[cfg(any(
30809    any(
30810        cpp_lib_version = "5.14.0",
30811        cpp_lib_version = "5.11.3",
30812        cpp_lib_version = "5.12.2",
30813        cpp_lib_version = "5.13.0"
30814    ),
30815    feature = "ritual_rustdoc"
30816))]
30817impl ::cpp_core::DynamicCast<crate::SlotOfQJoint> for ::qt_core::QObject {
30818    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr*>(QObject* ptr)```</span>.
30819    #[inline(always)]
30820    unsafe fn dynamic_cast(
30821        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30822    ) -> ::cpp_core::Ptr<crate::SlotOfQJoint> {
30823        let ffi_result = {
30824            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_Qt3DCore_QJoint_ptr_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30825        };
30826        ::cpp_core::Ptr::from_raw(ffi_result)
30827    }
30828}
30829
30830impl ::cpp_core::StaticDowncast<crate::SlotOfFloat> for ::qt_core::QObject {
30831    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_float* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_float*>(QObject* ptr)```</span>.
30832    #[inline(always)]
30833    unsafe fn static_downcast(
30834        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30835    ) -> ::cpp_core::Ptr<crate::SlotOfFloat> {
30836        let ffi_result = {
30837            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_float_ptr(
30838                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
30839            )
30840        };
30841        ::cpp_core::Ptr::from_raw(ffi_result)
30842    }
30843}
30844
30845impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfFloat {
30846    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_float* ptr)```</span>.
30847    #[inline(always)]
30848    unsafe fn static_upcast(
30849        ptr: ::cpp_core::Ptr<crate::SlotOfFloat>,
30850    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30851        let ffi_result = {
30852            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr47(
30853                ptr.as_raw_ptr() as *mut crate::SlotOfFloat
30854            )
30855        };
30856        ::cpp_core::Ptr::from_raw(ffi_result)
30857    }
30858}
30859
30860impl ::std::ops::Deref for crate::SlotOfFloat {
30861    type Target = ::qt_core::QObject;
30862    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_float* ptr)```</span>.
30863    #[inline(always)]
30864    fn deref(&self) -> &::qt_core::QObject {
30865        let ffi_result = {
30866            unsafe {
30867                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr47(
30868                    self as *const crate::SlotOfFloat as *mut crate::SlotOfFloat,
30869                )
30870            }
30871        };
30872        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30873    }
30874}
30875
30876impl ::cpp_core::DynamicCast<crate::SlotOfFloat> for ::qt_core::QObject {
30877    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_float* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_float*>(QObject* ptr)```</span>.
30878    #[inline(always)]
30879    unsafe fn dynamic_cast(
30880        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30881    ) -> ::cpp_core::Ptr<crate::SlotOfFloat> {
30882        let ffi_result = {
30883            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_float_ptr(
30884                ptr.as_raw_ptr() as *mut ::qt_core::QObject,
30885            )
30886        };
30887        ::cpp_core::Ptr::from_raw(ffi_result)
30888    }
30889}
30890
30891impl ::cpp_core::StaticDowncast<crate::SlotOfQVector3D> for ::qt_core::QObject {
30892    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref* static_cast<ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref*>(QObject* ptr)```</span>.
30893    #[inline(always)]
30894    unsafe fn static_downcast(
30895        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30896    ) -> ::cpp_core::Ptr<crate::SlotOfQVector3D> {
30897        let ffi_result = {
30898            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30899        };
30900        ::cpp_core::Ptr::from_raw(ffi_result)
30901    }
30902}
30903
30904impl ::cpp_core::StaticUpcast<::qt_core::QObject> for crate::SlotOfQVector3D {
30905    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref* ptr)```</span>.
30906    #[inline(always)]
30907    unsafe fn static_upcast(
30908        ptr: ::cpp_core::Ptr<crate::SlotOfQVector3D>,
30909    ) -> ::cpp_core::Ptr<::qt_core::QObject> {
30910        let ffi_result = {
30911            crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr48(
30912                ptr.as_raw_ptr() as *mut crate::SlotOfQVector3D
30913            )
30914        };
30915        ::cpp_core::Ptr::from_raw(ffi_result)
30916    }
30917}
30918
30919impl ::std::ops::Deref for crate::SlotOfQVector3D {
30920    type Target = ::qt_core::QObject;
30921    /// Calls C++ function: <span style='color: green;'>```QObject* static_cast<QObject*>(ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref* ptr)```</span>.
30922    #[inline(always)]
30923    fn deref(&self) -> &::qt_core::QObject {
30924        let ffi_result = {
30925            unsafe {
30926                crate::__ffi::ctr_qt_3d_core_ffi_static_cast_QObject_ptr48(
30927                    self as *const crate::SlotOfQVector3D as *mut crate::SlotOfQVector3D,
30928                )
30929            }
30930        };
30931        unsafe { ffi_result.as_ref() }.expect("Attempted to convert null pointer to reference")
30932    }
30933}
30934
30935impl ::cpp_core::DynamicCast<crate::SlotOfQVector3D> for ::qt_core::QObject {
30936    /// Calls C++ function: <span style='color: green;'>```ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref* dynamic_cast<ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref*>(QObject* ptr)```</span>.
30937    #[inline(always)]
30938    unsafe fn dynamic_cast(
30939        ptr: ::cpp_core::Ptr<::qt_core::QObject>,
30940    ) -> ::cpp_core::Ptr<crate::SlotOfQVector3D> {
30941        let ffi_result = {
30942            crate::__ffi::ctr_qt_3d_core_ffi_dynamic_cast_ctr_qt_3d_core_ffi_slot_wrapper_QVector3D_const_ref_ptr(ptr.as_raw_ptr() as *mut ::qt_core::QObject)
30943        };
30944        ::cpp_core::Ptr::from_raw(ffi_result)
30945    }
30946}
30947
30948/// <p>Returns hash of node with <i>id</i> and optional <i>seed</i>.</p>
30949///
30950/// Calls C++ function: <span style='color: green;'>```unsigned int Qt3DCore::qHash(Qt3DCore::QNodeId id, unsigned int seed = …)```</span>.
30951///
30952/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#qHash">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns hash of node with <i>id</i> and optional <i>seed</i>.</p></div>
30953#[inline(always)]
30954pub unsafe fn q_hash_q_node_id_uint(
30955    id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
30956    seed: ::std::os::raw::c_uint,
30957) -> ::std::os::raw::c_uint {
30958    crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_qHash(
30959        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(id).as_raw_ptr(),
30960        seed,
30961    )
30962}
30963
30964/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QAbstractAspect*>& key, unsigned int seed = …)```</span>.
30965#[inline(always)]
30966pub unsafe fn q_hash_q_vector_of_q_abstract_aspect_uint(
30967    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
30968    seed: ::std::os::raw::c_uint,
30969) -> ::std::os::raw::c_uint {
30970    crate::__ffi::ctr_qt_3d_core_ffi_qHash(
30971        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(key)
30972            .as_raw_ptr(),
30973        seed,
30974    )
30975}
30976
30977/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QNode*>& key, unsigned int seed = …)```</span>.
30978#[inline(always)]
30979pub unsafe fn q_hash_q_vector_of_q_node_uint(
30980    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
30981    seed: ::std::os::raw::c_uint,
30982) -> ::std::os::raw::c_uint {
30983    crate::__ffi::ctr_qt_3d_core_ffi_qHash1(
30984        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(key).as_raw_ptr(),
30985        seed,
30986    )
30987}
30988
30989/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QNodeId>& key, unsigned int seed = …)```</span>.
30990#[inline(always)]
30991pub unsafe fn q_hash_q_vector_of_q_node_id_uint(
30992    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
30993    seed: ::std::os::raw::c_uint,
30994) -> ::std::os::raw::c_uint {
30995    crate::__ffi::ctr_qt_3d_core_ffi_qHash2(
30996        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(key)
30997            .as_raw_ptr(),
30998        seed,
30999    )
31000}
31001
31002/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QEntity*>& key, unsigned int seed = …)```</span>.
31003#[inline(always)]
31004pub unsafe fn q_hash_q_vector_of_q_entity_uint(
31005    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
31006    seed: ::std::os::raw::c_uint,
31007) -> ::std::os::raw::c_uint {
31008    crate::__ffi::ctr_qt_3d_core_ffi_qHash3(
31009        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(key)
31010            .as_raw_ptr(),
31011        seed,
31012    )
31013}
31014
31015/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QComponent*>& key, unsigned int seed = …)```</span>.
31016#[inline(always)]
31017pub unsafe fn q_hash_q_vector_of_q_component_uint(
31018    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
31019    seed: ::std::os::raw::c_uint,
31020) -> ::std::os::raw::c_uint {
31021    crate::__ffi::ctr_qt_3d_core_ffi_qHash4(
31022        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(key)
31023            .as_raw_ptr(),
31024        seed,
31025    )
31026}
31027
31028/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QAbstractAspect*>& key)```</span>.
31029#[inline(always)]
31030pub unsafe fn q_hash_q_vector_of_q_abstract_aspect(
31031    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>,
31032) -> ::std::os::raw::c_uint {
31033    crate::__ffi::ctr_qt_3d_core_ffi_qHash6(
31034        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQAbstractAspect>>::cast_into(key)
31035            .as_raw_ptr(),
31036    )
31037}
31038
31039/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QNode*>& key)```</span>.
31040#[inline(always)]
31041pub unsafe fn q_hash_q_vector_of_q_node(
31042    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNode>>,
31043) -> ::std::os::raw::c_uint {
31044    crate::__ffi::ctr_qt_3d_core_ffi_qHash7(
31045        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNode>>::cast_into(key).as_raw_ptr(),
31046    )
31047}
31048
31049/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QNodeId>& key)```</span>.
31050#[inline(always)]
31051pub unsafe fn q_hash_q_vector_of_q_node_id(
31052    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQNodeId>>,
31053) -> ::std::os::raw::c_uint {
31054    crate::__ffi::ctr_qt_3d_core_ffi_qHash8(
31055        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQNodeId>>::cast_into(key)
31056            .as_raw_ptr(),
31057    )
31058}
31059
31060/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QEntity*>& key)```</span>.
31061#[inline(always)]
31062pub unsafe fn q_hash_q_vector_of_q_entity(
31063    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQEntity>>,
31064) -> ::std::os::raw::c_uint {
31065    crate::__ffi::ctr_qt_3d_core_ffi_qHash9(
31066        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQEntity>>::cast_into(key)
31067            .as_raw_ptr(),
31068    )
31069}
31070
31071/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QComponent*>& key)```</span>.
31072#[inline(always)]
31073pub unsafe fn q_hash_q_vector_of_q_component(
31074    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQComponent>>,
31075) -> ::std::os::raw::c_uint {
31076    crate::__ffi::ctr_qt_3d_core_ffi_qHash10(
31077        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQComponent>>::cast_into(key)
31078            .as_raw_ptr(),
31079    )
31080}
31081
31082/// <p>Returns hash of node with <i>id</i> and optional <i>seed</i>.</p>
31083///
31084/// Calls C++ function: <span style='color: green;'>```unsigned int Qt3DCore::qHash(Qt3DCore::QNodeId id)```</span>.
31085///
31086/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnodeid.html#qHash">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns hash of node with <i>id</i> and optional <i>seed</i>.</p></div>
31087#[inline(always)]
31088pub unsafe fn q_hash_q_node_id(
31089    id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
31090) -> ::std::os::raw::c_uint {
31091    crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_qHash1(
31092        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(id).as_raw_ptr(),
31093    )
31094}
31095
31096/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QJoint*>& key, unsigned int seed = …)```</span>.
31097#[inline(always)]
31098#[cfg_attr(
31099    feature = "ritual_rustdoc_nightly",
31100    doc(cfg(any(
31101        cpp_lib_version = "5.11.3",
31102        cpp_lib_version = "5.12.2",
31103        cpp_lib_version = "5.13.0",
31104        cpp_lib_version = "5.14.0"
31105    )))
31106)]
31107#[cfg(any(
31108    any(
31109        cpp_lib_version = "5.11.3",
31110        cpp_lib_version = "5.12.2",
31111        cpp_lib_version = "5.13.0",
31112        cpp_lib_version = "5.14.0"
31113    ),
31114    feature = "ritual_rustdoc"
31115))]
31116pub unsafe fn q_hash_q_vector_of_q_joint_uint(
31117    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
31118    seed: ::std::os::raw::c_uint,
31119) -> ::std::os::raw::c_uint {
31120    crate::__ffi::ctr_qt_3d_core_ffi_qHash24(
31121        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(key)
31122            .as_raw_ptr(),
31123        seed,
31124    )
31125}
31126
31127/// Calls C++ function: <span style='color: green;'>```unsigned int qHash(const QVector<Qt3DCore::QJoint*>& key)```</span>.
31128#[inline(always)]
31129#[cfg_attr(
31130    feature = "ritual_rustdoc_nightly",
31131    doc(cfg(any(
31132        cpp_lib_version = "5.11.3",
31133        cpp_lib_version = "5.12.2",
31134        cpp_lib_version = "5.13.0",
31135        cpp_lib_version = "5.14.0"
31136    )))
31137)]
31138#[cfg(any(
31139    any(
31140        cpp_lib_version = "5.11.3",
31141        cpp_lib_version = "5.12.2",
31142        cpp_lib_version = "5.13.0",
31143        cpp_lib_version = "5.14.0"
31144    ),
31145    feature = "ritual_rustdoc"
31146))]
31147pub unsafe fn q_hash_q_vector_of_q_joint(
31148    key: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QVectorOfQJoint>>,
31149) -> ::std::os::raw::c_uint {
31150    crate::__ffi::ctr_qt_3d_core_ffi_qHash25(
31151        ::cpp_core::CastInto::<::cpp_core::Ref<crate::QVectorOfQJoint>>::cast_into(key)
31152            .as_raw_ptr(),
31153    )
31154}
31155
31156/// <p>Returns node id for <i>node</i>.</p>
31157///
31158/// Calls C++ function: <span style='color: green;'>```Qt3DCore::QNodeId Qt3DCore::qIdForNode(Qt3DCore::QNode* node)```</span>.
31159///
31160/// <a href="http://doc.qt.io/qt-5/qt3dcore-qnode.html#qIdForNode">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>Returns node id for <i>node</i>.</p></div>
31161#[inline(always)]
31162pub unsafe fn q_id_for_node(
31163    node: impl ::cpp_core::CastInto<::cpp_core::Ptr<crate::QNode>>,
31164) -> ::cpp_core::CppBox<crate::QNodeId> {
31165    let ffi_result = {
31166        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_qIdForNode(
31167            ::cpp_core::CastInto::<::cpp_core::Ptr<crate::QNode>>::cast_into(node).as_raw_ptr()
31168                as *mut crate::QNode,
31169        )
31170    };
31171    ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
31172}
31173
31174/// <p>&lt;&lt; with <i>d</i> and <i>id</i>. Returns <a href="http://doc.qt.io/qt-5/qdebug.html">QDebug</a>.</p>
31175///
31176/// Calls C++ function: <span style='color: green;'>```QDebug Qt3DCore::operator<<(QDebug d, Qt3DCore::QNodeId id)```</span>.
31177///
31178/// <a href="http://doc.qt.io/qt-5/qt3dcore.html#operator-lt-lt">C++ documentation</a>:<div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>&lt;&lt; with <i>d</i> and <i>id</i>. Returns <a href="http://doc.qt.io/qt-5/qdebug.html">QDebug</a>.</p></div>
31179#[inline(always)]
31180pub unsafe fn shl(
31181    d: impl ::cpp_core::CastInto<::cpp_core::Ref<::qt_core::QDebug>>,
31182    id: impl ::cpp_core::CastInto<::cpp_core::Ref<crate::QNodeId>>,
31183) -> ::cpp_core::CppBox<::qt_core::QDebug> {
31184    let ffi_result = {
31185        crate::__ffi::ctr_qt_3d_core_ffi_Qt3DCore_operator__(
31186            ::cpp_core::CastInto::<::cpp_core::Ref<::qt_core::QDebug>>::cast_into(d).as_raw_ptr(),
31187            ::cpp_core::CastInto::<::cpp_core::Ref<crate::QNodeId>>::cast_into(id).as_raw_ptr(),
31188        )
31189    };
31190    ::cpp_core::CppBox::from_raw(ffi_result).expect("attempted to construct a null CppBox")
31191}