mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@3000 3b4a5df2-a311-0410-b5c6-a8a6f20db521
55 lines
1004 B
C++
55 lines
1004 B
C++
#ifndef _TOOLS_H_
|
|
#define _TOOLS_H_
|
|
|
|
#include "../utf8string.h"
|
|
#include <list>
|
|
|
|
template<typename CharType, typename ValueType>
|
|
std::basic_string<CharType> ToString(ValueType const& rVal)
|
|
{
|
|
std::basic_stringstream<CharType> tss;
|
|
if( !(tss << rVal))
|
|
{
|
|
return std::basic_string<CharType>();
|
|
}
|
|
return tss.str();
|
|
}
|
|
|
|
template<typename T_>
|
|
bool ConvertTo(utf8string const& sStr, T_ &rVal)
|
|
{
|
|
std::wstringstream ss;
|
|
ss.str(sStr.c_wcs());
|
|
if(!(ss >> rVal))
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
template<typename T_>
|
|
utf8string ToStringList(std::list<T_> const& rValList)
|
|
{
|
|
std::wstringstream ss;
|
|
typename std::list<T_>::const_iterator cit = rValList.begin();
|
|
if(cit != rValList.end())
|
|
{
|
|
ss << *cit;
|
|
cit++;
|
|
for(;cit != rValList.end(); ++cit)
|
|
{
|
|
ss << L" , " << *cit;
|
|
}
|
|
}
|
|
if(!ss)
|
|
{
|
|
return L"";
|
|
}
|
|
return ss.str();
|
|
}
|
|
|
|
template<>
|
|
utf8string ToStringList<utf8string>(std::list<utf8string> const& rValList);
|
|
|
|
#endif // _TOOLS_H_
|