-bool wxString::ToLong(long *val, int base) const
-{
- wxCHECK_MSG( val, false, _T("NULL pointer in wxString::ToLong") );
+// the implementation of all the functions below is exactly the same so factor
+// it out
+template <typename T>
+bool wxStringToIntType(const wxChar *start,
+ T *val,
+ int base,
+ T (*func)(const wxChar *, wxChar **, int))
+{
+ wxCHECK_MSG( val, false, _T("NULL output pointer") );