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

#include <file_index_pipeline.h>

Inheritance diagram for everett::file_index_pipeline< P, Ops >:
everett::index_detail::pipeline_driver< P, Target, Stage >

Public Types

using policy_type = P
 
using blob_type = mapped_blob< P >
 
using pair_type = std::shared_ptr< blob_type const >
 
using stage_type = file_index_stage< P >
 
- Public Types inherited from everett::index_detail::pipeline_driver< P, Target, Stage >
using policy_type = P
 
using blob_type = Target
 
using pair_type = std::shared_ptr< blob_type const >
 

Public Member Functions

 file_index_pipeline (std::filesystem::path root, pair_type target, std::vector< stage_type > stages)
 
 file_index_pipeline (std::filesystem::path root, pair_type target, std::vector< stage_type > stages, Ops &ops)
 
 file_index_pipeline (file_index_pipeline const &)=delete
 
file_index_pipeline & operator= (file_index_pipeline const &)=delete
 
 file_index_pipeline (file_index_pipeline &&)=delete
 
file_index_pipeline & operator= (file_index_pipeline &&)=delete
 
bool seal_next ()
 
std::span< object_seal_receipt const > finish () &
 
std::span< object_seal_receipt const > finish () &&=delete
 
std::span< object_seal_receipt const > completed_receipts () const &noexcept
 
std::span< object_seal_receipt const > completed_receipts () const &&=delete
 
std::span< blob_identity const > stage_identities () const &noexcept
 
std::span< blob_identity const > stage_identities () const &&=delete
 
blob_identity const & planned_head () const &noexcept
 
blob_identity const & planned_head () const &&=delete
 
object_write_paths const & paths (std::size_t stage) const &
 
object_write_paths const & paths (std::size_t) const &&=delete
 
- Public Member Functions inherited from everett::index_detail::pipeline_driver< P, Target, Stage >
 pipeline_driver (pair_type target, std::vector< std::unique_ptr< Stage > > stages)
 
 pipeline_driver (pipeline_driver const &)=delete
 
pipeline_driver & operator= (pipeline_driver const &)=delete
 
 pipeline_driver (pipeline_driver &&)=default
 
pipeline_driver & operator= (pipeline_driver &&)=default
 
bool done () const noexcept
 
bool finished () const noexcept
 
bool failed () const noexcept
 
std::size_t size () const noexcept
 
std::uint64_t step (std::uint64_t quanta)
 
std::span< std::uint64_t const > emitted_samples () const &noexcept
 
std::span< std::uint64_t const > emitted_samples () const &&=delete
 
std::span< std::uint64_t const > consumed_entries () const &noexcept
 
std::span< std::uint64_t const > consumed_entries () const &&=delete
 
std::span< std::uint64_t const > emitted_suffix_units () const &noexcept
 
std::span< std::uint64_t const > emitted_suffix_units () const &&=delete
 
std::uint64_t source_suffix_units () const noexcept
 
sampling_work const & source_work () const &noexcept
 
sampling_work const & source_work () const &&=delete
 

Private Types

using builder_type = file_index_builder< P, mapped_native< P >, Ops >
 
using base = index_detail::pipeline_driver< P, blob_type, builder_type >
 

Static Private Member Functions

static std::vector< blob_identity > identities (std::span< stage_type const > stages)
 
template<bool ExternalOps>
static std::vector< std::unique_ptr< builder_type > > make_stages (std::filesystem::path const &root, pair_type const &target, std::span< stage_type const > stages, Ops *ops)
 

Private Attributes

std::vector< blob_identity > identities_
 
blob_identity head_
 
std::vector< object_seal_receipt > receipts_
 

Additional Inherited Members

- Protected Attributes inherited from everett::index_detail::pipeline_driver< P, Target, Stage >
pair_type target_
 
sample_cursor< P, Target > source_
 
profile_sample_encoder< P > source_encoder_
 
std::vector< std::unique_ptr< Stage > > stages_
 
std::vector< std::uint64_t > emitted_
 
std::vector< std::uint64_t > consumed_
 
std::vector< std::uint64_t > emitted_suffix_units_
 
std::uint64_t source_suffix_units_ = 0
 
bool finished_ = false
 
bool failed_ = false
 

Member Typedef Documentation

◆ base

template<class P , class Ops = posix_object_ops>
using everett::file_index_pipeline< P, Ops >::base = index_detail::pipeline_driver<P, blob_type, builder_type>
private

◆ blob_type

template<class P , class Ops = posix_object_ops>
using everett::file_index_pipeline< P, Ops >::blob_type = mapped_blob<P>

◆ builder_type

template<class P , class Ops = posix_object_ops>
using everett::file_index_pipeline< P, Ops >::builder_type = file_index_builder<P, mapped_native<P>, Ops>
private

◆ pair_type

template<class P , class Ops = posix_object_ops>
using everett::file_index_pipeline< P, Ops >::pair_type = std::shared_ptr<blob_type const>

◆ policy_type

template<class P , class Ops = posix_object_ops>
using everett::file_index_pipeline< P, Ops >::policy_type = P

◆ stage_type

template<class P , class Ops = posix_object_ops>
using everett::file_index_pipeline< P, Ops >::stage_type = file_index_stage<P>

Constructor & Destructor Documentation

◆ file_index_pipeline() [1/4]

template<class P , class Ops = posix_object_ops>
everett::file_index_pipeline< P, Ops >::file_index_pipeline ( std::filesystem::path  root,
pair_type  target,
std::vector< stage_type >  stages 
)
inline

◆ file_index_pipeline() [2/4]

template<class P , class Ops = posix_object_ops>
everett::file_index_pipeline< P, Ops >::file_index_pipeline ( std::filesystem::path  root,
pair_type  target,
std::vector< stage_type >  stages,
Ops &  ops 
)
inline

◆ file_index_pipeline() [3/4]

template<class P , class Ops = posix_object_ops>
everett::file_index_pipeline< P, Ops >::file_index_pipeline ( file_index_pipeline< P, Ops > const &  )
delete

◆ file_index_pipeline() [4/4]

template<class P , class Ops = posix_object_ops>
everett::file_index_pipeline< P, Ops >::file_index_pipeline ( file_index_pipeline< P, Ops > &&  )
delete

Member Function Documentation

◆ completed_receipts() [1/2]

template<class P , class Ops = posix_object_ops>
std::span< object_seal_receipt const > everett::file_index_pipeline< P, Ops >::completed_receipts ( ) const &&
delete

◆ completed_receipts() [2/2]

template<class P , class Ops = posix_object_ops>
std::span< object_seal_receipt const > everett::file_index_pipeline< P, Ops >::completed_receipts ( ) const &
inlinenoexcept

◆ finish() [1/2]

template<class P , class Ops = posix_object_ops>
std::span< object_seal_receipt const > everett::file_index_pipeline< P, Ops >::finish ( ) &
inline

◆ finish() [2/2]

template<class P , class Ops = posix_object_ops>
std::span< object_seal_receipt const > everett::file_index_pipeline< P, Ops >::finish ( ) &&
delete

◆ identities()

template<class P , class Ops = posix_object_ops>
static std::vector< blob_identity > everett::file_index_pipeline< P, Ops >::identities ( std::span< stage_type const >  stages)
inlinestaticprivate

◆ make_stages()

template<class P , class Ops = posix_object_ops>
template<bool ExternalOps>
static std::vector< std::unique_ptr< builder_type > > everett::file_index_pipeline< P, Ops >::make_stages ( std::filesystem::path const &  root,
pair_type const &  target,
std::span< stage_type const >  stages,
Ops *  ops 
)
inlinestaticprivate

◆ operator=() [1/2]

template<class P , class Ops = posix_object_ops>
file_index_pipeline & everett::file_index_pipeline< P, Ops >::operator= ( file_index_pipeline< P, Ops > &&  )
delete

◆ operator=() [2/2]

template<class P , class Ops = posix_object_ops>
file_index_pipeline & everett::file_index_pipeline< P, Ops >::operator= ( file_index_pipeline< P, Ops > const &  )
delete

◆ paths() [1/2]

template<class P , class Ops = posix_object_ops>
object_write_paths const & everett::file_index_pipeline< P, Ops >::paths ( std::size_t  stage) const &
inline

◆ paths() [2/2]

template<class P , class Ops = posix_object_ops>
object_write_paths const & everett::file_index_pipeline< P, Ops >::paths ( std::size_t  ) const &&
delete

◆ planned_head() [1/2]

template<class P , class Ops = posix_object_ops>
blob_identity const & everett::file_index_pipeline< P, Ops >::planned_head ( ) const &&
delete

◆ planned_head() [2/2]

template<class P , class Ops = posix_object_ops>
blob_identity const & everett::file_index_pipeline< P, Ops >::planned_head ( ) const &
inlinenoexcept

◆ seal_next()

template<class P , class Ops = posix_object_ops>
bool everett::file_index_pipeline< P, Ops >::seal_next ( )
inline

◆ stage_identities() [1/2]

template<class P , class Ops = posix_object_ops>
std::span< blob_identity const > everett::file_index_pipeline< P, Ops >::stage_identities ( ) const &&
delete

◆ stage_identities() [2/2]

template<class P , class Ops = posix_object_ops>
std::span< blob_identity const > everett::file_index_pipeline< P, Ops >::stage_identities ( ) const &
inlinenoexcept

Member Data Documentation

◆ head_

template<class P , class Ops = posix_object_ops>
blob_identity everett::file_index_pipeline< P, Ops >::head_
private

◆ identities_

template<class P , class Ops = posix_object_ops>
std::vector<blob_identity> everett::file_index_pipeline< P, Ops >::identities_
private

◆ receipts_

template<class P , class Ops = posix_object_ops>
std::vector<object_seal_receipt> everett::file_index_pipeline< P, Ops >::receipts_
private

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