# [−][src]Function rand_core::impls::fill_via_u32_chunks

    pub fn fill_via_u32_chunks(src: &[u32], dest: &mut [u8]) -> (usize, usize)

Implement `fill_bytes` by reading chunks from the output buffer of a block based RNG.

The return values are `(consumed_u32, filled_u8)`.

`filled_u8` is the number of filled bytes in `dest`, which may be less than the length of `dest`. `consumed_u32` is the number of words consumed from `src`, which is the same as `filled_u8 / 4` rounded up.

# Example

(from `IsaacRng`)

ⓘThis example is not tested

    fn fill_bytes(&mut self, dest: &mut [u8]) {
        let mut read_len = 0;
        while read_len < dest.len() {
            if self.index >= self.rsl.len() {
                self.isaac();
            }

            let (consumed_u32, filled_u8) =
                impls::fill_via_u32_chunks(&mut self.rsl[self.index..],
                                           &mut dest[read_len..]);

            self.index += consumed_u32;
            read_len += filled_u8;
        }
    }

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)