X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fpbd%2Fpbd%2Fconvert.h;h=d638ab8c8d5080fedcd0df6f58ca4ded2cb32816;hb=e01d074ad1d1837055437e372e0102fc34a4c257;hp=12e63ba6fc3c2034886226bf13f8bc573d655ac4;hpb=79986643c0c904f6574bb5323e2233a43a9e622e;p=ardour.git diff --git a/libs/pbd/pbd/convert.h b/libs/pbd/pbd/convert.h index 12e63ba6fc..d638ab8c8d 100644 --- a/libs/pbd/pbd/convert.h +++ b/libs/pbd/pbd/convert.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002 Paul Davis + Copyright (C) 2002 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,20 +20,46 @@ #ifndef __pbd_convert_h__ #define __pbd_convert_h__ +#include #include #include +#include +#include +#include + +#include "pbd/libpbd_visibility.h" namespace PBD { -std::string short_version (std::string, std::string::size_type target_length); +LIBPBD_API std::string short_version (std::string, std::string::size_type target_length); + +LIBPBD_API int atoi (const std::string&); +LIBPBD_API int32_t atol (const std::string&); +LIBPBD_API int64_t atoll (const std::string&); +LIBPBD_API double atof (const std::string&); +LIBPBD_API std::string url_decode (std::string const &); + +LIBPBD_API std::string capitalize (const std::string&); +LIBPBD_API std::string downcase (const std::string&); +LIBPBD_API const char* downcase (const char*); + +// std::string length2string (const int32_t frames, const float sample_rate); +LIBPBD_API std::string length2string (const int64_t frames, const double sample_rate); + +LIBPBD_API std::vector internationalize (const char *, const char **); +LIBPBD_API bool strings_equal_ignore_case (const std::string& a, const std::string& b); -int atoi (const std::string&); -double atof (const std::string&); -void url_decode (std::string&); +template std::string /*LIBPBD_API*/ +to_string (T t, std::ios_base & (*f)(std::ios_base&)) +{ + std::ostringstream oss; + oss << f << t; + return oss.str(); +} -std::string length2string (const int32_t frames, const float sample_rate); +LIBPBD_API bool string_is_affirmative (const std::string&); -std::vector internationalize (const char **); +LIBPBD_API const char* sgettext (const char *, const char *); } //namespace PBD