wreport Namespace Reference

String functions. More...

## Namespaces

namespace | bulletin
| The bulletin namespace contains bulletin implementation details, internals and utility functions.
namespace | notes
| Collect notes about unusual things that happen during processing.

## Data Structures

class | Bulletin
| Storage for the decoded data of a BUFR or CREX message. More...
class | BufrCodecOptions
| Options used to configure BUFR decoding. More...
class | BufrBulletin
| BUFR bulletin implementation. More...
class | CrexBulletin
| CREX bulletin implementation. More...
class | DTable
| BUFR/CREX table D with Dxxyyy aggregate code expansions. More...
class | error
| Base class for DB-All.e exceptions. More...
class | error_alloc
| Reports that memory allocation has failed. More...
class | error_notfound
| Reports that a search-like function could not find what was requested. More...
class | error_type
| For functions handling data with multiple types, reports a mismatch between the type requested and the type found. More...
class | error_handles
| For functions working with handles, reports a problem with handling handles, such as impossibility to allocate a new one, or an invalid handle being passed to the function. More...
class | error_toolong
| Report an error with a buffer being to short for the data it needs to fit. More...
class | error_system
| Report a system error message. More...
class | error_consistency
| Report an error when a consistency check failed. More...
class | error_parse
| Report an error when parsing informations. More...
class | error_regexp
| Report an error while handling regular expressions. More...
class | error_unimplemented
| Reports that a feature is still not implemented. More...
class | error_domain
| Report that a parameter is outside the acceptable domain. More...
struct | Opcodes
| Sequence of opcodes, as a slice of a Varcode vector. More...
class | Subset
| Represent a BUFR/CREX data subset as a list of decoded variables. More...
class | BufrTableID
| Identifying information for one distinct instance of BUFR tables. More...
class | CrexTableID
| Identifying information for one distinct instance of CREX tables. More...
struct | Tables
| Collection of BUFR/CREX tables used to work on a bulletin. More...
class | Var
| A physical variable. More...
struct | _Varinfo
| Information about a variable. More...
class | Vartable
| Holds a variable information table. More...

## Typedefs

typedef const _Varinfo * | Varinfo
| Varinfo reference.
typedef uint16_t | Varcode
| Holds the WMO variable code of a variable.

## Enumerations

enum | ErrorCode { WR_ERR_NONE = 0 , WR_ERR_NOTFOUND = 1 , WR_ERR_TYPE = 2 , WR_ERR_ALLOC = 3 , WR_ERR_ODBC = 4 , WR_ERR_HANDLES = 5 , WR_ERR_TOOLONG = 6 , WR_ERR_SYSTEM = 7 , WR_ERR_CONSISTENCY = 8 , WR_ERR_PARSE = 9 , WR_ERR_WRITE = 10 , WR_ERR_REGEX = 11 , WR_ERR_UNIMPLEMENTED = 12 , WR_ERR_DOMAIN = 13 }
| C-style error codes used by exceptions. More...
enum class | Vartype : unsigned { Integer , Decimal , String , Binary }
| Variable type.

## Functions

double | convert_units (const char *from, const char *to, double val)
| Convert between different units.
double | convert_icao_to_press (double from)
| Convert ICAO height (in meters) to pressure (in hpa) and back.
double | convert_press_to_icao (double from)
| Convert pressure (in hpa) to ICAO height (in meters).
double | convert_octants_to_degrees (int from)
| Convert wind direction (in octants) to degrees.
int | convert_degrees_to_octants (double from)
| Convert wind direction (in degrees) to octancts.
unsigned | convert_AOFVSS_to_BUFR08042 (unsigned from)
| Convert vertical sounding significance from the AOF encoding to BUFR code table 08001.
std::string | varcode_format (Varcode code)
| Format a varcode into a string.
Varcode | varcode_parse (const char *desc)
| Convert a FXXYYY string descriptor code into its short integer representation.
const char * | vartype_format (Vartype type)
| Return a string description of a Vartype.
Vartype | vartype_parse (const char *s)
| Return a Vartype from its string description.
std::ostream & | operator<< (std::ostream &out, const Vartype &t)
int | convert_WMO0500_to_BUFR20012 (int from)
| Conversion functions between various code tables.
int | convert_WMO0509_to_BUFR20012 (int from)
| Cloud type (CH).
int | convert_WMO0515_to_BUFR20012 (int from)
| Cloud type (CM).
int | convert_WMO0513_to_BUFR20012 (int from)
| Cloud type (CL).
int | convert_WMO4677_to_BUFR20003 (int from)
| Present weather.
int | convert_WMO4561_to_BUFR20004 (int from)
| Past weather.
int | convert_BUFR20012_to_WMO0500 (int from)
| Cloud type.
int | convert_BUFR20012_to_WMO0509 (int from)
| Cloud type (CH).
int | convert_BUFR20012_to_WMO0515 (int from)
| Cloud type (CM).
int | convert_BUFR20012_to_WMO0513 (int from)
| Cloud type (CL).
int | convert_BUFR20003_to_WMO4677 (int from)
| Present weather.
int | convert_BUFR20004_to_WMO4561 (int from)
| Past weather.
unsigned | convert_BUFR08001_to_BUFR08042 (unsigned from)
| Vertical sounding significance.
unsigned | convert_BUFR08042_to_BUFR08001 (unsigned from)
| Vertical sounding significance.
double | convert_units_get_mul (const char *from, const char *to)
| Get the multiplier used in the given conversion.
bool | convert_units_allowed (const char *from, const char *to)
| Check if conversion is possible among the given units.

## Detailed Description

String functions.

Utility functions for the unit tests.

Contrl terminal output.

Operating system functions.

Author
  Enrico Zini enric.nosp@m.o@en.nosp@m.ricoz.nosp@m.ini..nosp@m.org

Copyright (C) 2007–2015 Enrico Zini enric.nosp@m.o@de.nosp@m.bian..nosp@m.org

Author
  Enrico Zini enric.nosp@m.o@en.nosp@m.ricoz.nosp@m.ini..nosp@m.org

Copyright (C) 2007–2018 Enrico Zini enric.nosp@m.o@de.nosp@m.bian..nosp@m.org

Author
  Enrico Zini enric.nosp@m.o@en.nosp@m.ricoz.nosp@m.ini..nosp@m.org

Copyright (C) 2018 Enrico Zini enric.nosp@m.o@de.nosp@m.bian..nosp@m.org

Author
  Enrico Zini enric.nosp@m.o@en.nosp@m.ricoz.nosp@m.ini..nosp@m.org, Peter Rockai (mornfall) me@mo.nosp@m.rnfa.nosp@m.ll.ne.nosp@m.t

Copyright (C) 2006–2007 Peter Rockai (mornfall) me@mo.nosp@m.rnfa.nosp@m.ll.ne.nosp@m.t Copyright (C) 2003–2017 Enrico Zini enric.nosp@m.o@de.nosp@m.bian..nosp@m.org

## Typedef Documentation

## Varinfo

typedef const _Varinfo * wreport::Varinfo

Varinfo reference.

Since the actual structures are allocated inside the Vartable objects and never deallocated until the program quits, we do not need to track memory allocation and we can just refer to variable information with const pointers.

## Enumeration Type Documentation

## ErrorCode

enum wreport::ErrorCode

C-style error codes used by exceptions.

Enumerator
WR_ERR_NONE | No error.
WR_ERR_NOTFOUND | Item not found.
WR_ERR_TYPE | Wrong variable type.
WR_ERR_ALLOC | Cannot allocate memory.
WR_ERR_ODBC | ODBC error.
WR_ERR_HANDLES | Handle management error.
WR_ERR_TOOLONG | Buffer is too short to fit data.
WR_ERR_SYSTEM | Error reported by the system.
WR_ERR_CONSISTENCY | Consistency check failed.
WR_ERR_PARSE | Parse error.
WR_ERR_WRITE | Write error.
WR_ERR_REGEX | Regular expression error.
WR_ERR_UNIMPLEMENTED | Feature not implemented.
WR_ERR_DOMAIN | Value outside acceptable domain.

## Function Documentation

## convert_units()

double wreport::convert_units | ( | const char * | from,
|  | const char * | to,
|  | double | val )

Convert between different units.

Parameters

  from | Unit of the value to convert (see wreport::Varinfo)
  to | Unit to convert to (see wreport::Varinfo)
  val | Value to convert

Return values

  res | Converted value

Returns
  The error indicator for the function (See error.h)

## convert_units_allowed()

bool wreport::convert_units_allowed | ( | const char * | from,
|  | const char * | to )

Check if conversion is possible among the given units.

Parameters

  from | Unit of the value to convert (see wreport::Varinfo)
  to | Unit to convert to (see wreport::Varinfo)

Returns
  True if conversion is supported, else false.

## convert_units_get_mul()

double wreport::convert_units_get_mul | ( | const char * | from,
|  | const char * | to )

Get the multiplier used in the given conversion.

Parameters

  from | Unit of the value to convert (see wreport::Varinfo)
  to | Unit to convert to (see wreport::Varinfo)

Returns
  Multiplier factor used in the conversion

## convert_WMO0500_to_BUFR20012()

int wreport::convert_WMO0500_to_BUFR20012 | ( | int | from | ) |

Conversion functions between various code tables.

Cloud type

## varcode_parse()

Varcode wreport::varcode_parse | ( | const char * | desc | ) |

Convert a FXXYYY string descriptor code into its short integer representation.

Parameters

  desc | The 6-byte string descriptor as FXXYYY

Returns
  The short integer code that can be queried with the WR_GET_* macros