...
This commit is contained in:
@@ -170,14 +170,19 @@ static ValueT AdcFromChars(R&& range)
|
||||
static const std::regex AdcIntegerRegex("^ *[+-]?\\d+\\d* *$", std::regex::ECMAScript);
|
||||
static const std::regex AdcRealRegex("^ *[-+]?\\d+\\d*\\.?\\d*([Ee][-+]?\\d+)? *$", std::regex::ECMAScript);
|
||||
|
||||
template <typename SerializedT, traits::formattable VT>
|
||||
// template <typename SerializedT, traits::formattable VT>
|
||||
template <typename SerializedT, typename VT>
|
||||
static SerializedT AdcTrivialSerializer(VT&& value)
|
||||
{
|
||||
using v_t = std::decay_t<VT>;
|
||||
|
||||
if constexpr (std::is_convertible_v<v_t, SerializedT>) {
|
||||
return static_cast<SerializedT>(std::forward<VT>(value));
|
||||
} else if constexpr (traits::adc_output_char_range<SerializedT>) {
|
||||
} else if constexpr (traits::adc_output_char_range<SerializedT> && traits::adc_input_char_range<v_t>) {
|
||||
SerializedT s_val;
|
||||
std::ranges::copy(std::forward<VT>(value), std::back_inserter(s_val));
|
||||
return s_val;
|
||||
} else if constexpr (traits::adc_output_char_range<SerializedT> && traits::formattable<v_t>) {
|
||||
SerializedT s_val;
|
||||
std::format_to(std::back_inserter(s_val), "{}", std::forward<VT>(value));
|
||||
return s_val;
|
||||
|
||||
Reference in New Issue
Block a user