Scorum
Public Types | Public Member Functions | Friends | List of all members
scorum::chain::dbs_service_base< service_interface > Class Template Reference

#include <service_base.hpp>

Inheritance diagram for scorum::chain::dbs_service_base< service_interface >:
scorum::chain::dbs_base scorum::chain::dbs_comment_statistic_base< service_interface >

Public Types

using base_service_type = dbs_service_base
 
using modifier_type = typename service_interface::modifier_type
 
using object_type = typename service_interface::object_type
 
using object_cref_type = typename service_interface::object_cref_type
 

Public Member Functions

 dbs_service_base (dba::db_index &db)
 
virtual const object_typecreate (const modifier_type &modifier) override
 
virtual void update (const modifier_type &modifier) override
 
virtual void update (const object_type &o, const modifier_type &modifier) override
 
virtual void remove () override
 
virtual void remove (const object_type &o) override
 
virtual void remove_all (const std::vector< object_cref_type > &os) override
 
virtual bool is_exists () const override
 
virtual const object_typeget () const override
 
template<class... IndexBy, class Key >
const object_typeget_by (const Key &arg) const
 
template<class... IndexBy, class Key >
const object_typefind_by (const Key &arg) const
 
template<class... IndexBy, typename Call >
void foreach_by (Call &&call) const
 
template<class... IndexBy, class LowerBounder , class UpperBounder >
std::vector< object_cref_typeget_range_by (LowerBounder lower, UpperBounder upper) const
 
template<class... IndexBy, class LowerBounder , class UpperBounder , class UnaryPredicate >
std::vector< object_cref_typeget_filtered_range_by (LowerBounder lower, UpperBounder upper, UnaryPredicate filter) const
 
- Public Member Functions inherited from scorum::chain::dbs_base
virtual ~dbs_base ()
 

Friends

class dbservice_dbs_factory
 

Additional Inherited Members

- Protected Types inherited from scorum::chain::dbs_base
typedef dbs_base _base_type
 
- Protected Member Functions inherited from scorum::chain::dbs_base
 dbs_base ()=delete
 
 dbs_base (dbs_base &&)=delete
 
 dbs_base (dba::db_index &)
 
time_point_sec head_block_time ()
 
dba::db_indexdb_impl ()
 
const dba::db_indexdb_impl () const
 

Detailed Description

template<class service_interface>
class scorum::chain::dbs_service_base< service_interface >

Definition at line 41 of file service_base.hpp.

Member Typedef Documentation

◆ base_service_type

template<class service_interface >
using scorum::chain::dbs_service_base< service_interface >::base_service_type = dbs_service_base

Definition at line 51 of file service_base.hpp.

◆ modifier_type

template<class service_interface >
using scorum::chain::dbs_service_base< service_interface >::modifier_type = typename service_interface::modifier_type

Definition at line 56 of file service_base.hpp.

◆ object_cref_type

template<class service_interface >
using scorum::chain::dbs_service_base< service_interface >::object_cref_type = typename service_interface::object_cref_type

Definition at line 58 of file service_base.hpp.

◆ object_type

template<class service_interface >
using scorum::chain::dbs_service_base< service_interface >::object_type = typename service_interface::object_type

Definition at line 57 of file service_base.hpp.

Constructor & Destructor Documentation

◆ dbs_service_base()

template<class service_interface >
scorum::chain::dbs_service_base< service_interface >::dbs_service_base ( dba::db_index db)
inlineexplicit

Definition at line 46 of file service_base.hpp.

Member Function Documentation

◆ create()

template<class service_interface >
virtual const object_type& scorum::chain::dbs_service_base< service_interface >::create ( const modifier_type modifier)
inlineoverridevirtual

Definition at line 60 of file service_base.hpp.

◆ find_by()

template<class service_interface >
template<class... IndexBy, class Key >
const object_type* scorum::chain::dbs_service_base< service_interface >::find_by ( const Key &  arg) const
inline

Definition at line 120 of file service_base.hpp.

◆ foreach_by()

template<class service_interface >
template<class... IndexBy, typename Call >
void scorum::chain::dbs_service_base< service_interface >::foreach_by ( Call &&  call) const
inline

Definition at line 129 of file service_base.hpp.

◆ get()

template<class service_interface >
virtual const object_type& scorum::chain::dbs_service_base< service_interface >::get ( ) const
inlineoverridevirtual

Definition at line 102 of file service_base.hpp.

◆ get_by()

template<class service_interface >
template<class... IndexBy, class Key >
const object_type& scorum::chain::dbs_service_base< service_interface >::get_by ( const Key &  arg) const
inline

Definition at line 111 of file service_base.hpp.

◆ get_filtered_range_by()

template<class service_interface >
template<class... IndexBy, class LowerBounder , class UpperBounder , class UnaryPredicate >
std::vector<object_cref_type> scorum::chain::dbs_service_base< service_interface >::get_filtered_range_by ( LowerBounder  lower,
UpperBounder  upper,
UnaryPredicate  filter 
) const
inline

Definition at line 164 of file service_base.hpp.

◆ get_range_by()

template<class service_interface >
template<class... IndexBy, class LowerBounder , class UpperBounder >
std::vector<object_cref_type> scorum::chain::dbs_service_base< service_interface >::get_range_by ( LowerBounder  lower,
UpperBounder  upper 
) const
inline

Definition at line 142 of file service_base.hpp.

◆ is_exists()

template<class service_interface >
virtual bool scorum::chain::dbs_service_base< service_interface >::is_exists ( ) const
inlineoverridevirtual

Definition at line 97 of file service_base.hpp.

◆ remove() [1/2]

template<class service_interface >
virtual void scorum::chain::dbs_service_base< service_interface >::remove ( )
inlineoverridevirtual

Definition at line 75 of file service_base.hpp.

◆ remove() [2/2]

template<class service_interface >
virtual void scorum::chain::dbs_service_base< service_interface >::remove ( const object_type o)
inlineoverridevirtual

Definition at line 80 of file service_base.hpp.

◆ remove_all()

template<class service_interface >
virtual void scorum::chain::dbs_service_base< service_interface >::remove_all ( const std::vector< object_cref_type > &  os)
inlineoverridevirtual

Definition at line 85 of file service_base.hpp.

◆ update() [1/2]

template<class service_interface >
virtual void scorum::chain::dbs_service_base< service_interface >::update ( const modifier_type modifier)
inlineoverridevirtual

Definition at line 65 of file service_base.hpp.

◆ update() [2/2]

template<class service_interface >
virtual void scorum::chain::dbs_service_base< service_interface >::update ( const object_type o,
const modifier_type modifier 
)
inlineoverridevirtual

Definition at line 70 of file service_base.hpp.

Friends And Related Function Documentation

◆ dbservice_dbs_factory

template<class service_interface >
friend class dbservice_dbs_factory
friend

Definition at line 43 of file service_base.hpp.


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