diff options
author | crupest <crupest@outlook.com> | 2022-01-18 23:27:37 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-01-18 23:27:37 +0800 |
commit | 46ced88c30eeb5f84b7fe78a36d18428babe4fcf (patch) | |
tree | 7933f921d3a60edf2d44e5b2d79907a913639d4f /include/cru/common | |
parent | eecd4e5ba96244be15e3be9a9a4d404c36a533c7 (diff) | |
download | cru-46ced88c30eeb5f84b7fe78a36d18428babe4fcf.tar.gz cru-46ced88c30eeb5f84b7fe78a36d18428babe4fcf.tar.bz2 cru-46ced88c30eeb5f84b7fe78a36d18428babe4fcf.zip |
...
Diffstat (limited to 'include/cru/common')
-rw-r--r-- | include/cru/common/Format.hpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/cru/common/Format.hpp b/include/cru/common/Format.hpp index c093c9e6..c2fd2e09 100644 --- a/include/cru/common/Format.hpp +++ b/include/cru/common/Format.hpp @@ -33,14 +33,17 @@ std::enable_if_t<std::is_floating_point_v<T>, String> ToString(T value) { return String(str.cbegin(), str.cend()); } -inline String ToString(String value) { return value; } - template <typename T> -String ToString(T&& value, StringView option) { +std::enable_if_t< + std::is_convertible_v<decltype(ToString(std::declval<const T&>)), String>, + String> +ToString(const T& value, StringView option) { CRU_UNUSED(option) - return ToString(std::forward<T>(value)); + return ToString(value); } +inline String ToString(String value) { return value; } + namespace details { enum class FormatTokenType { PlaceHolder, Text }; enum class FormatPlaceHolderType { None, Positioned, Named }; |