Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::cola_sample_cursor< P, Target > Struct Template Reference

#include <cola_index.h>

Classes

struct  binding
 

Public Types

using policy_type = P
 

Public Member Functions

 cola_sample_cursor (std::shared_ptr< Target const > target)
 
bool done () const noexcept
 
std::shared_ptr< Target const > target () const noexcept
 
cola_sample_view< P > peek () const &
 
cola_sample_view< P > peek () const &&=delete
 
void advance ()
 
std::optional< bit_comparison > advance_comparison ()
 

Private Types

using view_type = decltype(std::declval< Target const & >().view())
 
using native_cursor = decltype(std::declval< typename view_type::native_view >().cursor())
 
using borrowed_cursor = decltype(std::declval< typename view_type::borrowed_view >().cursor())
 

Private Member Functions

template<bool Compare>
std::optional< bit_comparison > advance_impl ()
 
 cola_sample_cursor (binding source)
 
cola_detail::frontier_selection choose () const
 

Static Private Member Functions

static binding bind (std::shared_ptr< Target const > target)
 

Private Attributes

std::shared_ptr< Target const > target_
 
native_cursor native_
 
std::array< borrowed_cursor, 2 > borrowed_
 
std::array< std::uint64_t, 3 > prefixes_ {}
 
std::uint64_t count_
 
std::uint64_t ordinal_ = 0
 

Member Typedef Documentation

◆ borrowed_cursor

template<class P , class Target >
using everett::cola_sample_cursor< P, Target >::borrowed_cursor = decltype(std::declval<typename view_type::borrowed_view>().cursor())
private

◆ native_cursor

template<class P , class Target >
using everett::cola_sample_cursor< P, Target >::native_cursor = decltype(std::declval<typename view_type::native_view>().cursor())
private

◆ policy_type

template<class P , class Target >
using everett::cola_sample_cursor< P, Target >::policy_type = P

◆ view_type

template<class P , class Target >
using everett::cola_sample_cursor< P, Target >::view_type = decltype(std::declval<Target const &>().view())
private

Constructor & Destructor Documentation

◆ cola_sample_cursor() [1/2]

template<class P , class Target >
everett::cola_sample_cursor< P, Target >::cola_sample_cursor ( std::shared_ptr< Target const >  target)
inlineexplicit

◆ cola_sample_cursor() [2/2]

template<class P , class Target >
everett::cola_sample_cursor< P, Target >::cola_sample_cursor ( binding  source)
inlineexplicitprivate

Member Function Documentation

◆ advance()

template<class P , class Target >
void everett::cola_sample_cursor< P, Target >::advance ( )
inline

◆ advance_comparison()

template<class P , class Target >
std::optional< bit_comparison > everett::cola_sample_cursor< P, Target >::advance_comparison ( )
inline

◆ advance_impl()

template<class P , class Target >
template<bool Compare>
std::optional< bit_comparison > everett::cola_sample_cursor< P, Target >::advance_impl ( )
inlineprivate

◆ bind()

template<class P , class Target >
static binding everett::cola_sample_cursor< P, Target >::bind ( std::shared_ptr< Target const >  target)
inlinestaticprivate

◆ choose()

template<class P , class Target >
cola_detail::frontier_selection everett::cola_sample_cursor< P, Target >::choose ( ) const
inlineprivate

◆ done()

template<class P , class Target >
bool everett::cola_sample_cursor< P, Target >::done ( ) const
inlinenoexcept

◆ peek() [1/2]

template<class P , class Target >
cola_sample_view< P > everett::cola_sample_cursor< P, Target >::peek ( ) const &
inline

◆ peek() [2/2]

template<class P , class Target >
cola_sample_view< P > everett::cola_sample_cursor< P, Target >::peek ( ) const &&
delete

◆ target()

template<class P , class Target >
std::shared_ptr< Target const > everett::cola_sample_cursor< P, Target >::target ( ) const
inlinenoexcept

Member Data Documentation

◆ borrowed_

template<class P , class Target >
std::array<borrowed_cursor, 2> everett::cola_sample_cursor< P, Target >::borrowed_
private

◆ count_

template<class P , class Target >
std::uint64_t everett::cola_sample_cursor< P, Target >::count_
private

◆ native_

template<class P , class Target >
native_cursor everett::cola_sample_cursor< P, Target >::native_
private

◆ ordinal_

template<class P , class Target >
std::uint64_t everett::cola_sample_cursor< P, Target >::ordinal_ = 0
private

◆ prefixes_

template<class P , class Target >
std::array<std::uint64_t, 3> everett::cola_sample_cursor< P, Target >::prefixes_ {}
private

◆ target_

template<class P , class Target >
std::shared_ptr<Target const> everett::cola_sample_cursor< P, Target >::target_
private

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