| 45 | |
| 46 | template <typename... ArgTypes> |
| 47 | std::wstring wstring_printf(const wchar_t *format, ArgTypes &&... args) { |
| 48 | size_t size = _snwprintf(nullptr, 0, format, args...); |
| 49 | std::vector<wchar_t> buf(size + 1); |
| 50 | _snwprintf(buf.data(), size + 1, format, args...); |
| 51 | return buf.data(); |
| 52 | } |
| 53 | |
| 54 | class MoveOnlyFlag { |
| 55 | using Self = MoveOnlyFlag; |
no test coverage detected