// -*- C++ -*- /** * \file convert.h * 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 * * Full author contact details are available in file CREDITS. * * A collection of string helper functions that works with string. * Some of these would certainly benefit from a rewrite/optimization. */ #ifndef CONVERT_H #define CONVERT_H #include "support/strfwd.h" namespace lyx { template Target convert(Source arg); 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); #ifdef HAVE_LONG_LONG_INT template<> std::string convert(unsigned long long ull); template<> docstring convert(unsigned long long ull); template<> std::string convert(long long ll); template<> docstring convert(long long ll); template<> unsigned long long convert(std::string const & s); // not presently needed // template<> long long convert(std::string const & s); #endif 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); int convert(std::string const & s, int base); } // namespace lyx #endif