QJniArrayBase Class

QJniArrayBaseクラスは、QJniArray のための、型に依存しない共通APIを提供します。詳細...

Header: #include <QJniArrayBase>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Since: Qt 6.8
Inherited By:

QJniArray

パブリック型

パブリック関数

bool isEmpty() const
bool isValid() const
T object() const
QJniArrayBase::size_type size() const
QJniObject operator QJniObject() const

静的パブリックメンバ

auto fromContainer(Container &&container)

保護された関数

void swap(QJniArrayBase &other)

詳細説明

メンバ型ドキュメント

[alias] QJniArrayBase::size_type

32ビット整数。

メンバ関数ドキュメント

[static] template <typename Container, QJniArrayBase::if_compatible_source_container<Container> = true> auto QJniArrayBase::fromContainer(Container &&container)

container のデータを保持する Java 配列を作成し、それをラップしたQJniArray インスタンスを返します。

この関数は、ContainerJNI type または同等の C++ 型の要素を格納するコンテナであり、前方イテレータを提供する場合にのみ、オーバーロード解決に参加します。

構築されたQJniArray の特殊化は、container の値型に依存します。Container<T> (例えば、QList<T> )の場合、以下の例外を除いて、通常はQJniArray<T> になります:

コンテナ特殊化
QByteArrayQJniArray<jbyte
QStringListQJniArray<jstring>
コンテナ::value_type特殊化
QJniObjectQJniArray<ジョブジェクト

QJniArray::toContainer()も参照の こと。

bool QJniArrayBase::isEmpty() const

配列のサイズが0の場合はtrue を返し、それ以外の場合はfalse を返します。

invalid 配列は常に空です。

isValid() size()

bool QJniArrayBase::isValid() const

QJniArray オブジェクトが有効な `jobject` をラップしているかどうかを返す。無効なQJniArray インスタンスに対しては、object() はnullptr を返す。無効なオブジェクトを繰り返し処理しても安全であり (begin() は end() と同じ結果を返します)、無効な配列に対してtoContainer() を呼び出すと空のコンテナが返されます。

QJniObject::isValid()、object()、QJniArray::toContainer()も参照

template <typename T = jobject> T QJniArrayBase::object() const

QJniArray が保持するオブジェクトを T 型として返す。JNI Object Types のいずれかである。

QJniArrayBase::size_type QJniArrayBase::size() const

配列のサイズを返します。

[noexcept protected] void QJniArrayBase::swap(QJniArrayBase &other)

この配列オブジェクトをother と交換する。この関数は非常に高速で、失敗することはない。

QJniObject QJniArrayBase::operator QJniObject() const

このQJniArray インスタンスと同じjobject をラップしたQJniObject を返します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。