Everett
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output > Struct Template Reference

#include <sort_profile_merge.h>

Public Types

using source_pointer = std::shared_ptr< Native const >
 
using view_type = decltype(std::declval< Native const & >().view())
 

Public Member Functions

 sort_profile_merge_builder (source_pointer older, source_pointer newer, Compose compose={})
 
 sort_profile_merge_builder (Output output, source_pointer older, source_pointer newer, Compose compose={})
 
bool done () const noexcept
 
bool failed () const noexcept
 
bool finished () const noexcept
 
native_merge_progress progress () const noexcept
 
std::uint64_t materialized_keys () const noexcept
 
native_merge_progress step (std::uint64_t budget=1)
 
auto finish ()
 

Private Member Functions

void append (sort_profile_detail::merge_source< view_type > const &source, std::uint64_t common, bit_view value, std::uint64_t limit)
 
bit_comparison compare () const
 

Static Private Member Functions

static source_pointer checked (source_pointer value)
 
static std::uint64_t advance (auto &source)
 

Private Attributes

source_pointer older_
 
source_pointer newer_
 
sort_profile_detail::merge_source< view_type > left_
 
sort_profile_detail::merge_source< view_type > right_
 
Output output_
 
Compose compose_
 
native_merge_progress progress_
 
std::uint64_t left_common_ = 0
 
std::uint64_t right_common_ = 0
 
std::uint64_t materialized_keys_ = 0
 
bool failed_ = false
 
bool finished_ = false
 

Member Typedef Documentation

◆ source_pointer

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
using everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::source_pointer = std::shared_ptr<Native const>

◆ view_type

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
using everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::view_type = decltype(std::declval<Native const &>().view())

Constructor & Destructor Documentation

◆ sort_profile_merge_builder() [1/2]

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::sort_profile_merge_builder ( source_pointer  older,
source_pointer  newer,
Compose  compose = {} 
)
inline

◆ sort_profile_merge_builder() [2/2]

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::sort_profile_merge_builder ( Output  output,
source_pointer  older,
source_pointer  newer,
Compose  compose = {} 
)
inline

Member Function Documentation

◆ advance()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
static std::uint64_t everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::advance ( auto &  source)
inlinestaticprivate

◆ append()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
void everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::append ( sort_profile_detail::merge_source< view_type > const &  source,
std::uint64_t  common,
bit_view  value,
std::uint64_t  limit 
)
inlineprivate

◆ checked()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
static source_pointer everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::checked ( source_pointer  value)
inlinestaticprivate

◆ compare()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
bit_comparison everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::compare ( ) const
inlineprivate

◆ done()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
bool everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::done ( ) const
inlinenoexcept

◆ failed()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
bool everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::failed ( ) const
inlinenoexcept

◆ finish()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
auto everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::finish ( )
inline

◆ finished()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
bool everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::finished ( ) const
inlinenoexcept

◆ materialized_keys()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
std::uint64_t everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::materialized_keys ( ) const
inlinenoexcept

◆ progress()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
native_merge_progress everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::progress ( ) const
inlinenoexcept

◆ step()

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
native_merge_progress everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::step ( std::uint64_t  budget = 1)
inline

Member Data Documentation

◆ compose_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
Compose everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::compose_
private

◆ failed_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
bool everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::failed_ = false
private

◆ finished_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
bool everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::finished_ = false
private

◆ left_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
sort_profile_detail::merge_source<view_type> everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::left_
private

◆ left_common_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
std::uint64_t everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::left_common_ = 0
private

◆ materialized_keys_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
std::uint64_t everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::materialized_keys_ = 0
private

◆ newer_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
source_pointer everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::newer_
private

◆ older_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
source_pointer everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::older_
private

◆ output_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
Output everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::output_
private

◆ progress_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
native_merge_progress everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::progress_
private

◆ right_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
sort_profile_detail::merge_source<view_type> everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::right_
private

◆ right_common_

template<class P , class Native = sort_profile_array<P>, class Compose = replace_native_value, class Selector = typename Native::stream_family::selector_type, class Output = sort_profile_writer<P, Selector>>
std::uint64_t everett::sort_profile_merge_builder< P, Native, Compose, Selector, Output >::right_common_ = 0
private

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