wreport::bulletin::ScanFeatures Class Reference

Interpreter that scans what features are used by a bulletin. More...

`#include <dds-scanfeatures.h>`

Inheritance diagram for wreport::bulletin::ScanFeatures:

## Public Member Functions

| ScanFeatures (const Tables &tables, const Opcodes &opcodes)
void | c_modifier (Varcode code, Opcodes &next) override
| Notify of a C modifier.
void | r_replication (Varcode code, Varcode delayed_code, const Opcodes &ops) override
| Handle a replicated section.
void | define_variable (Varinfo info) override
| Request processing, according to info, of a data variable.
void | define_bitmap (unsigned bitmap_size) override
| Request processing of a data present bitmap.
unsigned | define_associated_field_significance (Varinfo info) override
| Request processing of an associated field significance variable (B31021).
unsigned | define_bitmap_delayed_replication_factor (Varinfo info) override
| Request processing of a delayed replication factor variable used to encode the size of a bitmap.
Public Member Functions inherited from wreport::bulletin::Interpreter
| Interpreter (const Tables &tables, const Opcodes &opcodes)
| Interpreter (const Interpreter &)=delete
Interpreter & | operator= (const Interpreter &)=delete
void | run ()
| Run the interpreter.
virtual void | b_variable (Varcode code)
| Notify of a B variable entry.
virtual void | r_bitmap (Varcode code, Varcode delayed_code, const Opcodes &ops)
| Handle a replicated section which defines a bitmap.
virtual void | run_r_repetition (unsigned cur, unsigned total)
| Executes a repetition of the opcodes on top of the stack.
virtual void | run_d_expansion (Varcode code)
| Executes the expansion of code, which has been put on top of the opcode stack.
virtual void | define_variable_with_associated_field (Varinfo info)
| Request processing, according to info, of a data variable.
virtual unsigned | define_delayed_replication_factor (Varinfo info)
| Request processing, according to info, of a data variabile that is significant for controlling the encoding process.
virtual void | define_substituted_value (unsigned pos)
| Request processing of a substituted value corresponding to position pos in the list or previous variables.
virtual void | define_attribute (Varinfo info, unsigned pos)
| Request processing of an attribute encoded with info, related to the variable as position pos in the list of previous variables.
virtual void | define_raw_character_data (Varcode code)
| Request processing of C05yyy raw character data.
virtual void | define_c03_refval_override (Varcode code)
| Request processing of a new value for the reference value of the given B code.

## Data Fields

std::set< std::string > | features
| Features that have been found.
Data Fields inherited from wreport::bulletin::Interpreter
const Tables & | tables
std::stack< Opcodes > | opcode_stack
Bitmaps | bitmaps
| Bitmap iteration.
AssociatedField | associated_field
| Current associated field state.
int | c_scale_change = 0
| Current value of scale change from C modifier.
int | c_width_change = 0
| Current value of width change from C modifier.
int | c_scale_ref_width_increase = 0
| Increase of scale, reference value and data width.
int | c_string_len_override = 0
| Current value of string length override from C08 modifiers (0 for no override).
std::map< wreport::Varcode, uint32_t > | c03_refval_overrides
| Current reference value overrides.
unsigned | c03_refval_override_bits = 0
| Set to the number of reference value override bits while reading the override values.

## Additional Inherited Members

Static Public Member Functions inherited from wreport::bulletin::Interpreter
static void | print_c_modifier (FILE *out, Varcode code, Opcodes &nex)
| Print a description of this C modifier.
Protected Member Functions inherited from wreport::bulletin::Interpreter
Varinfo | get_varinfo (Varcode code)
| Return a Varinfo for the given Varcode, applying all relevant C modifications that are currently active.

## Detailed Description

Interpreter that scans what features are used by a bulletin.

## Member Function Documentation

## c_modifier()

void wreport::bulletin::ScanFeatures::c_modifier | ( | Varcode | code,
|  | Opcodes & | next )

override 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

  code | The C modifier code

Reimplemented from wreport::bulletin::Interpreter.

## define_associated_field_significance()

unsigned wreport::bulletin::ScanFeatures::define_associated_field_significance | ( | Varinfo | info | ) |

override virtual

Request processing of an associated field significance variable (B31021).

Returns
  the associated field significance value

Reimplemented from wreport::bulletin::Interpreter.

## define_bitmap()

void wreport::bulletin::ScanFeatures::define_bitmap | ( | unsigned | bitmap_size | ) |

override virtual

Request processing of a data present bitmap.

Parameters

  code | The C modifier code that defines the bitmap
  rep_code | The R replicator that defines the bitmap
  delayed_code | The B delayed replicator that defines the bitmap length (it is 0 if the length is encoded in the YYY part of rep_code
  ops | The replicated opcodes that define the bitmap

Returns
  The bitmap that has been processed.

Reimplemented from wreport::bulletin::Interpreter.

## define_bitmap_delayed_replication_factor()

unsigned wreport::bulletin::ScanFeatures::define_bitmap_delayed_replication_factor | ( | Varinfo | info | ) |

override virtual

Request processing of a delayed replication factor variable used to encode the size of a bitmap.

Returns
  the repetition count

Reimplemented from wreport::bulletin::Interpreter.

## define_variable()

void wreport::bulletin::ScanFeatures::define_variable | ( | Varinfo | info | ) |

override virtual

Request processing, according to info, of a data variable.

Reimplemented from wreport::bulletin::Interpreter.

## r_replication()

void wreport::bulletin::ScanFeatures::r_replication | ( | Varcode | code,
|  | Varcode | delayed_code,
|  | const Opcodes & | ops )

override virtual

Handle a replicated section.

Parameters

  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 from wreport::bulletin::Interpreter.

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

- dds-scanfeatures.h