#include <iostream>
#include <iomanip>
#include <sstream>
#include <string>
#include <cwchar>
void OutputDebugStringW(const wchar_t *wstr)
{
std::wcout << wstr << std::endl;
}
std::wostream& operator<<(std::wostream &os, const std::string &str)
{
os << str.c_str();
return os;
}
template <typename Arg, typename... Args>
void doPrint(Arg&& arg, Args&&... args)
{
std::wostringstream out;
out << std::forward<Arg>(arg);
using expander = int[];
(void)expander {
0, (void(out << std::left << std::setw(20) << std::forward<Args>(args)), 0)...
};
OutputDebugStringW(out.str().c_str());
}
int main()
{
std::wstring color = L"blue";
doPrint("color: ", color);
}