1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/common/strvararg.cpp
3 // Purpose: macros for implementing type-safe vararg passing of strings
4 // Author: Vaclav Slavik
7 // Copyright: (c) 2007 REA Elektronik GmbH
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 // ============================================================================
13 // ============================================================================
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
19 // for compilers that support precompilation, includes "wx.h".
20 #include "wx/wxprec.h"
26 #include "wx/strvararg.h"
27 #include "wx/string.h"
29 // ============================================================================
31 // ============================================================================
34 const wxStringCharType
*wxArgNormalizerNative
<const wxString
&>::get() const
36 return m_value
.wx_str();
39 const wxStringCharType
*wxArgNormalizerNative
<const wxCStrData
&>::get() const
41 return m_value
.AsInternal();
44 #if wxUSE_UNICODE_UTF8
45 wxArgNormalizerWchar
<const wxString
&>::wxArgNormalizerWchar(const wxString
& s
)
46 : wxArgNormalizerWithBuffer
<wchar_t>(s
.wc_str())
50 wxArgNormalizerWchar
<const wxCStrData
&>::wxArgNormalizerWchar(const wxCStrData
& s
)
51 : wxArgNormalizerWithBuffer
<wchar_t>(s
.AsWCharBuf())
54 #endif // wxUSE_UNICODE_UTF8
56 wxString
wxArgNormalizedString::GetString() const
61 #if wxUSE_UTF8_LOCALE_ONLY
62 return wxString(wx_reinterpret_cast(const char*, m_ptr
));
64 #if wxUSE_UNICODE_UTF8
66 return wxString(wx_reinterpret_cast(const char*, m_ptr
));
69 return wxString(wx_reinterpret_cast(const wchar_t*, m_ptr
));
70 #endif // !wxUSE_UTF8_LOCALE_ONLY
73 wxArgNormalizedString::operator wxString() const