[#BloombergLP-bdlat-FuzzUtil-consumeMessage-0f] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlat.adoc[bdlat]::xref:BloombergLP/bdlat/FuzzUtil.adoc[FuzzUtil]::consumeMessage :relfileprefix: ../../../ :mrdocs: Load into the specified `message` content generated using bytes from the specified `fuzzData`, and update `fuzzData` to reflect the bytes consumed. Optionally specify an `options` to customize the generated values. If `options` is not supplied, default values for the options are used. In general, this operation uses `fuzzData` to load the root message element, and then recursively applies `consumeMessage` to any child elements. More specifically: == Synopsis Declared in `<bdlat_fuzzutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_MESSAGE> static void consumeMessage( t_MESSAGE* message, xref:BloombergLP/bslim/FuzzDataView.adoc[bslim::FuzzDataView]* fuzzData); ---- == Description * sequence types: recursively `consumeMessage` on each of the elements of the sequence * array types: use `fuzzData` to determine the size of the array, use `consumeMessage` on each of the elements in the array * choice types: use `fuzzData` to select the active element of the choice, and then recursively `consumeMessage` for that element * nullable values: use `fuzzData` to select whether the object contains a value, and if it is engaged, recursively `consumeMessage` on it. * customized and dynamic types: recursively `consumeMessage` on the underlying value. `t_MESSAGE` must be a `bdlat`‐compatible type. [.small]#Created with https://www.mrdocs.com[MrDocs]#