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

#include <cola_index.h>

Public Types

using policy_type = P
 
using native_view = typename Family::native_view
 
using borrowed_view = typename Family::borrowed_view
 
using rank_view = rank_groups_view< P::group_size >
 

Public Member Functions

 cola_index_view (native_view native, std::array< borrowed_view, 2 > borrowed, std::array< rank_view, 2 > ranks, std::array< std::span< std::byte const >, 2 > flags, std::array< word_view, 2 > cuts, std::uint64_t count)
 
native_view const & native () const noexcept
 
borrowed_view const & borrowed (unsigned route) const
 
borrowed_view const & borrowed (cola_target route) const
 
rank_view const & interleave (unsigned route) const
 
rank_view const & interleave (cola_target route) const
 
std::span< std::byte const > false_borrow_bits (unsigned route) const
 
std::span< std::byte const > false_borrow_bits (cola_target route) const
 
word_view cut_lcps (unsigned route) const
 
word_view cut_lcps (cola_target route) const
 
std::uint64_t virtual_size () const noexcept
 
std::uint64_t group_count () const noexcept
 
bool false_borrow (unsigned route, std::uint64_t ordinal) const
 
bool false_borrow (cola_target route, std::uint64_t ordinal) const
 
cola_window project (std::uint64_t group) const
 
cola_window_result< P > search_window (std::uint64_t group, profile_query_context< P > const &lower, profile_comparison_work *native_work=nullptr, std::array< profile_comparison_work *, 2 > borrowed_work={}) const
 
cola_lower_bound_result< P > lower_bound_window (std::uint64_t group, profile_query_context< P > const &lower, profile_comparison_work *work=nullptr) const
 

Static Public Attributes

static constexpr auto group_size = P::group_size
 

Private Member Functions

template<class Result , class Capture >
Result search_window_with (std::uint64_t group, profile_query_context< P > const &lower, Capture &&capture, profile_comparison_work *native_work=nullptr, std::array< profile_comparison_work *, 2 > borrowed_work={}) const
 

Private Attributes

native_view native_
 
std::array< borrowed_view, 2 > borrowed_
 
std::array< rank_view, 2 > ranks_
 
std::array< std::span< std::byte const >, 2 > flags_
 
std::array< word_view, 2 > cuts_
 
std::uint64_t count_
 

Friends

struct cola_detail::query_access
 

Member Typedef Documentation

◆ borrowed_view

template<class P , class Family = profile_stream_family<P>>
using everett::cola_index_view< P, Family >::borrowed_view = typename Family::borrowed_view

◆ native_view

template<class P , class Family = profile_stream_family<P>>
using everett::cola_index_view< P, Family >::native_view = typename Family::native_view

◆ policy_type

template<class P , class Family = profile_stream_family<P>>
using everett::cola_index_view< P, Family >::policy_type = P

◆ rank_view

template<class P , class Family = profile_stream_family<P>>
using everett::cola_index_view< P, Family >::rank_view = rank_groups_view<P::group_size>

Constructor & Destructor Documentation

◆ cola_index_view()

template<class P , class Family = profile_stream_family<P>>
everett::cola_index_view< P, Family >::cola_index_view ( native_view  native,
std::array< borrowed_view, 2 >  borrowed,
std::array< rank_view, 2 >  ranks,
std::array< std::span< std::byte const >, 2 >  flags,
std::array< word_view, 2 >  cuts,
std::uint64_t  count 
)
inline

Member Function Documentation

◆ borrowed() [1/2]

template<class P , class Family = profile_stream_family<P>>
borrowed_view const & everett::cola_index_view< P, Family >::borrowed ( cola_target  route) const
inline

◆ borrowed() [2/2]

template<class P , class Family = profile_stream_family<P>>
borrowed_view const & everett::cola_index_view< P, Family >::borrowed ( unsigned  route) const
inline

◆ cut_lcps() [1/2]

template<class P , class Family = profile_stream_family<P>>
word_view everett::cola_index_view< P, Family >::cut_lcps ( cola_target  route) const
inline

◆ cut_lcps() [2/2]

template<class P , class Family = profile_stream_family<P>>
word_view everett::cola_index_view< P, Family >::cut_lcps ( unsigned  route) const
inline

◆ false_borrow() [1/2]

template<class P , class Family = profile_stream_family<P>>
bool everett::cola_index_view< P, Family >::false_borrow ( cola_target  route,
std::uint64_t  ordinal 
) const
inline

◆ false_borrow() [2/2]

template<class P , class Family = profile_stream_family<P>>
bool everett::cola_index_view< P, Family >::false_borrow ( unsigned  route,
std::uint64_t  ordinal 
) const
inline

◆ false_borrow_bits() [1/2]

template<class P , class Family = profile_stream_family<P>>
std::span< std::byte const > everett::cola_index_view< P, Family >::false_borrow_bits ( cola_target  route) const
inline

◆ false_borrow_bits() [2/2]

template<class P , class Family = profile_stream_family<P>>
std::span< std::byte const > everett::cola_index_view< P, Family >::false_borrow_bits ( unsigned  route) const
inline

◆ group_count()

template<class P , class Family = profile_stream_family<P>>
std::uint64_t everett::cola_index_view< P, Family >::group_count ( ) const
inlinenoexcept

◆ interleave() [1/2]

template<class P , class Family = profile_stream_family<P>>
rank_view const & everett::cola_index_view< P, Family >::interleave ( cola_target  route) const
inline

◆ interleave() [2/2]

template<class P , class Family = profile_stream_family<P>>
rank_view const & everett::cola_index_view< P, Family >::interleave ( unsigned  route) const
inline

◆ lower_bound_window()

template<class P , class Family = profile_stream_family<P>>
cola_lower_bound_result< P > everett::cola_index_view< P, Family >::lower_bound_window ( std::uint64_t  group,
profile_query_context< P > const &  lower,
profile_comparison_work *  work = nullptr 
) const
inline

◆ native()

template<class P , class Family = profile_stream_family<P>>
native_view const & everett::cola_index_view< P, Family >::native ( ) const
inlinenoexcept

◆ project()

template<class P , class Family = profile_stream_family<P>>
cola_window everett::cola_index_view< P, Family >::project ( std::uint64_t  group) const
inline

◆ search_window()

template<class P , class Family = profile_stream_family<P>>
cola_window_result< P > everett::cola_index_view< P, Family >::search_window ( std::uint64_t  group,
profile_query_context< P > const &  lower,
profile_comparison_work *  native_work = nullptr,
std::array< profile_comparison_work *, 2 >  borrowed_work = {} 
) const
inline

◆ search_window_with()

template<class P , class Family = profile_stream_family<P>>
template<class Result , class Capture >
Result everett::cola_index_view< P, Family >::search_window_with ( std::uint64_t  group,
profile_query_context< P > const &  lower,
Capture &&  capture,
profile_comparison_work *  native_work = nullptr,
std::array< profile_comparison_work *, 2 >  borrowed_work = {} 
) const
inlineprivate

◆ virtual_size()

template<class P , class Family = profile_stream_family<P>>
std::uint64_t everett::cola_index_view< P, Family >::virtual_size ( ) const
inlinenoexcept

Friends And Related Symbol Documentation

◆ cola_detail::query_access

template<class P , class Family = profile_stream_family<P>>
friend struct cola_detail::query_access
friend

Member Data Documentation

◆ borrowed_

template<class P , class Family = profile_stream_family<P>>
std::array<borrowed_view, 2> everett::cola_index_view< P, Family >::borrowed_
private

◆ count_

template<class P , class Family = profile_stream_family<P>>
std::uint64_t everett::cola_index_view< P, Family >::count_
private

◆ cuts_

template<class P , class Family = profile_stream_family<P>>
std::array<word_view, 2> everett::cola_index_view< P, Family >::cuts_
private

◆ flags_

template<class P , class Family = profile_stream_family<P>>
std::array<std::span<std::byte const>, 2> everett::cola_index_view< P, Family >::flags_
private

◆ group_size

template<class P , class Family = profile_stream_family<P>>
constexpr auto everett::cola_index_view< P, Family >::group_size = P::group_size
staticconstexpr

◆ native_

template<class P , class Family = profile_stream_family<P>>
native_view everett::cola_index_view< P, Family >::native_
private

◆ ranks_

template<class P , class Family = profile_stream_family<P>>
std::array<rank_view, 2> everett::cola_index_view< P, Family >::ranks_
private

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