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

#include <sections.h>

Public Types

using policy_type = P
 

Public Member Functions

 encoded_sections (encoded_sections const &)=delete
 
encoded_sections & operator= (encoded_sections const &)=delete
 
 encoded_sections (encoded_sections &&other) noexcept
 
encoded_sections & operator= (encoded_sections &&other) noexcept
 
file_header< P > const & header () const &
 
file_header< P > const & header () const &&=delete
 
std::vector< std::span< std::byte const > > chunks () const &
 
std::vector< std::span< std::byte const > > chunks () const &&=delete
 
std::vector< std::byte > materialize () const
 
object_seal_receipt seal (std::filesystem::path const &root, object_id const &id, object_attempt_id const &attempt) const
 

Private Member Functions

 encoded_sections ()=default
 
void require_active () const
 
void words (std::span< std::uint64_t const > values)
 
void samples (std::span< elias_fano_sample const > values)
 
template<stream_role Role>
void profile (profile_array< P, Role > const &array)
 
template<class Index >
void index (Index const &source, object_id const &native_id, std::optional< blob_identity > const &exact_target)
 
void finish (file_kind kind)
 

Private Attributes

file_header< P > header_
 
std::array< std::byte, section_detail::index_directory_bytes > directory_ {}
 
std::array< std::byte, 8 > zero_ {}
 
std::size_t directory_size_ = 0
 
std::vector< std::span< std::byte const > > sections_
 
std::vector< std::vector< std::byte > > converted_
 

Friends

template<class Q >
encoded_sections< Q > encode_native_sections (profile_array< Q, stream_role::native > const &)
 
template<class Q >
encoded_sections< Q > encode_index_sections (profile_blob< Q > const &, object_id const &, std::optional< blob_identity >)
 
template<class Q >
encoded_sections< Q > encode_index_sections (profile_index< Q > const &, object_id const &, std::optional< blob_identity >)
 

Member Typedef Documentation

◆ policy_type

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

Constructor & Destructor Documentation

◆ encoded_sections() [1/3]

template<class P >
everett::encoded_sections< P >::encoded_sections ( encoded_sections< P > const &  )
delete

◆ encoded_sections() [2/3]

template<class P >
everett::encoded_sections< P >::encoded_sections ( encoded_sections< P > &&  other)
inlinenoexcept

◆ encoded_sections() [3/3]

template<class P >
everett::encoded_sections< P >::encoded_sections ( )
privatedefault

Member Function Documentation

◆ chunks() [1/2]

template<class P >
std::vector< std::span< std::byte const > > everett::encoded_sections< P >::chunks ( ) const &
inline

◆ chunks() [2/2]

template<class P >
std::vector< std::span< std::byte const > > everett::encoded_sections< P >::chunks ( ) const &&
delete

◆ finish()

template<class P >
void everett::encoded_sections< P >::finish ( file_kind  kind)
inlineprivate

◆ header() [1/2]

template<class P >
file_header< P > const & everett::encoded_sections< P >::header ( ) const &
inline

◆ header() [2/2]

template<class P >
file_header< P > const & everett::encoded_sections< P >::header ( ) const &&
delete

◆ index()

template<class P >
template<class Index >
void everett::encoded_sections< P >::index ( Index const &  source,
object_id const &  native_id,
std::optional< blob_identity > const &  exact_target 
)
inlineprivate

◆ materialize()

template<class P >
std::vector< std::byte > everett::encoded_sections< P >::materialize ( ) const
inline

◆ operator=() [1/2]

template<class P >
encoded_sections & everett::encoded_sections< P >::operator= ( encoded_sections< P > &&  other)
inlinenoexcept

◆ operator=() [2/2]

template<class P >
encoded_sections & everett::encoded_sections< P >::operator= ( encoded_sections< P > const &  )
delete

◆ profile()

template<class P >
template<stream_role Role>
void everett::encoded_sections< P >::profile ( profile_array< P, Role > const &  array)
inlineprivate

◆ require_active()

template<class P >
void everett::encoded_sections< P >::require_active ( ) const
inlineprivate

◆ samples()

template<class P >
void everett::encoded_sections< P >::samples ( std::span< elias_fano_sample const >  values)
inlineprivate

◆ seal()

template<class P >
object_seal_receipt everett::encoded_sections< P >::seal ( std::filesystem::path const &  root,
object_id const &  id,
object_attempt_id const &  attempt 
) const
inline

◆ words()

template<class P >
void everett::encoded_sections< P >::words ( std::span< std::uint64_t const >  values)
inlineprivate

Friends And Related Symbol Documentation

◆ encode_index_sections [1/2]

template<class P >
template<class Q >
encoded_sections< Q > encode_index_sections ( profile_blob< Q > const &  ,
object_id const &  ,
std::optional< blob_identity >   
)
friend

◆ encode_index_sections [2/2]

template<class P >
template<class Q >
encoded_sections< Q > encode_index_sections ( profile_index< Q > const &  ,
object_id const &  ,
std::optional< blob_identity >   
)
friend

◆ encode_native_sections

template<class P >
template<class Q >
encoded_sections< Q > encode_native_sections ( profile_array< Q, stream_role::native > const &  )
friend

Member Data Documentation

◆ converted_

template<class P >
std::vector<std::vector<std::byte> > everett::encoded_sections< P >::converted_
private

◆ directory_

template<class P >
std::array<std::byte, section_detail::index_directory_bytes> everett::encoded_sections< P >::directory_ {}
private

◆ directory_size_

template<class P >
std::size_t everett::encoded_sections< P >::directory_size_ = 0
private

◆ header_

template<class P >
file_header<P> everett::encoded_sections< P >::header_
private

◆ sections_

template<class P >
std::vector<std::span<std::byte const> > everett::encoded_sections< P >::sections_
private

◆ zero_

template<class P >
std::array<std::byte, 8> everett::encoded_sections< P >::zero_ {}
private

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