00001
00004
00005
00006
00007
00008 #ifndef _cel_printf_h_
00009 #define _cel_printf_h_
00010
00011 #include "cel_types.h"
00012
00013 #include <cstdarg>
00014 #include <string>
00015
00016 namespace Celartem
00017 {
00025 template<typename Char> struct Printf
00026 {
00040 static Char *sprintf(const Char *format, ...);
00041
00055 static Char *vsprintf(const Char *format, std::va_list ap);
00056 };
00057
00061 template<> struct Printf<char>
00062 {
00078 static char *sprintf(const char *format, ...);
00079
00095 static char *vsprintf(const char *format, std::va_list ap);
00096 };
00097
00101 template<> struct Printf<wchar_t>
00102 {
00118 static wchar_t *sprintf(const wchar_t *format, ...);
00119
00135 static wchar_t *vsprintf(const wchar_t *format, std::va_list ap);
00136 };
00137
00147 void cel_puts(const char* message);
00148
00160 void cel_vprintf(const char *format, std::va_list ap);
00161
00173 void cel_printf(const char *format, ...);
00174
00202 void cel_dbgPrintf(const char *format, ...);
00203
00215 std::string cel_printf_string(const char *format, ...);
00216
00217 }
00218
00219 #endif // _cel_printf_h_