Scorum
Classes | Namespaces | Typedefs | Functions
db_accessor.hpp File Reference
#include <chainbase/database_index.hpp>
#include <chainbase/segment_manager.hpp>
#include <scorum/chain/dba/dba.hpp>
#include <scorum/chain/dba/db_accessor_helpers.hpp>
#include <scorum/chain/dba/db_accessor_traits.hpp>
#include <scorum/utils/function_view.hpp>
#include <scorum/utils/any_range.hpp>
#include <scorum/utils/algorithm/foreach_mut.hpp>

Go to the source code of this file.

Classes

class  scorum::chain::dba::db_accessor< TObject >
 

Namespaces

 scorum
 
 scorum::chain
 
 scorum::chain::dba
 
 scorum::chain::dba::detail
 

Typedefs

template<typename TObject >
using scorum::chain::dba::modifier_type = utils::function_view< void(TObject &)>
 
template<typename TObject >
using scorum::chain::dba::predicate_type = utils::function_view< bool(const TObject &)>
 
template<typename TObject >
using scorum::chain::dba::cref_type = std::reference_wrapper< const TObject >
 

Functions

template<typename TObject >
size_t scorum::chain::dba::detail::size (db_index &db_idx)
 
template<typename TObject >
const TObject & scorum::chain::dba::detail::create (db_index &db_idx, modifier_type< TObject > modifier)
 
template<typename TObject >
const TObject & scorum::chain::dba::detail::get_single (db_index &db_idx)
 
template<typename TObject >
const TObject & scorum::chain::dba::detail::update (db_index &db_idx, const TObject &o, modifier_type< TObject > modifier)
 
template<typename TObject >
const TObject & scorum::chain::dba::detail::update_single (db_index &db_idx, modifier_type< TObject > modifier)
 
template<typename TObject >
void scorum::chain::dba::detail::remove (db_index &db_idx, const TObject &o)
 
template<typename TObject >
void scorum::chain::dba::detail::remove_all (db_index &db_idx, utils::bidir_range< const TObject > items)
 
template<typename TObject >
void scorum::chain::dba::detail::remove_single (db_index &db_idx)
 
template<typename TObject >
bool scorum::chain::dba::detail::is_empty (db_index &db_idx)
 
template<typename TObject , typename IndexBy , typename Key >
const TObject & scorum::chain::dba::detail::get_by (db_index &db_idx, const Key &arg)
 
template<typename TObject , typename IndexBy , typename Key >
const TObject * scorum::chain::dba::detail::find_by (db_index &db_idx, const Key &arg)
 
template<typename TObject , typename IndexBy , typename Key >
bool scorum::chain::dba::detail::is_exists_by (db_index &db_idx, const Key &arg)
 
template<typename TObject , typename IndexBy , typename TKey >
utils::forward_range< const TObject > scorum::chain::dba::detail::hashed_get_range_by (db_index &db_idx, const TKey &key)
 
template<typename TObject , typename IndexBy , typename TKey >
utils::bidir_range< const TObject > scorum::chain::dba::detail::ordered_get_range_by (db_index &db_idx, const TKey &key)
 
template<typename TIdx , typename TKey >
auto scorum::chain::dba::detail::get_lower_bound (TIdx &idx, const detail::bound< TKey > &bound)
 
template<typename TIdx , typename TKey >
auto scorum::chain::dba::detail::get_upper_bound (TIdx &idx, const detail::bound< TKey > &bound)
 
template<typename TObject , typename IndexBy , typename TKeyLhs , typename TKeyRhs = TKeyLhs>
utils::bidir_range< const TObject > scorum::chain::dba::detail::get_range_by (db_index &db_idx, const detail::bound< TKeyLhs > &lower, const detail::bound< TKeyRhs > &upper)
 
template<typename TObject , typename IndexBy >
utils::bidir_range< const TObject > scorum::chain::dba::detail::get_all_by (db_index &db_idx)