QJniArrayBase Class
La classe QJniArrayBase fournit des API communes et indépendantes du type pour QJniArray. En savoir plus...
| En-tête : | #include <QJniArrayBase> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
| Depuis : | Qt 6.8 |
| Hérité par : |
Types publics
Fonctions publiques
| bool | isEmpty() const |
| bool | isValid() const |
| T | object() const |
| QJniArrayBase::size_type | size() const |
| operator QJniObject() const |
Membres publics statiques
| auto | fromContainer(Container &&container) |
Fonctions protégées
| QJniArrayBase() | |
| QJniArrayBase(const QJniArrayBase &other) | |
| QJniArrayBase(QJniArrayBase &&other) | |
| ~QJniArrayBase() | |
| void | swap(QJniArrayBase &other) |
| QJniArrayBase & | operator=(QJniArrayBase &&other) |
| QJniArrayBase & | operator=(const QJniArrayBase &other) |
Documentation sur les fonctions membres
[noexcept protected default] QJniArrayBase::QJniArrayBase()
Construit par défaut une instance de ` QJniArrayBase`.
[explicit noexcept protected default] QJniArrayBase::QJniArrayBase(const QJniArrayBase &other)
Crée une instance de ` QJniArrayBase` par copie.
[explicit noexcept protected default] QJniArrayBase::QJniArrayBase(QJniArrayBase &&other)
Crée par construction une instance de ` QJniArrayBase`.
[noexcept protected default] QJniArrayBase::~QJniArrayBase()
Supprime l'instance de ` QJniArrayBase`.
[static] template <typename Container> requires if_compatible_source_container<Container> auto QJniArrayBase::fromContainer(Container &&container)
Crée un tableau Java contenant les données de ` container` et renvoie une instance de ` QJniArray ` qui l'encapsule.
Contraintes
Ne participe à la résolution des surcharges que si ` Container ` est un conteneur stockant des éléments de type ` JNI type ` ou d’un type C++ équivalent, et fournissant un itérateur avant.
La spécialisation de l’ QJniArray construit dépend du type de valeur de l’ container. Pour une Container<T> (telle que, par exemple, QList<T>), il s’agira généralement d’ QJniArray<T>, avec les exceptions suivantes :
| Conteneur | Spécialisation |
|---|---|
| QByteArray | QJniArray<jbyte> |
| QStringList | QJniArray<jstring> |
| Conteneur::type_valeur | Spécialisation |
| QJniObject | QJniArray<jobject> |
Voir aussi QJniArray::toContainer().
bool QJniArrayBase::isEmpty() const
Renvoie ` true ` si le tableau a une taille de 0 ; sinon, renvoie ` false`.
Un tableau de type ` invalid ` est toujours vide.
isValid(), size()
bool QJniArrayBase::isValid() const
Indique si l'objet ` QJniArray ` contient un `jobject` valide. Pour les instances ` QJniArray ` non valides, la méthode ` object()` renvoie ` nullptr`. L'itération sur un objet non valide ne présente aucun risque (la méthode `begin()` renvoie la même valeur que `end()`), et l'appel de la méthode ` toContainer()` sur un tableau non valide renvoie un conteneur vide.
Voir également QJniObject::isValid(), object() et QJniArray::toContainer().
template <typename T = jobject> T QJniArrayBase::object() const
Renvoie l'objet contenu dans l'QJniArray, de type T, qui peut être l'un des éléments suivants : JNI Object Types.
QJniArrayBase::size_type QJniArrayBase::size() const
Renvoie la taille du tableau.
[noexcept protected] void QJniArrayBase::swap(QJniArrayBase &other)
Permute cet objet tableau avec other. Cette opération est très rapide et ne rencontre jamais d'échec.
QJniArrayBase::operator QJniObject() const
Renvoie un objet ` QJniObject ` encapsulant le même objet ` jobject ` que cette instance de ` QJniArray `.
[noexcept protected default] QJniArrayBase &QJniArrayBase::operator=(QJniArrayBase &&other)
Cette opération attribue l'other à cette instance QJniArrayBase.
[noexcept protected default] QJniArrayBase &QJniArrayBase::operator=(const QJniArrayBase &other)
Copie et attribue other à cette instance de QJniArrayBase.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.