Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
everett::typed_scan< S, World > Struct Template Reference

#include <typed_scan.h>

Classes

struct  iterator
 

Public Types

using policy_type = typename World::policy_type
 
using row_type = typed_row< S >
 
using semantics = sort_semantics< S >
 
using native_type = typename World::runtime_family::native_type
 
using key_transport = typename World::key_transport
 
using key_type = typed_detail::key_t< S >
 

Public Member Functions

 typed_scan (World snapshot, std::optional< key_type > lo={}, std::optional< key_type > hi={}, range_positioning_work *work=nullptr)
 
 typed_scan (typed_scan const &)=default
 
typed_scan & operator= (typed_scan const &)=default
 
 typed_scan (typed_scan &&)=default
 
typed_scan & operator= (typed_scan &&)=default
 
iterator begin () const
 
std::default_sentinel_t end () const noexcept
 
bool done () const noexcept
 
bool has_row () const noexcept
 
bool failed () const noexcept
 
std::uint64_t consumed () const noexcept
 
row_type take_row ()
 
std::optional< row_type > next ()
 
std::uint64_t step (std::uint64_t budget)
 
auto erase_remaining ()
 

Private Member Functions

int compare_prefix (bit_view key) const
 
void finish_group ()
 

Private Attributes

std::shared_ptr< void const > identity_ = std::make_shared<int const>(0)
 
World snapshot_
 
bit_string prefix_
 
bit_string group_key_
 
std::optional< bit_string > lower_
 
std::optional< bit_string > upper_
 
typed_detail::native_sweep< World > sweep_
 
std::optional< row_type > group_
 
std::optional< row_type > row_
 
bit_view last_value_
 
std::uint64_t last_retained_ = 0
 
bool finished_ = false
 
bool failed_ = false
 

Member Typedef Documentation

◆ key_transport

template<class S , class World >
using everett::typed_scan< S, World >::key_transport = typename World::key_transport

◆ key_type

template<class S , class World >
using everett::typed_scan< S, World >::key_type = typed_detail::key_t<S>

◆ native_type

template<class S , class World >
using everett::typed_scan< S, World >::native_type = typename World::runtime_family::native_type

◆ policy_type

template<class S , class World >
using everett::typed_scan< S, World >::policy_type = typename World::policy_type

◆ row_type

template<class S , class World >
using everett::typed_scan< S, World >::row_type = typed_row<S>

◆ semantics

template<class S , class World >
using everett::typed_scan< S, World >::semantics = sort_semantics<S>

Constructor & Destructor Documentation

◆ typed_scan() [1/3]

template<class S , class World >
everett::typed_scan< S, World >::typed_scan ( World  snapshot,
std::optional< key_type >  lo = {},
std::optional< key_type >  hi = {},
range_positioning_work *  work = nullptr 
)
inlineexplicit

◆ typed_scan() [2/3]

template<class S , class World >
everett::typed_scan< S, World >::typed_scan ( typed_scan< S, World > const &  )
default

◆ typed_scan() [3/3]

template<class S , class World >
everett::typed_scan< S, World >::typed_scan ( typed_scan< S, World > &&  )
default

Member Function Documentation

◆ begin()

template<class S , class World >
iterator everett::typed_scan< S, World >::begin ( ) const
inline

◆ compare_prefix()

template<class S , class World >
int everett::typed_scan< S, World >::compare_prefix ( bit_view  key) const
inlineprivate

◆ consumed()

template<class S , class World >
std::uint64_t everett::typed_scan< S, World >::consumed ( ) const
inlinenoexcept

◆ done()

template<class S , class World >
bool everett::typed_scan< S, World >::done ( ) const
inlinenoexcept

◆ end()

template<class S , class World >
std::default_sentinel_t everett::typed_scan< S, World >::end ( ) const
inlinenoexcept

◆ erase_remaining()

template<class S , class World >
auto everett::typed_scan< S, World >::erase_remaining ( )
inline

◆ failed()

template<class S , class World >
bool everett::typed_scan< S, World >::failed ( ) const
inlinenoexcept

◆ finish_group()

template<class S , class World >
void everett::typed_scan< S, World >::finish_group ( )
inlineprivate

◆ has_row()

template<class S , class World >
bool everett::typed_scan< S, World >::has_row ( ) const
inlinenoexcept

◆ next()

template<class S , class World >
std::optional< row_type > everett::typed_scan< S, World >::next ( )
inline

◆ operator=() [1/2]

template<class S , class World >
typed_scan & everett::typed_scan< S, World >::operator= ( typed_scan< S, World > &&  )
default

◆ operator=() [2/2]

template<class S , class World >
typed_scan & everett::typed_scan< S, World >::operator= ( typed_scan< S, World > const &  )
default

◆ step()

template<class S , class World >
std::uint64_t everett::typed_scan< S, World >::step ( std::uint64_t  budget)
inline

◆ take_row()

template<class S , class World >
row_type everett::typed_scan< S, World >::take_row ( )
inline

Member Data Documentation

◆ failed_

template<class S , class World >
bool everett::typed_scan< S, World >::failed_ = false
private

◆ finished_

template<class S , class World >
bool everett::typed_scan< S, World >::finished_ = false
private

◆ group_

template<class S , class World >
std::optional<row_type> everett::typed_scan< S, World >::group_
private

◆ group_key_

template<class S , class World >
bit_string everett::typed_scan< S, World >::group_key_
private

◆ identity_

template<class S , class World >
std::shared_ptr<void const> everett::typed_scan< S, World >::identity_ = std::make_shared<int const>(0)
private

◆ last_retained_

template<class S , class World >
std::uint64_t everett::typed_scan< S, World >::last_retained_ = 0
private

◆ last_value_

template<class S , class World >
bit_view everett::typed_scan< S, World >::last_value_
private

◆ lower_

template<class S , class World >
std::optional<bit_string> everett::typed_scan< S, World >::lower_
private

◆ prefix_

template<class S , class World >
bit_string everett::typed_scan< S, World >::prefix_
private

◆ row_

template<class S , class World >
std::optional<row_type> everett::typed_scan< S, World >::row_
private

◆ snapshot_

template<class S , class World >
World everett::typed_scan< S, World >::snapshot_
private

◆ sweep_

template<class S , class World >
typed_detail::native_sweep<World> everett::typed_scan< S, World >::sweep_
private

◆ upper_

template<class S , class World >
std::optional<bit_string> everett::typed_scan< S, World >::upper_
private

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