|
libwreport
3.29
|
Interpreter that scans what features are used by a bulletin. More...
#include <dds-scanfeatures.h>
Public Member Functions | |
| ScanFeatures (const Tables &tables, const Opcodes &opcodes) | |
| void | c_modifier (Varcode code, Opcodes &next) override |
| Notify of a C modifier. More... | |
| void | r_replication (Varcode code, Varcode delayed_code, const Opcodes &ops) override |
| Handle a replicated section. More... | |
| 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. More... | |
| unsigned | define_associated_field_significance (Varinfo info) override |
| Request processing of an associated field significance variable (B31021). More... | |
| 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. More... | |
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. More... | |
| 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. More... | |
| virtual void | run_d_expansion (Varcode code) |
| Executes the expansion of code, which has been put on top of the opcode stack. More... | |
| 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. More... | |
| 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. | |
Interpreter that scans what features are used by a bulletin.
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 from wreport::bulletin::Interpreter.
|
overridevirtual |
Request processing of an associated field significance variable (B31021).
Reimplemented from wreport::bulletin::Interpreter.
|
overridevirtual |
Request processing of a data present bitmap.
| 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 |
Reimplemented from wreport::bulletin::Interpreter.
|
overridevirtual |
Request processing of a delayed replication factor variable used to encode the size of a bitmap.
Reimplemented from wreport::bulletin::Interpreter.
|
overridevirtual |
Handle 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 from wreport::bulletin::Interpreter.