libwreport
2.4
|
Abstract interface for classes that can be used as targets for the Bulletin Data Descriptor Section interpreters. More...
#include <internals.h>
Public Member Functions | |
Varinfo | get_varinfo (Varcode code) |
Return the Varinfo describing the variable code, possibly altered taking into account current C modifiers. | |
virtual void | do_start_subset (unsigned subset_no, const Subset ¤t_subset) |
Notify the start of a subset. | |
virtual void | do_start_repetition (unsigned idx) |
Notify the beginning of one instance of an R group. | |
virtual void | do_associated_field (unsigned bit_count, unsigned significance)=0 |
Request processing of bit_count bits of associated field with the given significance. | |
virtual void | do_attr (Varinfo info, unsigned var_pos, Varcode attr_code)=0 |
Request processing, according to info, of the attribute attr_code of the variable in position var_pos in the current subset. | |
virtual void | do_var (Varinfo info)=0 |
Request processing, according to info, of a data variable. | |
virtual const Var & | do_semantic_var (Varinfo info)=0 |
Request processing, according to info, of a data variabile that is significant for controlling the encoding process. | |
virtual const Var & | do_bitmap (Varcode code, Varcode rep_code, Varcode delayed_code, const Opcodes &ops)=0 |
Request processing of a data present bitmap. | |
virtual void | do_char_data (Varcode code)=0 |
Request processing of C05yyy character data. | |
virtual void | b_variable (Varcode code) |
opcode::Visitor methods implementation | |
virtual void | c_modifier (Varcode code) |
opcode::Visitor methods implementation | |
virtual void | c_change_data_width (Varcode code, int change) |
opcode::Visitor methods implementation | |
virtual void | c_change_data_scale (Varcode code, int change) |
opcode::Visitor methods implementation | |
virtual void | c_associated_field (Varcode code, Varcode sig_code, unsigned nbits) |
opcode::Visitor methods implementation | |
virtual void | c_char_data (Varcode code) |
opcode::Visitor methods implementation | |
virtual void | c_char_data_override (Varcode code, unsigned new_length) |
opcode::Visitor methods implementation | |
virtual void | c_quality_information_bitmap (Varcode code) |
opcode::Visitor methods implementation | |
virtual void | c_substituted_value_bitmap (Varcode code) |
opcode::Visitor methods implementation | |
virtual void | c_substituted_value (Varcode code) |
opcode::Visitor methods implementation | |
virtual void | c_local_descriptor (Varcode code, Varcode desc_code, unsigned nbits) |
opcode::Visitor methods implementation | |
virtual void | r_replication (Varcode code, Varcode delayed_code, const Opcodes &ops) |
opcode::Visitor methods implementation | |
Data Fields | |
const Vartable * | btable |
B table used to resolve variable information. | |
const Subset * | current_subset |
Current subset (used to refer to past variables) | |
Bitmap | bitmap |
Bitmap iteration. | |
int | c_scale_change |
Current value of scale change from C modifier. | |
int | c_width_change |
Current value of width change from C modifier. | |
int | c_string_len_override |
Current value of string length override from C08 modifiers (0 for no override) | |
int | c04_bits |
Number of extra bits inserted by the current C04yyy modifier (0 for no C04yyy operator in use) | |
int | c04_meaning |
Meaning of C04yyy field according to code table B31021. | |
Varcode | want_bitmap |
Nonzero if a Data Present Bitmap is expected. | |
unsigned | data_pos |
Number of data items processed so far. |
Abstract interface for classes that can be used as targets for the Bulletin Data Descriptor Section interpreters.
virtual const Var& wreport::bulletin::Visitor::do_bitmap | ( | Varcode | code, |
Varcode | rep_code, | ||
Varcode | delayed_code, | ||
const Opcodes & | ops | ||
) | [pure virtual] |
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 |
Implemented in wreport::bulletin::ConstBaseVisitor, wreport::bulletin::BaseVisitor, and wreport::bulletin::DDSPrinter.
virtual const Var& wreport::bulletin::Visitor::do_semantic_var | ( | Varinfo | info | ) | [pure virtual] |
Request processing, according to info, of a data variabile that is significant for controlling the encoding process.
This means that the variable has always the same value on all datasets (in case of compressed datasets), and that the interpreter needs to know its value.
Implemented in wreport::bulletin::DDSPrinter, and wreport::bulletin::DDSValidator.
virtual void wreport::bulletin::Visitor::do_start_repetition | ( | unsigned | idx | ) | [virtual] |
Notify the beginning of one instance of an R group.
idx | The repetition sequence number (0 at the first iteration, 1 at the second, and so on) |
unsigned wreport::bulletin::Visitor::data_pos |
Number of data items processed so far.
This is used to generate reference to past decoded data, used when associating attributes to variables.