Should anything be done with this then?
// TRANSITION, ABI: preserved for binary compatibility |
const void* __stdcall __std_find_trivial_unsized_2(const void* const _First, const uint16_t _Val) noexcept { |
// TRANSITION, DevCom-1614562: not trying wmemchr |
return __std_find_trivial_unsized_impl(_First, _Val); |
} |
#else // ^^^ _USE_STD_VECTOR_ALGORITHMS / !_USE_STD_VECTOR_ALGORITHMS vvv |
if constexpr (sizeof(_Iter_value_t<_InIt>) == 1) { |
const auto _First_ptr = _STD _To_address(_First); |
const auto _Result = static_cast<remove_reference_t<_Iter_ref_t<_InIt>>*>( |
_CSTD memchr(_First_ptr, static_cast(_Val), static_cast<size_t>(_Last - _First))); |
if constexpr (is_pointer_v<_InIt>) { |
return _Result ? _Result : _Last; |
} else { |
return _Result ? _First + (_Result - _First_ptr) : _Last; |
} |
} |
// TRANSITION, DevCom-1614562: not trying wmemchr |
#endif // ^^^ !_USE_STD_VECTOR_ALGORITHMS ^^^ |
_NODISCARD constexpr _It _Find_unchecked(_It _First, const _Se _Last, const _Ty& _Val, _Pj _Proj = {}) { |
// TRANSITION, DevCom-1614562: not trying wmemchr |
// Only single-byte elements are suitable for unsized optimization |
constexpr bool _Single_byte_elements = sizeof(_Iter_value_t<_It>) == 1; |
constexpr bool _Is_sized = sized_sentinel_for<_Se, _It>; |
|
if constexpr (_Vector_alg_in_find_is_safe<_It, _Ty> |