- Fix visibility support into string_utils

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@786 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-07-20 11:11:37 +00:00
parent 40180557c7
commit 69a7ee03eb
3 changed files with 11 additions and 6 deletions

View File

@ -56,7 +56,7 @@ AM_GNU_GETTEXT_VERSION([0.14.1])
dnl various requisites dnl various requisites
SIGCPP_VERSION=2.0.10 SIGCPP_VERSION=2.0.10
GTKMM_VERSION=2.8.0 GTKMM_VERSION=2.8.0
LIBGLADEMM_VERSION=2.6.1 LIBGLADEMM_VERSION=2.6.0
CAIRO_VERSION=1.0.0 CAIRO_VERSION=1.0.0
dnl c++ compiler and flags dnl c++ compiler and flags

View File

@ -29,6 +29,14 @@ using Glib::ustring;
namespace sgpem namespace sgpem
{ {
/* Force template instantiation to allow visibility outside this DSO */
template SG_DLLEXPORT int string_to<int>(const Glib::ustring&);
template SG_DLLEXPORT float string_to<float>(const Glib::ustring&);
// Specialized further down in this file:
// template SG_DLLEXPORT bool string_to<bool>(const Glib::ustring&);
/** /**
\brief A function that converts a Unicode string to an integer value \brief A function that converts a Unicode string to an integer value
@ -105,7 +113,7 @@ string_to(const ustring& str) throw(domain_error)
} }
template <> template <>
bool SG_DLLEXPORT bool
string_to<bool>(const Glib::ustring& str) throw(domain_error) string_to<bool>(const Glib::ustring& str) throw(domain_error)
{ {
if(tokenize(str).size() != 1) if(tokenize(str).size() != 1)
@ -227,7 +235,4 @@ tokenize(const ustring& str)
return tokens; return tokens;
} }
template int string_to<int>(const Glib::ustring&);
template float string_to<float>(const Glib::ustring&);
template bool string_to<bool>(const Glib::ustring&);
} }

View File

@ -71,7 +71,7 @@ namespace sgpem
*/ */
void SG_DLLEXPORT string_to_float(const Glib::ustring&, float&); void SG_DLLEXPORT string_to_float(const Glib::ustring&, float&);
Tokens tokenize(const Glib::ustring& str); Tokens SG_DLLEXPORT tokenize(const Glib::ustring& str);
} }
#endif #endif