PCMStringConverter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00027
00028 #ifndef __PCM_STRINGCONVERTER_H__
00029 # define __PCM_STRINGCONVERTER_H__
00030
00031
00032
00033
00034
00035 # include "PCMPremeditations.h"
00036
00037 # include "PCMException.h"
00038
00039 # include "PCMLogger.h"
00040
00041
00042
00043
00044
00045 # include <string>
00046
00047 # include <sstream>
00048
00049 # include <vector>
00050
00051 namespace ParCompMark
00052 {
00053
00058 class StringConverter
00059 {
00060
00061
00062
00063
00064 # ifdef PARCOMPMARK_TEST
00065 friend class ParCompMarkTest::TestStringConverter;
00066 # endif
00067
00068
00069
00070
00071
00073
00074
00075 public:
00076
00082 static const s32 DEFAULTPRECISION;
00083
00089 static const s32 DEFAULTFIELDWIDTH;
00090
00092
00093
00094
00095
00096
00098
00099
00100 public:
00101
00107 static std::string toString(const u8 & value);
00108
00114 static std::string toString(const u16 & value);
00115
00121 static std::string toString(const u32 & value);
00122
00128 static std::string toString(const s8 & value);
00129
00135 static std::string toString(const s16 & value);
00136
00142 static std::string toString(const s32 & value);
00143
00151 static std::string toString(const Real & value, const s32 & fieldWidth =
00152 StringConverter::DEFAULTFIELDWIDTH, const s32 & precision =
00153 StringConverter::DEFAULTPRECISION);
00154
00160 static std::string toString(const bool value);
00161
00167 static std::string toString(const void *value);
00168
00174 static u32 toU32(const std::string value);
00175
00181 static Real toReal(const std::string value);
00182
00188 static void *parsePointer(const std::string value);
00189
00194 static void trim(std::string & str);
00195
00202 static std::vector < std::string > tokenize(const std::string & str, const char *delimiters);
00203
00204 protected:
00205
00212 static std::string _fitFieldWidth(const std::string & str, const s32 & fieldWidth);
00213
00215
00216 };
00217
00218
00219
00220
00221
00222 # include "PCMStringConverter_impl.h"
00223
00224 }
00225
00226 #endif