libwreport
2.4
|
Visitor-style interface for scanning the contents of a data descriptor section. More...
#include <opcode.h>
Public Member Functions | |
virtual void | b_variable (Varcode code) |
Notify of a B variable entry. | |
virtual void | c_modifier (Varcode code) |
Notify of a C modifier. | |
virtual void | c_change_data_width (Varcode code, int change) |
Notify a change of data width. | |
virtual void | c_change_data_scale (Varcode code, int change) |
Notify a change of data scale. | |
virtual void | c_associated_field (Varcode code, Varcode sig_code, unsigned nbits) |
Notify the declaration of an associated field for the next values. | |
virtual void | c_char_data (Varcode code) |
Notify raw character data encoded via a C modifier. | |
virtual void | c_char_data_override (Varcode code, unsigned new_length) |
Notify an override of character data length. | |
virtual void | c_quality_information_bitmap (Varcode code) |
Notify a bitmap for quality information data. | |
virtual void | c_substituted_value_bitmap (Varcode code) |
Notify a bitmap for substituted values. | |
virtual void | c_substituted_value (Varcode code) |
Notify a substituted value. | |
virtual void | c_local_descriptor (Varcode code, Varcode desc_code, unsigned nbits) |
Notify the length of the following local descriptor. | |
virtual void | r_replication (Varcode code, Varcode delayed_code, const Opcodes &ops) |
Notify a replicated section. | |
virtual void | d_group_begin (Varcode code) |
Notify the start of a D group. | |
virtual void | d_group_end (Varcode code) |
Notify the end of a D group. |
Data Fields | |
const DTable * | dtable |
D table to use to expand D groups. |
Visitor-style interface for scanning the contents of a data descriptor section.
This supports scanning the DDS without looking at the data, so it cannot be used for encoding/decoding, as it cannot access the data that controls decoding such as delayed replicator factors or data descriptor bitmaps.
All interface methods have a default implementations that do nothing, so you can override only what you need.
|
virtual |
Notify of a B variable entry.
code | The B variable code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify the declaration of an associated field for the next values.
code | The C modifier code |
sig_code | The B code of the associated field significance opcode (or 0 to mark the end of the associated field encoding) |
nbits | The number of bits used for the associated field. |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify a change of data scale.
code | The C modifier code |
change | The scale change (positive or negative) |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify a change of data width.
code | The C modifier code |
change | The width change (positive or negative) |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify raw character data encoded via a C modifier.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify an override of character data length.
code | The C modifier code |
new_length | New length of all following character data (or 0 to reset to default) |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify the length of the following local descriptor.
code | The C modifier code |
desc_code | Local descriptor for which the length is provided |
nbits | Bit size of the data described by desc_code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify of a C modifier.
Whenever the modifier is a supported one, this is followed by an invocation of one of the specific c_* methods.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify a bitmap for quality information data.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify a substituted value.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify a bitmap for substituted values.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
|
virtual |
Notify the start of a D group.
code | The D code that is being expanded |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::DDSPrinter.
|
virtual |
Notify the end of a D group.
code | The D code that has just been expanded |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::DDSPrinter.
|
virtual |
Notify a replicated section.
code | The R replication code |
delayed_code | The delayed replication B code, or 0 if delayed replication is not used |
ops | The replicated operators |
Reimplemented in wreport::opcode::Printer, wreport::bulletin::Visitor, and wreport::bulletin::DDSPrinter.
const DTable* wreport::opcode::Visitor::dtable |
D table to use to expand D groups.
This must be provided by the caller