From: Vadim Zeitlin Date: Sun, 20 Sep 2009 12:37:16 +0000 (+0000) Subject: Put wxAny implementation entirely in the header. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/45de347c105ad9716c42d03ff395fa018202eeed?ds=inline Put wxAny implementation entirely in the header. This allows to remove WXDLLIMPEXP_BASE from the class declaration and should hopefully fix VC6 linking errors when building the unit test. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/any.h b/include/wx/any.h index e4aacabba9..13e5d10803 100644 --- a/include/wx/any.h +++ b/include/wx/any.h @@ -514,7 +514,7 @@ bool operator==(TUS value) const \ // As standard, wxAny can store value of almost any type, in a fairly // optimal manner even. // -class WXDLLIMPEXP_BASE wxAny +class wxAny { public: /** @@ -755,7 +755,15 @@ public: private: // Assignment functions - void AssignAny(const wxAny &any); + void AssignAny(const wxAny& any) + { + if ( !any.m_type->IsSameType(m_type) ) + { + m_type->DeleteValue(m_buffer); + m_type = any.m_type; + } + m_type->CopyBuffer(any.m_buffer, m_buffer); + } template void Assign(const T &value) diff --git a/src/common/any.cpp b/src/common/any.cpp index 9923d3ef07..9ac859b6e1 100644 --- a/src/common/any.cpp +++ b/src/common/any.cpp @@ -105,20 +105,6 @@ wxAnyValueType::wxAnyValueType() g_wxAnyValueTypeGlobals->RegisterValueType(this); } -//------------------------------------------------------------------------- -// wxAny -//------------------------------------------------------------------------- - -void wxAny::AssignAny(const wxAny &any) -{ - if ( !any.m_type->IsSameType(m_type) ) - { - m_type->DeleteValue(m_buffer); - m_type = any.m_type; - } - m_type->CopyBuffer(any.m_buffer, m_buffer); -} - //------------------------------------------------------------------------- // Dynamic conversion member functions //-------------------------------------------------------------------------