16 using result_type =
typename Generator::result_type;
17 constexpr std::size_t result_size =
sizeof(result_type);
20 std::size_t const complete_iterations = bytes / result_size;
21 std::size_t const bytes_remaining = bytes % result_size;
23 for (
std::size_t count = 0; count < complete_iterations; ++count)
25 result_type
const v = g();
27 std::memcpy(buffer_start + offset, &v, result_size);
30 if (bytes_remaining > 0)
32 result_type
const v = g();
33 std::size_t const offset = complete_iterations * result_size;
34 std::memcpy(buffer_start + offset, &v, bytes_remaining);