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

#include <profile_blob.h>

Public Types

using policy_type = P
 
using native_array = profile_array< P, stream_role::native >
 
using borrowed_array = profile_array< P, stream_role::borrowed >
 

Public Member Functions

profile_blob reindex (std::span< bit_string const > borrowed) const
 
native_array const & native () const noexcept
 
borrowed_array const & borrowed () const noexcept
 
rank_groups< group_size > const & interleave () const noexcept
 
std::span< std::byte const > false_borrow_bits () const noexcept
 
std::uint64_t virtual_size () const noexcept
 
std::span< std::uint64_t const > cut_lcps () const noexcept
 
std::shared_ptr< profile_blob const > target () const noexcept
 
std::uint64_t group_count () const noexcept
 
profile_blob_view< P > view () const &
 
profile_blob_view< P > view () const &&=delete
 
bool false_borrow (std::uint64_t ordinal) const
 
profile_blob_window project (std::uint64_t group) const
 
profile_blob_window_result< P > search_window (std::uint64_t group, profile_query_context< P > const &lower, profile_comparison_work *native_work=nullptr, profile_comparison_work *borrowed_work=nullptr) const
 

Static Public Member Functions

static profile_blob build (std::span< profile_record const > native, std::span< bit_string const > borrowed={})
 
static profile_blob adopt_native (native_array native)
 

Static Public Attributes

static constexpr std::uint64_t group_size = P::group_size
 

Static Private Member Functions

static void check_count (std::uint64_t native, std::uint64_t borrowed)
 
static void build_index (profile_blob &result, std::span< profile_record const > native, std::span< bit_string const > borrowed)
 

Private Attributes

std::shared_ptr< native_array const > native_
 
borrowed_array borrowed_ = borrowed_array::build({})
 
rank_groups< group_size > interleave_ = rank_groups<group_size>::build({}, 0)
 
std::vector< std::byte > false_borrows_
 
std::uint64_t virtual_count_ = 0
 
std::vector< std::uint64_t > cut_lcps_
 
std::shared_ptr< profile_blob const > target_
 

Friends

struct index_builder< P, native_array >
 

Member Typedef Documentation

◆ borrowed_array

template<class P >
using everett::profile_blob< P >::borrowed_array = profile_array<P, stream_role::borrowed>

◆ native_array

template<class P >
using everett::profile_blob< P >::native_array = profile_array<P, stream_role::native>

◆ policy_type

template<class P >
using everett::profile_blob< P >::policy_type = P

Member Function Documentation

◆ adopt_native()

template<class P >
static profile_blob everett::profile_blob< P >::adopt_native ( native_array  native)
inlinestatic

◆ borrowed()

template<class P >
borrowed_array const & everett::profile_blob< P >::borrowed ( ) const
inlinenoexcept

◆ build()

template<class P >
static profile_blob everett::profile_blob< P >::build ( std::span< profile_record const >  native,
std::span< bit_string const >  borrowed = {} 
)
inlinestatic

◆ build_index()

template<class P >
static void everett::profile_blob< P >::build_index ( profile_blob< P > &  result,
std::span< profile_record const >  native,
std::span< bit_string const >  borrowed 
)
inlinestaticprivate

◆ check_count()

template<class P >
static void everett::profile_blob< P >::check_count ( std::uint64_t  native,
std::uint64_t  borrowed 
)
inlinestaticprivate

◆ cut_lcps()

template<class P >
std::span< std::uint64_t const > everett::profile_blob< P >::cut_lcps ( ) const
inlinenoexcept

◆ false_borrow()

template<class P >
bool everett::profile_blob< P >::false_borrow ( std::uint64_t  ordinal) const
inline

◆ false_borrow_bits()

template<class P >
std::span< std::byte const > everett::profile_blob< P >::false_borrow_bits ( ) const
inlinenoexcept

◆ group_count()

template<class P >
std::uint64_t everett::profile_blob< P >::group_count ( ) const
inlinenoexcept

◆ interleave()

template<class P >
rank_groups< group_size > const & everett::profile_blob< P >::interleave ( ) const
inlinenoexcept

◆ native()

template<class P >
native_array const & everett::profile_blob< P >::native ( ) const
inlinenoexcept

◆ project()

template<class P >
profile_blob_window everett::profile_blob< P >::project ( std::uint64_t  group) const
inline

◆ reindex()

template<class P >
profile_blob everett::profile_blob< P >::reindex ( std::span< bit_string const >  borrowed) const
inline

◆ search_window()

template<class P >
profile_blob_window_result< P > everett::profile_blob< P >::search_window ( std::uint64_t  group,
profile_query_context< P > const &  lower,
profile_comparison_work *  native_work = nullptr,
profile_comparison_work *  borrowed_work = nullptr 
) const
inline

◆ target()

template<class P >
std::shared_ptr< profile_blob const > everett::profile_blob< P >::target ( ) const
inlinenoexcept

◆ view() [1/2]

template<class P >
profile_blob_view< P > everett::profile_blob< P >::view ( ) const &
inline

◆ view() [2/2]

template<class P >
profile_blob_view< P > everett::profile_blob< P >::view ( ) const &&
delete

◆ virtual_size()

template<class P >
std::uint64_t everett::profile_blob< P >::virtual_size ( ) const
inlinenoexcept

Friends And Related Symbol Documentation

◆ index_builder< P, native_array >

template<class P >
friend struct index_builder< P, native_array >
friend

Member Data Documentation

◆ borrowed_

template<class P >
borrowed_array everett::profile_blob< P >::borrowed_ = borrowed_array::build({})
private

◆ cut_lcps_

template<class P >
std::vector<std::uint64_t> everett::profile_blob< P >::cut_lcps_
private

◆ false_borrows_

template<class P >
std::vector<std::byte> everett::profile_blob< P >::false_borrows_
private

◆ group_size

template<class P >
constexpr std::uint64_t everett::profile_blob< P >::group_size = P::group_size
staticconstexpr

◆ interleave_

template<class P >
rank_groups<group_size> everett::profile_blob< P >::interleave_ = rank_groups<group_size>::build({}, 0)
private

◆ native_

template<class P >
std::shared_ptr<native_array const> everett::profile_blob< P >::native_
private
Initial value:
=
std::make_shared<native_array const>(native_array::build({}))
static profile_array build(std::span< profile_record const > records, std::span< std::uint64_t const > prefix_ceilings={}, std::uint64_t restart_factor=0)
Definition profile.h:1173

◆ target_

template<class P >
std::shared_ptr<profile_blob const> everett::profile_blob< P >::target_
private

◆ virtual_count_

template<class P >
std::uint64_t everett::profile_blob< P >::virtual_count_ = 0
private

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