libwreport  3.29
Namespaces | Data Structures | Typedefs | Enumerations | Functions
wreport Namespace Reference

String functions. More...

Namespaces

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

Data Structures

struct  _Varinfo
 Information about a variable. More...
 
class  BufrBulletin
 BUFR bulletin implementation. More...
 
class  BufrCodecOptions
 Options used to configure BUFR decoding. More...
 
class  BufrTableID
 Identifying information for one distinct instance of BUFR tables. More...
 
class  Bulletin
 Storage for the decoded data of a BUFR or CREX message. More...
 
class  CrexBulletin
 CREX bulletin implementation. More...
 
class  CrexTableID
 Identifying information for one distinct instance of CREX tables. 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_consistency
 Report an error when a consistency check failed. More...
 
class  error_domain
 Report that a parameter is outside the acceptable domain. 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_notfound
 Reports that a search-like function could not find what was requested. More...
 
class  error_parse
 Report an error when parsing informations. More...
 
class  error_regexp
 Report an error while handling regular expressions. More...
 
class  error_system
 Report a system error message. More...
 
class  error_toolong
 Report an error with a buffer being to short for the data it needs to fit. 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_unimplemented
 Reports that a feature is still not implemented. 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...
 
struct  Tables
 Collection of BUFR/CREX tables used to work on a bulletin. More...
 
class  Var
 A physical variable. More...
 
class  Vartable
 Holds a variable information table. More...
 

Typedefs

typedef const _VarinfoVarinfo
 Varinfo reference. More...
 
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  Vartype : unsigned { Integer, Decimal, String, Binary }
 Variable type.
 

Functions

double convert_units (const char *from, const char *to, double val)
 Convert between different units. More...
 
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. More...
 
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.
 
int convert_WMO0500_to_BUFR20012 (int from)
 Conversion functions between various code tables. More...
 
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. More...
 
bool convert_units_allowed (const char *from, const char *to)
 Check if conversion is possible among the given units. More...
 

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

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
fromUnit of the value to convert (see wreport::Varinfo)
toUnit to convert to (see wreport::Varinfo)
valValue to convert
Return values
resConverted 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
fromUnit of the value to convert (see wreport::Varinfo)
toUnit 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
fromUnit of the value to convert (see wreport::Varinfo)
toUnit 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
descThe 6-byte string descriptor as FXXYYY
Returns
The short integer code that can be queried with the WR_GET_* macros