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 がゼロの場合、デフォルトのインスタンスを作成します。
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 QString CustomString; qRegisterMetaType<CustomString>("CustomString");
警告 この関数は,エイリアス(typedef)を登録する場合にのみ有用であり,それ以外の場合はQ_DECLARE_METATYPE やqMetaTypeId() を使うべきである.
isRegistered() とQ_DECLARE_METATYPE()も参照してください 。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。