Sur cette page

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 :

QJniArray

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)

Description détaillée

Documentation sur les types de membres

[alias] QJniArrayBase::size_type

Un entier de 32 bits.

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 :

ConteneurSpécialisation
QByteArrayQJniArray<jbyte>
QStringListQJniArray<jstring>
Conteneur::type_valeurSpécialisation
QJniObjectQJniArray<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.