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 void wreport::opcode::Visitor::b_variable | ( | Varcode | code | ) | [virtual] |
Notify of a B variable entry.
code | The B variable code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
virtual void wreport::opcode::Visitor::c_associated_field | ( | Varcode | code, |
Varcode | sig_code, | ||
unsigned | nbits | ||
) | [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 void wreport::opcode::Visitor::c_change_data_scale | ( | Varcode | code, |
int | change | ||
) | [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 void wreport::opcode::Visitor::c_change_data_width | ( | Varcode | code, |
int | change | ||
) | [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 void wreport::opcode::Visitor::c_char_data | ( | Varcode | code | ) | [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 void wreport::opcode::Visitor::c_char_data_override | ( | Varcode | code, |
unsigned | new_length | ||
) | [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 void wreport::opcode::Visitor::c_local_descriptor | ( | Varcode | code, |
Varcode | desc_code, | ||
unsigned | nbits | ||
) | [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 void wreport::opcode::Visitor::c_modifier | ( | Varcode | code | ) | [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 void wreport::opcode::Visitor::c_quality_information_bitmap | ( | Varcode | code | ) | [virtual] |
Notify a bitmap for quality information data.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
virtual void wreport::opcode::Visitor::c_substituted_value | ( | Varcode | code | ) | [virtual] |
Notify a substituted value.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
virtual void wreport::opcode::Visitor::c_substituted_value_bitmap | ( | Varcode | code | ) | [virtual] |
Notify a bitmap for substituted values.
code | The C modifier code |
Reimplemented in wreport::opcode::Printer, and wreport::bulletin::Visitor.
virtual void wreport::opcode::Visitor::d_group_begin | ( | Varcode | code | ) | [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 void wreport::opcode::Visitor::d_group_end | ( | Varcode | code | ) | [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 void wreport::opcode::Visitor::r_replication | ( | Varcode | code, |
Varcode | delayed_code, | ||
const Opcodes & | ops | ||
) | [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.
D table to use to expand D groups.
This must be provided by the caller