#if wxUSE_STRING_POS_CACHE
+#ifdef wxHAS_COMPILER_TLS
+
+wxTLS_TYPE(wxString::Cache) wxString::ms_cache;
+
+#else // !wxHAS_COMPILER_TLS
+
struct wxStrCacheInitializer
{
wxStrCacheInitializer()
}
};
+/*
+wxString::Cache& wxString::GetCache()
+{
+ static wxTLS_TYPE(Cache) s_cache;
+
+ return wxTLS_VALUE(s_cache);
+}
+*/
+
static wxStrCacheInitializer gs_stringCacheInit;
+#endif // wxHAS_COMPILER_TLS/!wxHAS_COMPILER_TLS
+
// gdb seems to be unable to display thread-local variables correctly, at least
// not my 6.4.98 version under amd64, so provide this debugging helper to do it
#ifdef __WXDEBUG__
-namespace
-{
-
struct wxStrCacheDumper
{
static void ShowAll()
}
};
-} // anonymous namespace
-
void wxDumpStrCache() { wxStrCacheDumper::ShowAll(); }
#endif // __WXDEBUG__
wxString::CacheStats wxString::ms_cacheStats;
-namespace
+struct wxStrCacheStatsDumper
{
-
-struct ShowCacheStats
-{
- ~ShowCacheStats()
+ ~wxStrCacheStatsDumper()
{
const wxString::CacheStats& stats = wxString::ms_cacheStats;
stats.lentot, 100.*float(stats.lenhits)/stats.lentot);
}
}
-} s_showCacheStats;
+};
-} // anonymous namespace
+static wxStrCacheStatsDumper s_showCacheStats;
#endif // wxPROFILE_STRING_CACHE
// wxCharBufferType<T>
// ----------------------------------------------------------------------------
+#ifndef __VMS_BROKEN_TEMPLATES
template<>
+#endif
wxCharTypeBuffer<char>::Data
wxCharTypeBuffer<char>::NullData(NULL);
+#ifndef __VMS_BROKEN_TEMPLATES
template<>
+#endif
wxCharTypeBuffer<wchar_t>::Data
wxCharTypeBuffer<wchar_t>::NullData(NULL);