libwreport 2.1
Public Member Functions | Data Fields
wreport::opcode::Visitor Struct Reference

Visitor-style interface for scanning the contents of a data descriptor section. More...

#include <opcode.h>

Inheritance diagram for wreport::opcode::Visitor:
wreport::bulletin::Visitor wreport::opcode::Printer wreport::bulletin::BaseVisitor wreport::bulletin::ConstBaseVisitor wreport::bulletin::DDSPrinter wreport::bulletin::DDSValidator

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 DTabledtable
 D table to use to expand D groups.

Detailed Description

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.


Member Function Documentation

virtual void wreport::opcode::Visitor::b_variable ( Varcode  code) [virtual]

Notify of a B variable entry.

Parameters:
codeThe B variable code

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

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.

Parameters:
codeThe C modifier code
sig_codeThe B code of the associated field significance opcode (or 0 to mark the end of the associated field encoding)
nbitsThe number of bits used for the associated field.

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_change_data_scale ( Varcode  code,
int  change 
) [virtual]

Notify a change of data scale.

Parameters:
codeThe C modifier code
changeThe scale change (positive or negative)

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_change_data_width ( Varcode  code,
int  change 
) [virtual]

Notify a change of data width.

Parameters:
codeThe C modifier code
changeThe width change (positive or negative)

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_char_data ( Varcode  code) [virtual]

Notify raw character data encoded via a C modifier.

Parameters:
codeThe C modifier code

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_char_data_override ( Varcode  code,
unsigned  new_length 
) [virtual]

Notify an override of character data length.

Parameters:
codeThe C modifier code
new_lengthNew length of all following character data (or 0 to reset to default)

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_local_descriptor ( Varcode  code,
Varcode  desc_code,
unsigned  nbits 
) [virtual]

Notify the length of the following local descriptor.

Parameters:
codeThe C modifier code
desc_codeLocal descriptor for which the length is provided
nbitsBit size of the data described by desc_code

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

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.

Parameters:
codeThe C modifier code

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_quality_information_bitmap ( Varcode  code) [virtual]

Notify a bitmap for quality information data.

Parameters:
codeThe C modifier code

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_substituted_value ( Varcode  code) [virtual]

Notify a substituted value.

Parameters:
codeThe C modifier code

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::c_substituted_value_bitmap ( Varcode  code) [virtual]

Notify a bitmap for substituted values.

Parameters:
codeThe C modifier code

Reimplemented in wreport::bulletin::Visitor, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::d_group_begin ( Varcode  code) [virtual]

Notify the start of a D group.

Parameters:
codeThe D code that is being expanded

Reimplemented in wreport::bulletin::DDSPrinter, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::d_group_end ( Varcode  code) [virtual]

Notify the end of a D group.

Parameters:
codeThe D code that has just been expanded

Reimplemented in wreport::bulletin::DDSPrinter, and wreport::opcode::Printer.

virtual void wreport::opcode::Visitor::r_replication ( Varcode  code,
Varcode  delayed_code,
const Opcodes ops 
) [virtual]

Notify a replicated section.

Parameters:
codeThe R replication code
delayed_codeThe delayed replication B code, or 0 if delayed replication is not used
opsThe replicated operators

Reimplemented in wreport::bulletin::DDSPrinter, wreport::bulletin::Visitor, and wreport::opcode::Printer.


Field Documentation

D table to use to expand D groups.

This must be provided by the caller


The documentation for this struct was generated from the following file: