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

#include <cola_index.h>

Public Types

using policy_type = P
 
using native_array = Native
 
using target_type = std::conditional_t< std::is_void_v< Main >, cola_index, Main >
 
using stream_family = typename cola_stream_family< P, Native >::type
 
using view_type = cola_index_view< P, stream_family >
 
using borrowed_array = typename stream_family::borrowed_array
 
using native_pointer = std::shared_ptr< native_array const >
 
using pair_type = std::shared_ptr< cola_index const >
 
using main_pointer = std::shared_ptr< target_type const >
 

Public Member Functions

 cola_index (cola_index const &)=delete
 
cola_index & operator= (cola_index const &)=delete
 
 cola_index (cola_index &&)=default
 
cola_index & operator= (cola_index &&)=default
 
native_pointer native_owner () const noexcept
 
native_array const & native () const &
 
native_array const & native () const &&=delete
 
borrowed_array const & borrowed (unsigned route) const &
 
borrowed_array const & borrowed (unsigned) const &&=delete
 
borrowed_array const & borrowed (cola_target route) const &
 
borrowed_array const & borrowed (cola_target) const &&=delete
 
rank_groups< group_size > const & interleave (unsigned route) const &
 
rank_groups< group_size > const & interleave (unsigned) const &&=delete
 
rank_groups< group_size > const & interleave (cola_target route) const &
 
rank_groups< group_size > const & interleave (cola_target) const &&=delete
 
std::span< std::byte const > false_borrow_bits (unsigned route) const &
 
std::span< std::byte const > false_borrow_bits (unsigned) const &&=delete
 
std::span< std::byte const > false_borrow_bits (cola_target route) const &
 
std::span< std::byte const > false_borrow_bits (cola_target) const &&=delete
 
std::span< std::uint64_t const > cut_lcps (unsigned route) const &
 
std::span< std::uint64_t const > cut_lcps (unsigned) const &&=delete
 
std::span< std::uint64_t const > cut_lcps (cola_target route) const &
 
std::span< std::uint64_t const > cut_lcps (cola_target) const &&=delete
 
main_pointer main_target () const noexcept
 
native_pointer secondary_target () const noexcept
 
std::uint64_t virtual_size () const noexcept
 
std::uint64_t group_count () const noexcept
 
view_type view () const &
 
view_type view () const &&=delete
 
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
 

Static Public Member Functions

static cola_index build (std::span< profile_record const > records, main_pointer main={}, native_pointer secondary={})
 
static cola_index adopt_native (native_pointer native, main_pointer main={}, native_pointer secondary={})
 
static pair_type prepare_root (pair_type main={}, native_pointer secondary={})
 

Static Public Attributes

static constexpr auto group_size = P::group_size
 

Private Member Functions

void require_active () const
 
 cola_index (native_pointer native, main_pointer main, native_pointer secondary, std::array< borrowed_array, 2 > borrowed, std::array< rank_groups< group_size >, 2 > ranks, std::array< std::vector< std::byte >, 2 > flags, std::array< std::vector< std::uint64_t >, 2 > cuts, std::uint64_t count)
 

Private Attributes

native_pointer native_
 
main_pointer main_
 
native_pointer secondary_
 
std::array< borrowed_array, 2 > borrowed_
 
std::array< rank_groups< group_size >, 2 > ranks_
 
std::array< std::vector< std::byte >, 2 > flags_
 
std::array< std::vector< std::uint64_t >, 2 > cuts_
 
std::uint64_t count_
 

Friends

struct cola_detail::index_output< P, Native, Main >
 

Member Typedef Documentation

◆ borrowed_array

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::borrowed_array = typename stream_family::borrowed_array

◆ main_pointer

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::main_pointer = std::shared_ptr<target_type const>

◆ native_array

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::native_array = Native

◆ native_pointer

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::native_pointer = std::shared_ptr<native_array const>

◆ pair_type

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::pair_type = std::shared_ptr<cola_index const>

◆ policy_type

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::policy_type = P

◆ stream_family

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::stream_family = typename cola_stream_family<P, Native>::type

◆ target_type

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::target_type = std::conditional_t<std::is_void_v<Main>, cola_index, Main>

◆ view_type

template<class P , class Native , class Main >
using everett::cola_index< P, Native, Main >::view_type = cola_index_view<P, stream_family>

Constructor & Destructor Documentation

◆ cola_index() [1/3]

template<class P , class Native , class Main >
everett::cola_index< P, Native, Main >::cola_index ( cola_index< P, Native, Main > const &  )
delete

◆ cola_index() [2/3]

template<class P , class Native , class Main >
everett::cola_index< P, Native, Main >::cola_index ( cola_index< P, Native, Main > &&  )
default

◆ cola_index() [3/3]

template<class P , class Native , class Main >
everett::cola_index< P, Native, Main >::cola_index ( native_pointer  native,
main_pointer  main,
native_pointer  secondary,
std::array< borrowed_array, 2 >  borrowed,
std::array< rank_groups< group_size >, 2 >  ranks,
std::array< std::vector< std::byte >, 2 >  flags,
std::array< std::vector< std::uint64_t >, 2 >  cuts,
std::uint64_t  count 
)
inlineprivate

Member Function Documentation

◆ adopt_native()

template<class P , class Native , class Main >
cola_index< P, Native, Main > everett::cola_index< P, Native, Main >::adopt_native ( native_pointer  native,
main_pointer  main = {},
native_pointer  secondary = {} 
)
static

◆ borrowed() [1/4]

template<class P , class Native , class Main >
borrowed_array const & everett::cola_index< P, Native, Main >::borrowed ( cola_target  route) const &
inline

◆ borrowed() [2/4]

template<class P , class Native , class Main >
borrowed_array const & everett::cola_index< P, Native, Main >::borrowed ( cola_target  ) const &&
delete

◆ borrowed() [3/4]

template<class P , class Native , class Main >
borrowed_array const & everett::cola_index< P, Native, Main >::borrowed ( unsigned  route) const &
inline

◆ borrowed() [4/4]

template<class P , class Native , class Main >
borrowed_array const & everett::cola_index< P, Native, Main >::borrowed ( unsigned  ) const &&
delete

◆ build()

template<class P , class Native , class Main >
requires (std::is_same_v<Native, profile_array<P>> && std::is_void_v<Main>)
cola_index< P, Native, Main > everett::cola_index< P, Native, Main >::build ( std::span< profile_record const >  records,
main_pointer  main = {},
native_pointer  secondary = {} 
)
static

◆ cut_lcps() [1/4]

template<class P , class Native , class Main >
std::span< std::uint64_t const > everett::cola_index< P, Native, Main >::cut_lcps ( cola_target  route) const &
inline

◆ cut_lcps() [2/4]

template<class P , class Native , class Main >
std::span< std::uint64_t const > everett::cola_index< P, Native, Main >::cut_lcps ( cola_target  ) const &&
delete

◆ cut_lcps() [3/4]

template<class P , class Native , class Main >
std::span< std::uint64_t const > everett::cola_index< P, Native, Main >::cut_lcps ( unsigned  route) const &
inline

◆ cut_lcps() [4/4]

template<class P , class Native , class Main >
std::span< std::uint64_t const > everett::cola_index< P, Native, Main >::cut_lcps ( unsigned  ) const &&
delete

◆ false_borrow_bits() [1/4]

template<class P , class Native , class Main >
std::span< std::byte const > everett::cola_index< P, Native, Main >::false_borrow_bits ( cola_target  route) const &
inline

◆ false_borrow_bits() [2/4]

template<class P , class Native , class Main >
std::span< std::byte const > everett::cola_index< P, Native, Main >::false_borrow_bits ( cola_target  ) const &&
delete

◆ false_borrow_bits() [3/4]

template<class P , class Native , class Main >
std::span< std::byte const > everett::cola_index< P, Native, Main >::false_borrow_bits ( unsigned  route) const &
inline

◆ false_borrow_bits() [4/4]

template<class P , class Native , class Main >
std::span< std::byte const > everett::cola_index< P, Native, Main >::false_borrow_bits ( unsigned  ) const &&
delete

◆ group_count()

template<class P , class Native , class Main >
std::uint64_t everett::cola_index< P, Native, Main >::group_count ( ) const
inlinenoexcept

◆ interleave() [1/4]

template<class P , class Native , class Main >
rank_groups< group_size > const & everett::cola_index< P, Native, Main >::interleave ( cola_target  route) const &
inline

◆ interleave() [2/4]

template<class P , class Native , class Main >
rank_groups< group_size > const & everett::cola_index< P, Native, Main >::interleave ( cola_target  ) const &&
delete

◆ interleave() [3/4]

template<class P , class Native , class Main >
rank_groups< group_size > const & everett::cola_index< P, Native, Main >::interleave ( unsigned  route) const &
inline

◆ interleave() [4/4]

template<class P , class Native , class Main >
rank_groups< group_size > const & everett::cola_index< P, Native, Main >::interleave ( unsigned  ) const &&
delete

◆ main_target()

template<class P , class Native , class Main >
main_pointer everett::cola_index< P, Native, Main >::main_target ( ) const
inlinenoexcept

◆ native() [1/2]

template<class P , class Native , class Main >
native_array const & everett::cola_index< P, Native, Main >::native ( ) const &
inline

◆ native() [2/2]

template<class P , class Native , class Main >
native_array const & everett::cola_index< P, Native, Main >::native ( ) const &&
delete

◆ native_owner()

template<class P , class Native , class Main >
native_pointer everett::cola_index< P, Native, Main >::native_owner ( ) const
inlinenoexcept

◆ operator=() [1/2]

template<class P , class Native , class Main >
cola_index & everett::cola_index< P, Native, Main >::operator= ( cola_index< P, Native, Main > &&  )
default

◆ operator=() [2/2]

template<class P , class Native , class Main >
cola_index & everett::cola_index< P, Native, Main >::operator= ( cola_index< P, Native, Main > const &  )
delete

◆ prepare_root()

template<class P , class Native , class Main >
requires (std::is_same_v<Native, profile_array<P>> && std::is_void_v<Main>)
cola_index< P, Native, Main >::pair_type everett::cola_index< P, Native, Main >::prepare_root ( pair_type  main = {},
native_pointer  secondary = {} 
)
static

◆ project()

template<class P , class Native , class Main >
cola_window everett::cola_index< P, Native, Main >::project ( std::uint64_t  group) const
inline

◆ require_active()

template<class P , class Native , class Main >
void everett::cola_index< P, Native, Main >::require_active ( ) const
inlineprivate

◆ search_window()

template<class P , class Native , class Main >
cola_window_result< P > everett::cola_index< P, Native, Main >::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

◆ secondary_target()

template<class P , class Native , class Main >
native_pointer everett::cola_index< P, Native, Main >::secondary_target ( ) const
inlinenoexcept

◆ view() [1/2]

template<class P , class Native , class Main >
view_type everett::cola_index< P, Native, Main >::view ( ) const &
inline

◆ view() [2/2]

template<class P , class Native , class Main >
view_type everett::cola_index< P, Native, Main >::view ( ) const &&
delete

◆ virtual_size()

template<class P , class Native , class Main >
std::uint64_t everett::cola_index< P, Native, Main >::virtual_size ( ) const
inlinenoexcept

Friends And Related Symbol Documentation

◆ cola_detail::index_output< P, Native, Main >

template<class P , class Native , class Main >
friend struct cola_detail::index_output< P, Native, Main >
friend

Member Data Documentation

◆ borrowed_

template<class P , class Native , class Main >
std::array<borrowed_array, 2> everett::cola_index< P, Native, Main >::borrowed_
private

◆ count_

template<class P , class Native , class Main >
std::uint64_t everett::cola_index< P, Native, Main >::count_
private

◆ cuts_

template<class P , class Native , class Main >
std::array<std::vector<std::uint64_t>, 2> everett::cola_index< P, Native, Main >::cuts_
private

◆ flags_

template<class P , class Native , class Main >
std::array<std::vector<std::byte>, 2> everett::cola_index< P, Native, Main >::flags_
private

◆ group_size

template<class P , class Native , class Main >
constexpr auto everett::cola_index< P, Native, Main >::group_size = P::group_size
staticconstexpr

◆ main_

template<class P , class Native , class Main >
main_pointer everett::cola_index< P, Native, Main >::main_
private

◆ native_

template<class P , class Native , class Main >
native_pointer everett::cola_index< P, Native, Main >::native_
private

◆ ranks_

template<class P , class Native , class Main >
std::array<rank_groups<group_size>, 2> everett::cola_index< P, Native, Main >::ranks_
private

◆ secondary_

template<class P , class Native , class Main >
native_pointer everett::cola_index< P, Native, Main >::secondary_
private

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