-#if wxUSE_STD_IOSTREAM
-bool wxVariantDataDate::Write(wxSTD ostream& str) const
-{
-    wxString s;
-    Write(s);
-    str << (const char*) s.mb_str();
-    return true;
-}
-#endif
-
-bool wxVariantDataDate::Write(wxString& str) const
-{
-    str = m_value.FormatDate();
-    return true;
-}
-
-#if wxUSE_STD_IOSTREAM
-bool wxVariantDataDate::Read(wxSTD istream& WXUNUSED(str))
-{
-    // Not implemented
-    return false;
-}
-#endif
-
-bool wxVariantDataDate::Read(wxString& WXUNUSED(str))
-{
-    // Not implemented
-    return false;
-}
-#endif
-  // wxUSE_TIMEDATE
-
-/*
- * wxVariantDataVoidPtr
- */
-
-class wxVariantDataVoidPtr: public wxVariantData
-{
-DECLARE_DYNAMIC_CLASS(wxVariantDataVoidPtr)
-public:
-    wxVariantDataVoidPtr() { }
-    wxVariantDataVoidPtr(void* value) { m_value = value; }
-
-    inline void* GetValue() const { return m_value; }
-    inline void SetValue(void* value) { m_value = value; }
-
-    virtual void Copy(wxVariantData& data);
-    virtual bool Eq(wxVariantData& data) const;
-#if wxUSE_STD_IOSTREAM
-    virtual bool Write(wxSTD ostream& str) const;
-#endif
-    virtual bool Write(wxString& str) const;
-#if wxUSE_STD_IOSTREAM
-    virtual bool Read(wxSTD istream& str);
-#endif
-    virtual bool Read(wxString& str);
-    virtual wxString GetType() const { return wxT("void*"); };
-    virtual wxVariantData* Clone() { return new wxVariantDataVoidPtr; }
-
-protected:
-    void* m_value;
-
-    DECLARE_NO_COPY_CLASS(wxVariantDataVoidPtr)
-};
-
-IMPLEMENT_DYNAMIC_CLASS(wxVariantDataVoidPtr, wxVariantData)
-
-void wxVariantDataVoidPtr::Copy(wxVariantData& data)