diff options
Diffstat (limited to 'support/hololens/ServoApp/strutils.h')
-rw-r--r-- | support/hololens/ServoApp/strutils.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/support/hololens/ServoApp/strutils.h b/support/hololens/ServoApp/strutils.h new file mode 100644 index 00000000000..22198332c90 --- /dev/null +++ b/support/hololens/ServoApp/strutils.h @@ -0,0 +1,22 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +#pragma once + +template <typename... Args> +std::wstring format(const std::wstring &txt, Args... args) { + size_t size = swprintf(nullptr, 0, txt.c_str(), args...) + 1; + if (size <= 0) { + throw std::runtime_error("Error during formatting."); + } + auto ptr = new wchar_t[size]; + swprintf(ptr, size, txt.c_str(), args...); + auto wstr = std::wstring(ptr); + delete ptr; + return wstr; +} + +template <typename... Args> void log(const std::wstring &txt, Args... args) { + OutputDebugString((format(txt, args...) + L"\r\n").c_str()); +} |