Obsolete Members for QMetaType
クラスQMetaType の以下のメンバーは非推奨です。これらは古いソース・コードの動作を維持するために提供されています。新しいコードでは使用しないことを強くお勧めします。
静的パブリック・メンバー
(deprecated) bool | compare(const void *lhs, const void *rhs, int typeId, int *result) |
(deprecated) void * | construct(int type, void *where, const void *copy) |
(deprecated) bool | convert(const void *from, int fromTypeId, void *to, int toTypeId) |
(deprecated) void * | create(int type, const void *copy = nullptr) |
(deprecated) bool | debugStream(QDebug &dbg, const void *rhs, int typeId) |
(deprecated) void | destroy(int type, void *data) |
(deprecated) void | destruct(int type, void *where) |
(deprecated) bool | hasRegisteredDebugStreamOperator() |
(deprecated) bool | hasRegisteredDebugStreamOperator(int typeId) |
(deprecated) bool | load(QDataStream &stream, int type, void *data) |
(deprecated) const QMetaObject * | metaObjectForType(int type) |
(deprecated) bool | save(QDataStream &stream, int type, const void *data) |
(deprecated) int | sizeOf(int type) |
(deprecated) int | type(const char *typeName) |
(deprecated) int | type(const QByteArray &typeName) |
(deprecated) QMetaType::TypeFlags | typeFlags(int type) |
(deprecated) const char * | typeName(int typeId) |
関連する非メンバー
(deprecated) int | qRegisterMetaType(const char *typeName) |
メンバ関数ドキュメント
[static, deprecated]
bool QMetaType::compare(const void *lhs, const void *rhs, int typeId, int *result)
この関数は非推奨である。新しいコードでは使用しないことを強くお勧めします。
代わりに、静的でない compare メソッドを使用してください。
lhs とrhs のオブジェクトを比較します。両方のオブジェクトはtypeId 型である必要があります。lhs がrhs より小さい、等しい、または大きい場合、result はゼロより小さい、等しい、または大きく設定されます。 比較が成功した場合はtrue
を返し、そうでない場合はfalse
を返します。
[static, deprecated]
void *QMetaType::construct(int type, void *where, const void *copy)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
与えられたtype の値を、copy のコピーである、where によってアドレス指定された既存のメモリに構築し、where を返す。copy がゼロの場合、値はデフォルトで構築される。
これは、型の格納に使用されるメモリを明示的に管理するための低レベル関数である。このレベルの制御が不要な場合は、create() を呼び出すことを検討すること(つまり、"placement new" ではなく "new" を使用すること)。
where がtype 型の値を格納できる場所を指していること、およびwhere が適切にアライメントされていることを確認しなければならない。型のサイズは、sizeOf()を呼び出すことで確認できる。
アライメントに関する経験則では、型はその自然な境界にアライメントされる。これは、そのアライメントがプラットフォームで有用な最大アライメントよりも大きくない限り、型よりも大きい2の最小乗である。実用上、2 * sizeof(void*)より大きなアライメントが必要なのは、特殊なハードウェア命令(例えば、x86のアライメント付きSSEロードとストア)のみである。
destruct() およびsizeOf()も参照の こと。
[static, deprecated]
bool QMetaType::convert(const void *from, int fromTypeId, void *to, int toTypeId)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
from にあるオブジェクトをfromTypeId からto に型付けされたtoTypeId にある事前割り当て空間に変換する。変換が成功すればtrue
を返し、そうでなければ false を返します。
from とto の両方が有効なポインタでなければならない。
[static, deprecated]
void *QMetaType::create(int type, const void *copy = nullptr)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
type 型であると仮定して、copy のコピーを返す。copy が 0 の場合、デフォルトの構築済みインスタンスを作成します。
destroy()、isRegistered()、Typeも参照 。
[static, deprecated]
bool QMetaType::debugStream(QDebug &dbg, const void *rhs, int typeId)
この関数は非推奨である。新しいコードでは使用しないことを強くお勧めします。
これはオーバーロードされた関数です。
[static, deprecated]
void QMetaType::destroy(int type, void *data)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
指定されたtype のものであると仮定して、data を破棄する。
create()、isRegistered()、Typeも参照のこと 。
[static, deprecated]
void QMetaType::destruct(int type, void *where)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
where にある与えられたtype の値をデストラクトします。
destroy() とは異なり、この関数は型のデストラクタを呼び出すだけで、delete 演算子を呼び出すことはありません。
construct()も参照してください 。
[static, deprecated]
template <typename T> bool QMetaType::hasRegisteredDebugStreamOperator()
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
メタ型システムにT型のデバッグ・ストリーム演算子が登録されている場合、true
を返します。
[static, deprecated]
bool QMetaType::hasRegisteredDebugStreamOperator(int typeId)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
代わりにQMetaType::hasRegisteredDebugStreamOperator() を使用してください。
メタ型システムに、型 IDtypeId に対して登録されたデバッグ・ストリーム演算子がある場合、true
を返します。
[static, deprecated]
bool QMetaType::load(QDataStream &stream, int type, void *data)
この関数は非推奨である。新しいコードでは使用しないことを強くお勧めします。
これはオーバーロードされた関数です。
[static, deprecated]
const QMetaObject *QMetaType::metaObjectForType(int type)
この関数は非推奨である。新しいコードでは使用しないことを強くお勧めします。
に対してQMetaType::metaObject を返す。type
metaObject()も参照のこと 。
[static, deprecated]
bool QMetaType::save(QDataStream &stream, int type, const void *data)
この関数は非推奨である。新しいコードでは使用しないことを強くお勧めします。
これはオーバーロードされた関数です。
[static, deprecated]
int QMetaType::sizeOf(int type)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
与えられたtype のサイズをバイト単位で返す(つまり sizeof(T)、ここで T は引数type で識別される実際の型である)。
この関数は通常、construct() とともに使用され、型が使用するメモリの低レベル管理を行う。
construct() およびQMetaType::alignOf()も参照の こと。
[static, deprecated]
int QMetaType::type(const char *typeName)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
typeName という型へのハンドルを返すか、そのような型がない場合はQMetaType::UnknownType を返す。
isRegistered()、typeName()、Typeも参照のこと 。
[static, deprecated]
int QMetaType::type(const QByteArray &typeName)
この関数は非推奨である。新しいコードでは使用しないことを強くお勧めします。
これはオーバーロードされた関数です。
typeName という型へのハンドルを返すか、そのような型がない場合は 0 を返す。
isRegistered() およびtypeName()も参照 。
[static, deprecated]
QMetaType::TypeFlags QMetaType::typeFlags(int type)
この関数は非推奨である。新しいコードでは使わないことを強く推奨する。
与えられたtype のフラグを返す。
QMetaType::TypeFlagsも参照 。
[static, deprecated]
const char *QMetaType::typeName(int typeId)
この関数は非推奨である。新しいコードでは使用しないことを強く推奨する。
与えられたtypeId に関連付けられた型名、または一致する型が見つからなかった場合は null ポインタを返します。返されたポインタは削除してはならない。
type()、isRegistered()、Type 、name()も参照 。
関連する非会員
[deprecated]
template <typename T> int qRegisterMetaType(const char *typeName)
この関数は非推奨である。新しいコードでは使用しないことを強くお勧めします。
型名typeName を型T
に登録する。QMetaType が使用する内部 ID を返します。パブリックなデフォルト・コンストラクタ、パブリックなコピー・コンストラクタ、パブリックなデストラクタを持つクラスや構造体であれば登録できます。
この関数は、関数が呼び出された時点でT
が完全に定義された型であることを必要とします。ポインタ型の場合は、指された型が完全に定義されていることも必要です。前方に宣言された型へのポインタを登録できるようにするには、Q_DECLARE_OPAQUE_POINTER ()を使用する。
型が登録されると、実行時にその型のオブジェクトを動的に作成したり破棄したりできるようになる。
この例では、クラスMyClass
を登録しています:
qRegisterMetaType<MyClass>("MyClass");
この関数は、QMetaProperty 、またはQueuedConnectionsで使用できるようにtypedefを登録するのに便利である。
typedefQStringCustomString;qRegisterMetaType<CustomString>("CustomString");
警告 この関数は、エイリアス(typedef)を登録する場合にのみ有用であり、それ以外 の用途にはQ_DECLARE_METATYPE とqMetaTypeId() を使用すべきである。
isRegistered() およびQ_DECLARE_METATYPE()も参照 。
© 2025 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.