
/**
@file to_string.hpp
@brief boost::formatを使ったstd::string文字列への変換

 */
#ifndef DKUTIL_TO_STRING_HPP
#define DKUTIL_TO_STRING_HPP

#include <string>
#include <dkutil/macro.hpp>
#include <dkutil/boost/format.hpp>



namespace dkutil{

///int型をstd::string型に変える。
inline std::string to_string_int32(int32 i){
	char buff[64]="";
	itoa(i,buff,10);
	return std::string(buff);
}

inline std::string to_string_int64(int64 ui){
	std::string s;
	s = boost::io::str( boost::format("%ull") % ui);
	return s;
}
/*inline bool uitoa(UINT i,char *buff,size_t size,int radix){
	
}*/

inline std::string to_string_uint32(uint32 ui){
	std::string s;
	s = boost::io::str( boost::format("%d") % ui);
	return s;
}

inline std::string to_string_uint64(uint64 ui){
	std::string s;
	s = boost::io::str( boost::format("%d") % ui);
	return s;
}
	
///double型をstd::string型に変える。
inline std::string to_string_double(double d){
		//char buff[256]="";
	std::string s;
	s = boost::io::str( boost::format("%f") % d);
	//dksprintf(buff,sizeof(buff),"%f",d);
	return s;
}
inline std::string to_string(double d){
	return to_string_double(d);
}
}
#endif 

