libwreport  2.8
Public Member Functions | Data Fields
wreport::bulletin::Visitor Struct Referenceabstract

Abstract interface for classes that can be used as targets for the Bulletin Data Descriptor Section interpreters. More...

#include <internals.h>

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

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 &current_subset)
 Notify the start of a subset.
 
virtual void do_start_repetition (unsigned idx)
 Notify the beginning of one instance of an R group. More...
 
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 Vardo_semantic_var (Varinfo info)=0
 Request processing, according to info, of a data variabile that is significant for controlling the encoding process. More...
 
virtual const Vardo_bitmap (Varcode code, Varcode rep_code, Varcode delayed_code, const Opcodes &ops)=0
 Request processing of a data present bitmap. More...
 
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
 
- Public Member Functions inherited from wreport::opcode::Visitor
virtual void d_group_begin (Varcode code)
 Notify the start of a D group. More...
 
virtual void d_group_end (Varcode code)
 Notify the end of a D group. More...
 

Data Fields

const Vartablebtable
 B table used to resolve variable information.
 
const Subsetcurrent_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. More...
 
- Data Fields inherited from wreport::opcode::Visitor
const DTabledtable
 D table to use to expand D groups. More...
 

Detailed Description

Abstract interface for classes that can be used as targets for the Bulletin Data Descriptor Section interpreters.

Member Function Documentation

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.

Parameters
codeThe C modifier code that defines the bitmap
rep_codeThe R replicator that defines the bitmap
delayed_codeThe B delayed replicator that defines the bitmap length (it is 0 if the length is encoded in the YYY part of rep_code
opsThe replicated opcodes that define the bitmap
Returns
The bitmap that has been processed.

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.

Returns
a copy of the variable

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.

Parameters
idxThe repetition sequence number (0 at the first iteration, 1 at the second, and so on)

Field Documentation

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.


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