dmi_writer_mark

Synopsis

#include <opendmi/writer.h>

dmi_writer_mark_t dmi_writer_mark(const dmi_writer_t *writer);

Description

The dmi_writer_mark function takes a mark of the current position of the writer cursor.

Marks name a place to come back to without counting the bytes written in between, which is what the values written last need: mark the place, write whatever the value is counted over, then rewind with dmi_writer_rewind and write it, or pad the record out to its declared length with dmi_writer_skip_ex.

Marks are values: they are copied rather than allocated, nest without any bookkeeping, and need no release. A mark stays valid for as long as the writer holds the data it was taken over.

Parameters

writer

Writer to mark.

Return value

Mark of the current position, which is rejected by dmi_writer_rewind if writer is nullptr.

Errors

None.