libdballe 9.6
Public Member Functions | List of all members
dballe::db::BaseSummaryXapian< Station > Class Template Reference

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

#include <summary_xapian.h>

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

Public Member Functions

 BaseSummaryXapian (const std::string &pathname)
 
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.
 
Datetime datetime_max () const override
 
unsigned data_count () const override
 
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 commit () override
 Write changes to disk.
 
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 to_json (core::JSONWriter &writer) const override
 Serialize to JSON.
 
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 bool stations (std::function< bool(const Station &)>) const =0
 
virtual bool reports (std::function< bool(const std::string &)>) const =0
 
virtual bool levels (std::function< bool(const Level &)>) const =0
 
virtual bool tranges (std::function< bool(const Trange &)>) const =0
 
virtual bool varcodes (std::function< bool(const wreport::Varcode &)>) const =0
 
virtual Datetime datetime_min () const =0
 Recompute reports, levels, tranges, and varcodes.
 
virtual Datetime datetime_max () const =0
 
virtual unsigned data_count () const =0
 
virtual std::shared_ptr< dballe::CursorSummaryquery_summary (const Query &query) const
 Query the contents of the summary.
 
virtual void clear ()=0
 Completely empty the summary.
 
virtual void add (const Station &station, const summary::VarDesc &vd, const dballe::DatetimeRange &dtrange, size_t count)=0
 Add an entry to the summary.
 
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.
 
virtual void add_summary (const BaseSummary< dballe::Station > &summary)
 Merge the copy of another summary into this one.
 
virtual void add_summary (const BaseSummary< dballe::DBStation > &summary)
 Merge the copy of another summary into this one.
 
virtual void add_filtered (const BaseSummary< Station > &summary, const dballe::Query &query)
 Merge the copy of another summary into this one.
 
virtual void commit ()=0
 Write changes to disk.
 
virtual bool iter (std::function< bool(const Station &, const summary::VarDesc &, const DatetimeRange &, size_t)>) const =0
 Iterate the contents of this summary. There is no guarantee on sorting order.
 
virtual bool iter_filtered (const dballe::Query &query, std::function< bool(const Station &, const summary::VarDesc &, const DatetimeRange &, size_t)>) const =0
 Iterate the contents of this summary. There is no guarantee on sorting order.
 
virtual void to_json (core::JSONWriter &writer) const =0
 Serialize to JSON.
 
virtual void load_json (core::json::Stream &in)
 Load contents from JSON, merging with the current contents.
 
virtual DBALLE_TEST_ONLY void dump (FILE *out) const =0
 

Additional Inherited Members

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

Detailed Description

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

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

Member Function Documentation

◆ add()

template<typename Station >
void dballe::db::BaseSummaryXapian< Station >::add ( const Station station,
const summary::VarDesc vd,
const dballe::DatetimeRange dtrange,
size_t  count 
)
overridevirtual

Add an entry to the summary.

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

◆ clear()

template<typename Station >
void dballe::db::BaseSummaryXapian< Station >::clear ( )
overridevirtual

Completely empty the summary.

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

◆ commit()

template<typename Station >
void dballe::db::BaseSummaryXapian< Station >::commit ( )
overridevirtual

Write changes to disk.

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

◆ data_count()

template<typename Station >
unsigned dballe::db::BaseSummaryXapian< Station >::data_count ( ) const
overridevirtual

◆ datetime_max()

template<typename Station >
Datetime dballe::db::BaseSummaryXapian< Station >::datetime_max ( ) const
overridevirtual

◆ datetime_min()

template<typename Station >
Datetime dballe::db::BaseSummaryXapian< Station >::datetime_min ( ) const
overridevirtual

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 >.

◆ dump()

template<typename Station >
DBALLE_TEST_ONLY void dballe::db::BaseSummaryXapian< Station >::dump ( FILE *  out) const
overridevirtual

◆ iter()

template<typename Station >
bool dballe::db::BaseSummaryXapian< Station >::iter ( std::function< bool(const Station &, const summary::VarDesc &, const DatetimeRange &, size_t)>  ) const
overridevirtual

Iterate the contents of this summary. There is no guarantee on sorting order.

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

◆ iter_filtered()

template<typename Station >
bool dballe::db::BaseSummaryXapian< Station >::iter_filtered ( const dballe::Query query,
std::function< bool(const Station &, const summary::VarDesc &, const DatetimeRange &, size_t)>   
) const
overridevirtual

Iterate the contents of this summary. There is no guarantee on sorting order.

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

◆ levels()

template<typename Station >
bool dballe::db::BaseSummaryXapian< Station >::levels ( std::function< bool(const Level &)>  ) const
overridevirtual

◆ reports()

template<typename Station >
bool dballe::db::BaseSummaryXapian< Station >::reports ( std::function< bool(const std::string &)>  ) const
overridevirtual

◆ stations()

template<typename Station >
bool dballe::db::BaseSummaryXapian< Station >::stations ( std::function< bool(const Station &)>  ) const
overridevirtual

◆ to_json()

template<typename Station >
void dballe::db::BaseSummaryXapian< Station >::to_json ( core::JSONWriter writer) const
overridevirtual

Serialize to JSON.

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

◆ tranges()

template<typename Station >
bool dballe::db::BaseSummaryXapian< Station >::tranges ( std::function< bool(const Trange &)>  ) const
overridevirtual

◆ varcodes()

template<typename Station >
bool dballe::db::BaseSummaryXapian< Station >::varcodes ( std::function< bool(const wreport::Varcode &)>  ) const
overridevirtual

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