From f218213a42f4d1b1bbf291ee27730f83cfeed6ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Thu, 3 Nov 2011 16:04:32 +0100 Subject: Enable use of QArrayDataPointer as a return type This is done through a (POD) wrapper around a raw QTypedArrayData pointer. The wrapper forces conscious decisions on the use of that pointer, while implying it is internal API. The pointed-to header is assumed to referenced, as if already owned by the receiving QArrayDataPointer. This wrapper is placed in the generic qarraydata.h header as its definition doesn't depend on QArrayDataPointer by itself. Change-Id: I9b2b6bb7dd9ab073dc7d882ccf999b32d793ed3f Reviewed-by: Thiago Macieira --- src/corelib/tools/qarraydata.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/corelib/tools/qarraydata.h') diff --git a/src/corelib/tools/qarraydata.h b/src/corelib/tools/qarraydata.h index c022d9f302..5ed8d4ba95 100644 --- a/src/corelib/tools/qarraydata.h +++ b/src/corelib/tools/qarraydata.h @@ -177,6 +177,13 @@ struct QStaticArrayData T data[N]; }; +// Support for returning QArrayDataPointer from functions +template +struct QArrayDataPointerRef +{ + QTypedArrayData *ptr; +}; + #define Q_STATIC_ARRAY_DATA_HEADER_INITIALIZER(type, size) { \ Q_REFCOUNT_INITIALIZE_STATIC, size, 0, 0, \ (sizeof(QArrayData) + (Q_ALIGNOF(type) - 1)) \ -- cgit v1.2.3