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

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

#include <summary_memory.h>

Inheritance diagram for dballe::db::BaseSummaryMemory< Station >:
dballe::db::BaseSummary< Station >

Public Member Functions

 BaseSummaryMemory (const std::filesystem::path &path)
 
const summary::StationEntries< Station > & _entries () const
 
bool stations (std::function< bool(const Station &)>) const override
 
bool reports (std::function< bool(const std::string &)>) const override
 
bool levels (std::function< bool(const Level &)>) const override
 
bool tranges (std::function< bool(const Trange &)>) const override
 
bool varcodes (std::function< bool(const wreport::Varcode &)>) const override
 
Datetime datetime_min () const override
 Recompute reports, levels, tranges, and varcodes. More...
 
Datetime datetime_max () const override
 
unsigned data_count () const override
 
std::shared_ptr< dballe::CursorSummaryquery_summary (const Query &query) const override
 Query the contents of the summary. More...
 
bool iter (std::function< bool(const Station &, const summary::VarDesc &, const DatetimeRange &, size_t)>) const override
 Iterate the contents of this summary. There is no guarantee on sorting order.
 
bool iter_filtered (const dballe::Query &query, std::function< bool(const Station &, const summary::VarDesc &, const DatetimeRange &, size_t)>) const override
 Iterate the contents of this summary. There is no guarantee on sorting order.
 
void clear () override
 Completely empty the summary.
 
void add (const Station &station, const summary::VarDesc &vd, const dballe::DatetimeRange &dtrange, size_t count) override
 Add an entry to the summary.
 
void add_summary (const BaseSummary< dballe::Station > &summary) override
 Merge the copy of another summary into this one.
 
void add_summary (const BaseSummary< dballe::DBStation > &summary) override
 Merge the copy of another summary into this one.
 
void add_filtered (const BaseSummary< Station > &summary, const dballe::Query &query) override
 Merge the copy of another summary into this one.
 
void commit () override
 Write changes to disk.
 
void to_json (core::JSONWriter &writer) const override
 Serialize to JSON.
 
void load_json (core::json::Stream &in) override
 Load contents from JSON, merging with the current contents.
 
DBALLE_TEST_ONLY void dump (FILE *out) const override
 
- Public Member Functions inherited from dballe::db::BaseSummary< Station >
 BaseSummary (const BaseSummary &)=delete
 
 BaseSummary (BaseSummary &&)=delete
 
BaseSummaryoperator= (const BaseSummary &)=delete
 
BaseSummaryoperator= (BaseSummary &&)=delete
 
virtual void add_cursor (const dballe::CursorSummary &cur)
 Add an entry to the summary taken from the current status of cur.
 
virtual void add_message (const dballe::Message &message, bool station_data=true, bool data=true)
 Add the contents of a Message.
 
virtual void add_messages (const std::vector< std::shared_ptr< dballe::Message >> &messages, bool station_data=true, bool data=true)
 Add the contents of a Messages.
 

Protected Member Functions

void recompute_summaries () const
 

Protected Attributes

summary::StationEntries< Stationentries
 
std::filesystem::path path
 
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
 

Additional Inherited Members

- Public Types inherited from dballe::db::BaseSummary< Station >
typedef Station station_type
 

Detailed Description

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

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

Member Function Documentation

◆ datetime_min()

template<typename Station >
Datetime dballe::db::BaseSummaryMemory< Station >::datetime_min ( ) const
inlineoverridevirtual

Recompute reports, levels, tranges, and varcodes.

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

Implements dballe::db::BaseSummary< Station >.

References dballe::DatetimeRange::min.

◆ query_summary()

template<typename Station >
std::shared_ptr<dballe::CursorSummary> dballe::db::BaseSummaryMemory< Station >::query_summary ( const Query query) const
overridevirtual

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.

Reimplemented from dballe::db::BaseSummary< Station >.


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