libdballe  8.6
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
dballe::db::BaseSummary< Station > Class Template Reference

High level objects for working with DB-All.e DB summaries. More...

#include <summary.h>

Public Member Functions

 BaseSummary (const BaseSummary &)=delete
 
 BaseSummary (BaseSummary &&)=delete
 
BaseSummaryoperator= (const BaseSummary &)=delete
 
BaseSummaryoperator= (BaseSummary &&)=delete
 
bool operator== (const BaseSummary &o) const
 
const summary::StationEntries< Station > & stations () const
 
const core::SortedSmallUniqueValueSet< std::string > & reports () const
 
const core::SortedSmallUniqueValueSet< dballe::Level > & levels () const
 
const core::SortedSmallUniqueValueSet< dballe::Trange > & tranges () const
 
const core::SortedSmallUniqueValueSet< wreport::Varcode > & varcodes () const
 
const Datetimedatetime_min () const
 Recompute reports, levels, tranges, and varcodes. More...
 
const Datetimedatetime_max () const
 
unsigned data_count () const
 
std::unique_ptr< dballe::CursorSummaryquery_summary (const Query &query) const
 Query the contents of the summary. More...
 
void add (const Station &station, const summary::VarDesc &vd, const dballe::DatetimeRange &dtrange, size_t count)
 Add an entry to the summary.
 
void add_cursor (const dballe::CursorSummary &cur)
 Add an entry to the summary taken from the current status of cur.
 
void add_message (const dballe::Message &message)
 Add the contents of a Message.
 
void add_messages (const std::vector< std::shared_ptr< dballe::Message >> &messages)
 Add the contents of a Messages.
 
template<typename OSummary >
void add_summary (const BaseSummary< OSummary > &summary)
 Merge the copy of another summary into this one.
 
void add_filtered (const BaseSummary &summary, const dballe::Query &query)
 Merge the copy of another summary into this one.
 
void to_json (core::JSONWriter &writer) const
 Serialize to JSON.
 
void load_json (core::json::Stream &in)
 Load contents from JSON, merging with the current contents.
 
DBALLE_TEST_ONLY void dump (FILE *out) const
 

Protected Member Functions

void recompute_summaries () const
 

Protected Attributes

summary::StationEntries< Stationentries
 
core::SortedSmallUniqueValueSet< std::string > m_reports
 
core::SortedSmallUniqueValueSet< dballe::Levelm_levels
 
core::SortedSmallUniqueValueSet< dballe::Trangem_tranges
 
core::SortedSmallUniqueValueSet< wreport::Varcodem_varcodes
 
dballe::DatetimeRange dtrange
 
size_t count = 0
 
bool dirty = false
 

Detailed Description

template<typename Station>
class dballe::db::BaseSummary< Station >

High level objects for working with DB-All.e DB summaries.

Member Function Documentation

◆ datetime_min()

template<typename Station>
const Datetime& dballe::db::BaseSummary< Station >::datetime_min ( ) const
inline

Recompute reports, levels, tranges, and varcodes.

Call this after performing changes to the summary, to make those sets valid before reading them.

◆ query_summary()

template<typename Station>
std::unique_ptr<dballe::CursorSummary> dballe::db::BaseSummary< Station >::query_summary ( const Query query) const

Query the contents of the summary.

Parameters
queryThe record with the query data (see technical specifications, par. 1.6.4 "parameter output/input")
Returns
The cursor to use to iterate over the results. The results are the same as DB::query_summary.

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