markedBlock {hexView}R Documentation

Create a markedBlock Object

Description

This function creates a "markedBlock" object, which is a description of a block of binary data. This can be used as part of a description of a binary format.

Usage

markedBlock(marker=integer4,
            switch=function(marker) { ASCIIchar },
            markerLabel="marker", blockLabel="block")

Arguments

marker

A "memBlock" object.

switch

A function that returns a "memBlock" object, or NULL.

markerLabel

A label to name the marker component of the "markedBlock" object.

blockLabel

A label to name the component that is read after the marker component of the "markedBlock" object.

Details

A "markedBlock" object describes a block of binary data that consists of a “marker” block containing information on further blocks. The marker block is read first, then this block is passed to the switch function. The switch function can look at the contents of the marker block and decide what sort of block should be read next (the blockValue() function may be useful here). The result of the switch function is read from the end of the marker block. The marker block and the result of the switch function can be any type of "memBlock" object. If the result of the switch() function is NULL then only the marker block is returned (no further memory is read).

Value

A "markedBlock" object.

Author(s)

Paul Murrell

See Also

memFormat readFormat memBlock atomicBlock vectorBlock lengthBlock mixedBlock blockValue

Examples

# A single-byte integer which dictates how many
# subsequent four-byte reals to read
markedBlock(integer1,
            function(marker) {
              lengthBlock(real4, blockValue(marker))
            })

[Package hexView version 0.3-4 Index]