| } | } | ||||
| constexpr static std::byte* _le_copy(std::uint64_t n, std::byte* ptr) noexcept { | constexpr static std::byte* _le_copy(std::uint64_t n, std::byte* ptr) noexcept { | ||||
| auto n_ptr = reinterpret_cast<const std::byte*>(&n); | |||||
| auto n_ptr = neo::byte_pointer(&n); | |||||
| auto n_end = n_ptr + sizeof n; | auto n_end = n_ptr + sizeof n; | ||||
| while (n_ptr != n_end) { | while (n_ptr != n_end) { | ||||
| *ptr++ = *n_ptr++; | *ptr++ = *n_ptr++; | ||||
| } | } | ||||
| digest_type ret = {}; | digest_type ret = {}; | ||||
| auto data = neo::byte_pointer(_running_digest.data()); | auto data = neo::byte_pointer(_running_digest.data()); | ||||
| auto dest = ret.data(); | |||||
| auto dest = ret.begin(); | |||||
| auto dest_end = ret.end(); | auto dest_end = ret.end(); | ||||
| while (dest != dest_end) { | while (dest != dest_end) { | ||||
| *dest++ = *data++; | *dest++ = *data++; |