added NO_PTR versions of ARRAY macros to suppress warnings (based on patch 770983)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
282e8e0c10
commit
6108e3fd32
@ -1292,7 +1292,7 @@ WX_DECLARE_USER_EXPORTED_OBJARRAY(wxDateTime, wxDateTimeArray, WXDLLIMPEXP_BASE)
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_BASE wxDateTimeHolidayAuthority;
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY(wxDateTimeHolidayAuthority *,
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_NO_PTR(wxDateTimeHolidayAuthority *,
|
||||
wxHolidayAuthoritiesArray,
|
||||
class WXDLLIMPEXP_BASE);
|
||||
|
||||
|
@ -306,9 +306,14 @@ public: \
|
||||
void Sort(CMPFUNC##T fCmp) { base::Sort((CMPFUNC)fCmp); } \
|
||||
}
|
||||
|
||||
#define _WX_DEFINE_TYPEARRAY_NO_PTR(T, name, base, classexp) \
|
||||
_WX_DEFINE_TYPEARRAY(T, name, base, classexp)
|
||||
|
||||
#else // if !wxUSE_STL
|
||||
|
||||
#define _WX_DEFINE_TYPEARRAY(T, name, base, classexp) \
|
||||
// common declaration used by both _WX_DEFINE_TYPEARRAY and
|
||||
// _WX_DEFINE_TYPEARRAY_NO_PTR
|
||||
#define _WX_DEFINE_TYPEARRAY_HELPER(T, name, base, classexp, ptrop) \
|
||||
wxCOMPILE_TIME_ASSERT2(sizeof(T) <= sizeof(base::base_type), \
|
||||
TypeTooBigToBeStoredIn##base, \
|
||||
name); \
|
||||
@ -388,7 +393,7 @@ public: \
|
||||
reverse_iterator(pointer ptr) : m_ptr(ptr) { } \
|
||||
reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } \
|
||||
reference operator*() const { return *m_ptr; } \
|
||||
pointer operator->() const { return m_ptr; } \
|
||||
ptrop \
|
||||
itor operator++() { --m_ptr; return *this; } \
|
||||
itor operator++(int) \
|
||||
{ reverse_iterator tmp = *this; --m_ptr; return tmp; } \
|
||||
@ -421,7 +426,7 @@ public: \
|
||||
const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } \
|
||||
const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { }\
|
||||
reference operator*() const { return *m_ptr; } \
|
||||
pointer operator->() const { return m_ptr; } \
|
||||
ptrop \
|
||||
itor operator++() { --m_ptr; return *this; } \
|
||||
itor operator++(int) \
|
||||
{ itor tmp = *this; --m_ptr; return tmp; } \
|
||||
@ -470,6 +475,13 @@ public: \
|
||||
size_type size() const { return base::size(); } \
|
||||
}
|
||||
|
||||
#define _WX_PTROP pointer operator->() const { return m_ptr; }
|
||||
#define _WX_PTROP_NONE
|
||||
|
||||
#define _WX_DEFINE_TYPEARRAY(T, name, base, classexp) \
|
||||
_WX_DEFINE_TYPEARRAY_HELPER(T, name, base, classexp, _WX_PTROP)
|
||||
#define _WX_DEFINE_TYPEARRAY_NO_PTR(T, name, base, classexp) \
|
||||
_WX_DEFINE_TYPEARRAY_HELPER(T, name, base, classexp, _WX_PTROP_NONE)
|
||||
|
||||
#endif // !wxUSE_STL
|
||||
|
||||
@ -630,16 +642,29 @@ private: \
|
||||
#define WX_DEFINE_TYPEARRAY(T, name, base) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, base, class wxARRAY_DEFAULT_EXPORT)
|
||||
|
||||
#define WX_DEFINE_TYPEARRAY_NO_PTR(T, name, base) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, base, class wxARRAY_DEFAULT_EXPORT)
|
||||
|
||||
#define WX_DEFINE_EXPORTED_TYPEARRAY(T, name, base) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, base, class WXDLLEXPORT)
|
||||
|
||||
#define WX_DEFINE_EXPORTED_TYPEARRAY_NO_PTR(T, name, base) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, base, class WXDLLEXPORT)
|
||||
|
||||
#define WX_DEFINE_USER_EXPORTED_TYPEARRAY(T, name, base, expdecl) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, base, class expdecl)
|
||||
|
||||
#define WX_DEFINE_USER_EXPORTED_TYPEARRAY_NO_PTR(T, name, base, expdecl) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, base, class expdecl)
|
||||
|
||||
#define WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, base, classdecl) \
|
||||
typedef T _wxArray##name; \
|
||||
_WX_DEFINE_TYPEARRAY(_wxArray##name, name, base, classdecl)
|
||||
|
||||
#define WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, base, classdecl) \
|
||||
typedef T _wxArray##name; \
|
||||
_WX_DEFINE_TYPEARRAY_NO_PTR(_wxArray##name, name, base, classdecl)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// WX_DEFINE_SORTED_TYPEARRAY: this is the same as the previous macro, but it
|
||||
// defines a sorted array.
|
||||
@ -774,14 +799,10 @@ private: \
|
||||
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(const void *, wxBaseArrayPtrVoid,
|
||||
WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(short, wxBaseArrayShort,
|
||||
WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(int, wxBaseArrayInt,
|
||||
WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(long, wxBaseArrayLong,
|
||||
WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(double, wxBaseArrayDouble,
|
||||
WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(short, wxBaseArrayShort, WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(int, wxBaseArrayInt, WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(long, wxBaseArrayLong, WXDLLIMPEXP_BASE);
|
||||
WX_DECLARE_USER_EXPORTED_BASEARRAY(double, wxBaseArrayDouble, WXDLLIMPEXP_BASE);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Convenience macros to define arrays from base arrays
|
||||
@ -789,38 +810,44 @@ WX_DECLARE_USER_EXPORTED_BASEARRAY(double, wxBaseArrayDouble,
|
||||
|
||||
#define WX_DEFINE_ARRAY(T, name) \
|
||||
WX_DEFINE_TYPEARRAY(T, name, wxBaseArrayPtrVoid)
|
||||
#define WX_DEFINE_ARRAY_NO_PTR(T, name) \
|
||||
WX_DEFINE_TYPEARRAY_NO_PTR(T, name, wxBaseArrayPtrVoid)
|
||||
#define WX_DEFINE_EXPORTED_ARRAY(T, name) \
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY(T, name, wxBaseArrayPtrVoid)
|
||||
#define WX_DEFINE_EXPORTED_ARRAY_NO_PTR(T, name) \
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY_NO_PTR(T, name, wxBaseArrayPtrVoid)
|
||||
#define WX_DEFINE_USER_EXPORTED_ARRAY(T, name, expmode) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, wxBaseArrayPtrVoid, expmode)
|
||||
#define WX_DEFINE_USER_EXPORTED_ARRAY_NO_PTR(T, name, expmode) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, wxBaseArrayPtrVoid, expmode)
|
||||
|
||||
#define WX_DEFINE_ARRAY_SHORT(T, name) \
|
||||
WX_DEFINE_TYPEARRAY(T, name, wxBaseArrayShort)
|
||||
WX_DEFINE_TYPEARRAY_NO_PTR(T, name, wxBaseArrayShort)
|
||||
#define WX_DEFINE_EXPORTED_ARRAY_SHORT(T, name) \
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY(T, name, wxBaseArrayShort)
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY_NO_PTR(T, name, wxBaseArrayShort)
|
||||
#define WX_DEFINE_USER_EXPORTED_ARRAY_SHORT(T, name, expmode) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, wxBaseArrayShort, expmode)
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, wxBaseArrayShort, expmode)
|
||||
|
||||
#define WX_DEFINE_ARRAY_INT(T, name) \
|
||||
WX_DEFINE_TYPEARRAY(T, name, wxBaseArrayInt)
|
||||
WX_DEFINE_TYPEARRAY_NO_PTR(T, name, wxBaseArrayInt)
|
||||
#define WX_DEFINE_EXPORTED_ARRAY_INT(T, name) \
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY(T, name, wxBaseArrayInt)
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY_NO_PTR(T, name, wxBaseArrayInt)
|
||||
#define WX_DEFINE_USER_EXPORTED_ARRAY_INT(T, name, expmode) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, wxBaseArrayInt, expmode)
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, wxBaseArrayInt, expmode)
|
||||
|
||||
#define WX_DEFINE_ARRAY_LONG(T, name) \
|
||||
WX_DEFINE_TYPEARRAY(T, name, wxBaseArrayLong)
|
||||
WX_DEFINE_TYPEARRAY_NO_PTR(T, name, wxBaseArrayLong)
|
||||
#define WX_DEFINE_EXPORTED_ARRAY_LONG(T, name) \
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY(T, name, wxBaseArrayLong)
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY_NO_PTR(T, name, wxBaseArrayLong)
|
||||
#define WX_DEFINE_USER_EXPORTED_ARRAY_LONG(T, name, expmode) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, wxBaseArrayLong, expmode)
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, wxBaseArrayLong, expmode)
|
||||
|
||||
#define WX_DEFINE_ARRAY_DOUBLE(T, name) \
|
||||
WX_DEFINE_TYPEARRAY(T, name, wxBaseArrayDouble)
|
||||
WX_DEFINE_TYPEARRAY_NO_PTR(T, name, wxBaseArrayDouble)
|
||||
#define WX_DEFINE_EXPORTED_ARRAY_DOUBLE(T, name) \
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY(T, name, wxBaseArrayDouble)
|
||||
WX_DEFINE_EXPORTED_TYPEARRAY_NO_PTR(T, name, wxBaseArrayDouble)
|
||||
#define WX_DEFINE_USER_EXPORTED_ARRAY_DOUBLE(T, name, expmode) \
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL(T, name, wxBaseArrayDouble, expmode)
|
||||
WX_DEFINE_TYPEARRAY_WITH_DECL_NO_PTR(T, name, wxBaseArrayDouble, expmode)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Convenience macros to define sorted arrays from base arrays
|
||||
@ -898,10 +925,10 @@ WX_DECLARE_USER_EXPORTED_BASEARRAY(double, wxBaseArrayDouble,
|
||||
// Some commonly used predefined arrays
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_SHORT (short, wxArrayShort, class WXDLLIMPEXP_BASE);
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_INT (int, wxArrayInt, class WXDLLIMPEXP_BASE);
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_LONG (long, wxArrayLong, class WXDLLIMPEXP_BASE);
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY (void *, wxArrayPtrVoid, class WXDLLIMPEXP_BASE);
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_SHORT(short, wxArrayShort, class WXDLLIMPEXP_BASE);
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_INT(int, wxArrayInt, class WXDLLIMPEXP_BASE);
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_LONG(long, wxArrayLong, class WXDLLIMPEXP_BASE);
|
||||
WX_DEFINE_USER_EXPORTED_ARRAY_NO_PTR(void *, wxArrayPtrVoid, class WXDLLIMPEXP_BASE);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// convenience macros
|
||||
|
@ -2179,7 +2179,7 @@ struct WXDLLIMPEXP_BASE wxEventTable
|
||||
// wxEventHashTable: a helper of wxEvtHandler to speed up wxEventTable lookups.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
WX_DEFINE_ARRAY(const wxEventTableEntry*, wxEventTableEntryPointerArray);
|
||||
WX_DEFINE_ARRAY_NO_PTR(const wxEventTableEntry*, wxEventTableEntryPointerArray);
|
||||
class WXDLLIMPEXP_BASE wxEvtHandler;
|
||||
|
||||
class WXDLLIMPEXP_BASE wxEventHashTable
|
||||
|
@ -28,7 +28,7 @@
|
||||
// define the array of list box items
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxOwnerDrawn *, wxListBoxItemsArray);
|
||||
WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxOwnerDrawn *, wxListBoxItemsArray);
|
||||
#endif // wxUSE_OWNER_DRAWN
|
||||
|
||||
// forward decl for GetSelections()
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "wx/accel.h"
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxAcceleratorEntry *, wxAcceleratorArray);
|
||||
WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxAcceleratorEntry *, wxAcceleratorArray);
|
||||
#endif // wxUSE_ACCEL
|
||||
|
||||
class WXDLLEXPORT wxFrame;
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
class WXDLLEXPORT wxSpinCtrl;
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxSpinCtrl *, wxArraySpins);
|
||||
WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxSpinCtrl *, wxArraySpins);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Under Win32, wxSpinCtrl is a wxSpinButton with a buddy (as MSDN docs call
|
||||
|
@ -48,7 +48,7 @@ enum
|
||||
// array of notebook pages
|
||||
typedef wxWindow wxNotebookPage; // so far, any window can be a page
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxNotebookPage *, wxArrayPages);
|
||||
WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxNotebookPage *, wxArrayPages);
|
||||
|
||||
#define wxNOTEBOOK_NAME _T("notebook")
|
||||
|
||||
|
@ -69,7 +69,7 @@
|
||||
// array classes
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxGridCellAttr *, wxArrayAttrs);
|
||||
WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxGridCellAttr *, wxArrayAttrs);
|
||||
|
||||
struct wxGridCellWithAttr
|
||||
{
|
||||
@ -332,7 +332,7 @@ struct wxGridDataTypeInfo
|
||||
};
|
||||
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxGridDataTypeInfo*, wxGridDataTypeInfoArray);
|
||||
WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxGridDataTypeInfo*, wxGridDataTypeInfoArray);
|
||||
|
||||
|
||||
class WXDLLEXPORT wxGridTypeRegistry
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
class WXDLLEXPORT wxGenericTreeItem;
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxGenericTreeItem *, wxArrayGenericTreeItems);
|
||||
WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxGenericTreeItem *, wxArrayGenericTreeItems);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
|
Loading…
Reference in New Issue
Block a user