|
55 | 55 | = ztd::text::transcode_result<decltype(input), decltype(output), FromState, ToState, UPivot>; \ |
56 | 56 | if constexpr (ztd::text::is_ignorable_error_handler_v<UFromErrorHandler> /* cf */ \ |
57 | 57 | && ztd::text::is_ignorable_error_handler_v<UToErrorHandler>) { \ |
58 | | - const std::size_t written_chars = (ztd::endian::native == ztd::endian::big \ |
59 | | - ? simdutf::convert_valid_utf##FROM_N##FROM_BIG_SUFFIX##_to_utf##TO_N##TO_BIG_SUFFIX \ |
60 | | - : simdutf::convert_valid_utf##FROM_N##FROM_LIL_SUFFIX##_to_utf##TO_N##TO_LIL_SUFFIX)( \ |
61 | | - (const from_char_t*)input.data(), input.size(), (to_char_t*)output.begin()); \ |
| 58 | + const std::size_t written_chars = ztd::endian::native == ztd::endian::big \ |
| 59 | + ? simdutf::convert_valid_utf##FROM_N##FROM_BIG_SUFFIX##_to_utf##TO_N##TO_BIG_SUFFIX( \ |
| 60 | + (const from_char_t*)input.data(), input.size(), (to_char_t*)output.begin()) \ |
| 61 | + : simdutf::convert_valid_utf##FROM_N##FROM_LIL_SUFFIX##_to_utf##TO_N##TO_LIL_SUFFIX( \ |
| 62 | + (const from_char_t*)input.data(), input.size(), (to_char_t*)output.begin()); \ |
62 | 63 | return TranscodeResult(input.subspan(input.size()), \ |
63 | 64 | ztd::ranges::unbounded_view(output.begin() + written_chars), from_state, to_state, \ |
64 | 65 | ztd::text::encoding_error::ok, 0, std::forward<Pivot>(pivot), ztd::text::encoding_error::ok, 0); \ |
65 | 66 | } \ |
66 | 67 | else { \ |
67 | | - const simdutf::result res = (ztd::endian::native == ztd::endian::big \ |
68 | | - ? simdutf::convert_utf##FROM_N##FROM_BIG_SUFFIX##_to_utf##TO_N##TO_BIG_SUFFIX##_with_errors \ |
69 | | - : simdutf::convert_utf##FROM_N##FROM_LIL_SUFFIX##_to_utf##TO_N##TO_LIL_SUFFIX##_with_errors)( \ |
70 | | - (const from_char_t*)input.data(), input.size(), (to_char_t*)output.begin()); \ |
| 68 | + const simdutf::result res = ztd::endian::native == ztd::endian::big \ |
| 69 | + ? simdutf::convert_utf##FROM_N##FROM_BIG_SUFFIX##_to_utf##TO_N##TO_BIG_SUFFIX##_with_errors( \ |
| 70 | + (const from_char_t*)input.data(), input.size(), (to_char_t*)output.begin()) \ |
| 71 | + : simdutf::convert_utf##FROM_N##FROM_LIL_SUFFIX##_to_utf##TO_N##TO_LIL_SUFFIX##_with_errors( \ |
| 72 | + (const from_char_t*)input.data(), input.size(), (to_char_t*)output.begin()); \ |
71 | 73 | if (res.error == simdutf::error_code::SUCCESS) { \ |
72 | 74 | return TranscodeResult(input.subspan(input.size()), \ |
73 | 75 | ztd::ranges::unbounded_view(output.begin() + res.count), from_state, to_state, \ |
|
99 | 101 | = ztd::text::transcode_result<decltype(input), decltype(output), FromState, ToState, UPivot>; \ |
100 | 102 | if constexpr (!ztd::text::is_ignorable_error_handler_v<UFromErrorHandler> /* cf */ \ |
101 | 103 | || !ztd::text::is_ignorable_error_handler_v<UToErrorHandler>) { \ |
102 | | - const simdutf::result validate_res = (ztd::endian::native == ztd::endian::big \ |
103 | | - ? simdutf::validate_utf##FROM_N##FROM_BIG_SUFFIX##_with_errors \ |
104 | | - : simdutf::validate_utf##FROM_N##FROM_LIL_SUFFIX##_with_errors)( \ |
105 | | - reinterpret_cast<const from_char_t*>(input.data()), input.size()); \ |
| 104 | + const simdutf::result validate_res = ztd::endian::native == ztd::endian::big \ |
| 105 | + ? simdutf::validate_utf##FROM_N##FROM_BIG_SUFFIX##_with_errors( \ |
| 106 | + reinterpret_cast<const from_char_t*>(input.data()), input.size()) \ |
| 107 | + : simdutf::validate_utf##FROM_N##FROM_LIL_SUFFIX##_with_errors( \ |
| 108 | + reinterpret_cast<const from_char_t*>(input.data()), input.size()); \ |
106 | 109 | if (validate_res.error != simdutf::error_code::SUCCESS) { \ |
107 | 110 | auto basic_result = ztd::text::basic_transcode_into_raw(input, from, output, to, \ |
108 | 111 | ::std::forward<FromErrorHandler>(from_error_handler), \ |
|
112 | 115 | ztd::text::encoding_error::ok, 0); \ |
113 | 116 | } \ |
114 | 117 | } \ |
115 | | - const size_t output_count = (ztd::endian::native == ztd::endian::big \ |
116 | | - ? simdutf::utf##TO_N##_length_from_utf##FROM_N##FROM_BIG_SUFFIX \ |
117 | | - : simdutf::utf##TO_N##_length_from_utf##FROM_N##FROM_LIL_SUFFIX)( \ |
118 | | - reinterpret_cast<const from_char_t*>(input.data()), input.size()); \ |
| 118 | + const size_t output_count = ztd::endian::native == ztd::endian::big \ |
| 119 | + ? simdutf::utf##TO_N##_length_from_utf##FROM_N##FROM_BIG_SUFFIX( \ |
| 120 | + reinterpret_cast<const from_char_t*>(input.data()), input.size()) \ |
| 121 | + : simdutf::utf##TO_N##_length_from_utf##FROM_N##FROM_LIL_SUFFIX( \ |
| 122 | + reinterpret_cast<const from_char_t*>(input.data()), input.size()); \ |
119 | 123 | if (output_count <= output.size()) { \ |
120 | | - std::size_t written_count = (ztd::endian::native == ztd::endian::big \ |
121 | | - ? simdutf::convert_valid_utf##FROM_N##FROM_BIG_SUFFIX##_to_utf##TO_N##TO_BIG_SUFFIX \ |
122 | | - : simdutf::convert_valid_utf##FROM_N##FROM_LIL_SUFFIX##_to_utf##TO_N##TO_LIL_SUFFIX)( \ |
123 | | - reinterpret_cast<const from_char_t*>(input.data()), input.size(), \ |
124 | | - reinterpret_cast<to_char_t*>(output.data())); \ |
| 124 | + std::size_t written_count = ztd::endian::native == ztd::endian::big \ |
| 125 | + ? simdutf::convert_valid_utf##FROM_N##FROM_BIG_SUFFIX##_to_utf##TO_N##TO_BIG_SUFFIX( \ |
| 126 | + reinterpret_cast<const from_char_t*>(input.data()), input.size(), \ |
| 127 | + reinterpret_cast<to_char_t*>(output.data())) \ |
| 128 | + : simdutf::convert_valid_utf##FROM_N##FROM_LIL_SUFFIX##_to_utf##TO_N##TO_LIL_SUFFIX( \ |
| 129 | + reinterpret_cast<const from_char_t*>(input.data()), input.size(), \ |
| 130 | + reinterpret_cast<to_char_t*>(output.data())); \ |
125 | 131 | return TranscodeResult(input.subspan(input.size()), output.subspan(written_count), from_state, \ |
126 | 132 | to_state, ztd::text::encoding_error::ok, 0, std::forward<Pivot>(pivot), \ |
127 | 133 | ztd::text::encoding_error::ok, 0); \ |
|
0 commit comments