36 using result_type =
typename Generator::result_type;
37 constexpr std::size_t result_size =
sizeof(result_type);
40 std::size_t const complete_iterations = bytes / result_size;
41 std::size_t const bytes_remaining = bytes % result_size;
43 for (
std::size_t count = 0; count < complete_iterations; ++count)
45 result_type
const v = g();
47 std::memcpy(buffer_start + offset, &v, result_size);
50 if (bytes_remaining > 0)
52 result_type
const v = g();
53 std::size_t const offset = complete_iterations * result_size;
54 std::memcpy(buffer_start + offset, &v, bytes_remaining);