X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fconvert.h;h=c1cd31551a8e46b48ab89474ef4d2109c1f7c21d;hb=0a9735c5f7bbbaa24ac2e3e4fa745c6dfbc95a18;hp=da1947b843ad25c67213827f707f593737a240f4;hpb=584305799213c82f68d4d2eb172b812c74400487;p=lyx.git diff --git a/src/support/convert.h b/src/support/convert.h index da1947b843..c1cd31551a 100644 --- a/src/support/convert.h +++ b/src/support/convert.h @@ -4,8 +4,8 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author André Pönitz - * \author Lars Gullik Bjønnes + * \author André Pönitz + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. * @@ -16,21 +16,35 @@ #ifndef CONVERT_H #define CONVERT_H -#if 0 -#include +#include "support/strfwd.h" + +namespace lyx { -// Commented out since BOOST_STATIC_ASSERT does not work with gcc 4.0 -template -Target convert(Source arg) -{ - // We use a static assert here since we want all instances of - // this template to be specializations. - BOOST_STATIC_ASSERT(sizeof(bool) == 0); - return Target(); -} -#else template Target convert(Source arg); -#endif + + +template<> std::string convert(bool b); +template<> std::string convert(char c); +template<> std::string convert(short unsigned int sui); +template<> std::string convert(int i); +template<> docstring convert(int i); +template<> std::string convert(unsigned int ui); +template<> docstring convert(unsigned int ui); +template<> std::string convert(unsigned long ul); +template<> docstring convert(unsigned long ul); +template<> std::string convert(long l); +template<> docstring convert(long l); +template<> std::string convert(float f); +template<> std::string convert(double d); +template<> int convert(std::string const s); +template<> int convert(docstring const s); +template<> unsigned int convert(std::string const s); +template<> unsigned long convert(std::string const s); +template<> double convert(std::string const s); +template<> int convert(char const * cptr); +template<> double convert(char const * cptr); + +} // namespace lyx #endif