internals.h
#ifndef WREPORT_BULLETIN_INTERNALS_H
#define WREPORT_BULLETIN_INTERNALS_H
#include <wreport/varinfo.h>
#include <wreport/opcodes.h>
#include <wreport/bulletin/interpreter.h>
#include <vector>
#include <memory>
#include <cmath>
namespace wreport {
struct Var;
struct Subset;
struct Bulletin;
namespace bulletin {
struct UncompressedEncoder : public bulletin::Interpreter
{
const Subset& current_subset;
unsigned current_var = 0;
UncompressedEncoder(const Bulletin& bulletin, unsigned subset_no);
virtual ~UncompressedEncoder();
const Var& peek_var();
const Var& get_var();
const Var& get_var(unsigned pos) const;
void define_bitmap(unsigned bitmap_size) override;
void define_variable(Varinfo info) override;
void define_variable_with_associated_field(Varinfo info) override;
unsigned define_delayed_replication_factor(Varinfo info) override;
unsigned define_associated_field_significance(Varinfo info) override;
unsigned define_bitmap_delayed_replication_factor(Varinfo info) override;
virtual void encode_var(Varinfo info, const Var& var);
virtual void encode_associated_field(const Var& var);
};
}
}
#endif
wreport::Bulletin
Storage for the decoded data of a BUFR or CREX message.
Definition bulletin.h:30
wreport::Subset
Represent a BUFR/CREX data subset as a list of decoded variables.
Definition subset.h:13
wreport::Var
A physical variable.
Definition var.h:25
wreport::bulletin
The bulletin namespace contains bulletin implementation details, internals and utility functions.
Definition input.h:13
wreport
String functions.
Definition benchmark.h:13
wreport::Varinfo
const _Varinfo * Varinfo
Varinfo reference.
Definition fwd.h:11
wreport::bulletin::Interpreter
Interpreter for data descriptor sections.
Definition interpreter.h:26
wreport::bulletin::UncompressedEncoder::current_var
unsigned current_var
Index of the next variable to be visited.
Definition internals.h:27
wreport::bulletin::UncompressedEncoder::peek_var
const Var & peek_var()
Get the next variable, without incrementing current_var.
wreport::bulletin::UncompressedEncoder::get_var
const Var & get_var()
Get the next variable, incrementing current_var by 1.
wreport::bulletin::UncompressedEncoder::current_subset
const Subset & current_subset
Current subset (used to refer to past variables).
Definition internals.h:25
wreport::bulletin::UncompressedEncoder::encode_var
virtual void encode_var(Varinfo info, const Var &var)
Encode a variable.
wreport::bulletin::UncompressedEncoder::get_var
const Var & get_var(unsigned pos) const
Get the variable at the given position.
wreport::bulletin::UncompressedEncoder::define_variable_with_associated_field
void define_variable_with_associated_field(Varinfo info) override
Request processing, according to info, of a data variable.
wreport::bulletin::UncompressedEncoder::define_associated_field_significance
unsigned define_associated_field_significance(Varinfo info) override
Request processing of an associated field significance variable (B31021).
wreport::bulletin::UncompressedEncoder::define_bitmap_delayed_replication_factor
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.
wreport::bulletin::UncompressedEncoder::encode_associated_field
virtual void encode_associated_field(const Var &var)
Encode an attribute for an associated field.
wreport::bulletin::UncompressedEncoder::define_delayed_replication_factor
unsigned define_delayed_replication_factor(Varinfo info) override
Request processing, according to info, of a data variabile that is significant for controlling the en...
wreport::bulletin::UncompressedEncoder::define_bitmap
void define_bitmap(unsigned bitmap_size) override
Request processing of a data present bitmap.
wreport::bulletin::UncompressedEncoder::define_variable
void define_variable(Varinfo info) override
Request processing, according to info, of a data variable.
varinfo.h
Implement fast access to information about WMO variables.