Don't declare wxWindowList as DLL-exported. It's unnecessary and appears to
create problems for VC 11.
Closes #14741.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72940
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
decl _WX_LIST_HELPER_##liT \
{ \
typedef elT _WX_LIST_ITEM_TYPE_##liT; \
decl _WX_LIST_HELPER_##liT \
{ \
typedef elT _WX_LIST_ITEM_TYPE_##liT; \
+ typedef std::list<elT> BaseListType; \
+ static BaseListType EmptyList; \
static void DeleteFunction( _WX_LIST_ITEM_TYPE_##liT X ); \
}; \
\
WX_LIST_VC6_WORKAROUND(elT, liT, decl) \
static void DeleteFunction( _WX_LIST_ITEM_TYPE_##liT X ); \
}; \
\
WX_LIST_VC6_WORKAROUND(elT, liT, decl) \
- decl liT : public std::list<elT> \
+ class liT : public std::list<elT> \
{ \
private: \
typedef std::list<elT> BaseListType; \
{ \
private: \
typedef std::list<elT> BaseListType; \
- static BaseListType EmptyList; \
\
bool m_destroy; \
\
public: \
\
bool m_destroy; \
\
public: \
- decl compatibility_iterator \
+ class compatibility_iterator \
{ \
private: \
/* Workaround for broken VC6 nested class name resolution */ \
{ \
private: \
/* Workaround for broken VC6 nested class name resolution */ \
\
public: \
compatibility_iterator() \
\
public: \
compatibility_iterator() \
- : m_iter(EmptyList.end()), m_list( NULL ) {} \
+ : m_iter(_WX_LIST_HELPER_##liT::EmptyList.end()), m_list( NULL ) {} \
compatibility_iterator( liT* li, iterator i ) \
: m_iter( i ), m_list( li ) {} \
compatibility_iterator( const liT* li, iterator i ) \
compatibility_iterator( liT* li, iterator i ) \
: m_iter( i ), m_list( li ) {} \
compatibility_iterator( const liT* li, iterator i ) \
- name::BaseListType name::EmptyList;
+ _WX_LIST_HELPER_##name::BaseListType _WX_LIST_HELPER_##name::EmptyList;
#else // !wxUSE_STD_CONTAINERS
#undef WX_DEFINE_LIST_2
#else // !wxUSE_STD_CONTAINERS
#undef WX_DEFINE_LIST_2
class WXDLLIMPEXP_FWD_BASE wxProcess;
class WXDLLIMPEXP_FWD_CORE wxFrame;
class WXDLLIMPEXP_FWD_CORE wxWindow;
class WXDLLIMPEXP_FWD_BASE wxProcess;
class WXDLLIMPEXP_FWD_CORE wxFrame;
class WXDLLIMPEXP_FWD_CORE wxWindow;
-class WXDLLIMPEXP_FWD_CORE wxWindowList;
class WXDLLIMPEXP_FWD_CORE wxEventLoop;
// ----------------------------------------------------------------------------
class WXDLLIMPEXP_FWD_CORE wxEventLoop;
// ----------------------------------------------------------------------------
-wxStringListBase::BaseListType wxStringListBase::EmptyList;
+_WX_LIST_HELPER_wxStringListBase::BaseListType _WX_LIST_HELPER_wxStringListBase::EmptyList;
#endif // !wxUSE_STD_CONTAINERS
#endif // !wxUSE_STD_CONTAINERS