PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pineforge::detail::DiskResidentIdTable< Value > Class Template Reference

#include <disk_resident_id_table.hpp>

Data Structures

class  HeldIterator
 
class  Iterator
 
class  KeyIterator
 
struct  Range
 
class  ResidentIterator
 
struct  WorkCounters
 

Public Types

using iterator = Iterator<false>
 
using const_iterator = Iterator<true>
 
using sorted_iterator = Iterator<false, true>
 
using const_sorted_iterator = Iterator<true, true>
 
using insertion_iterator = Iterator<true, false, true>
 

Public Member Functions

const WorkCounters & work_counters () const noexcept
 
std::size_t resident_directory_heap_estimate () const noexcept
 
 DiskResidentIdTable ()=default
 
 DiskResidentIdTable (const DiskResidentIdTable &)=delete
 
DiskResidentIdTable & operator= (const DiskResidentIdTable &)=delete
 
 DiskResidentIdTable (DiskResidentIdTable &&other) noexcept
 
DiskResidentIdTable & operator= (DiskResidentIdTable &&other) noexcept
 
void set_store (ScratchStore store) noexcept
 
void set_directory (const std::string &directory)
 
void bind_scratch (const std::shared_ptr< ScratchSlab > &slab, ScratchResource resource)
 
void require_insert (const std::string &key) const
 
template<class Enumerate>
void require_inserts (Enumerate &&enumerate) const
 
void clear () noexcept
 
std::uint64_t size () const noexcept
 
std::size_t resident_size () const noexcept
 
std::size_t held_size () const noexcept
 
iterator begin () noexcept
 
iterator end () noexcept
 
const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
auto resident_rows () noexcept
 
auto resident_rows () const noexcept
 
auto held_rows () noexcept
 
auto held_rows () const noexcept
 
void refresh_held (const iterator &row) const
 
template<bool Const>
void refresh_held (const HeldIterator< Const > &row) const
 
bool held_rows_exact () const noexcept
 
std::size_t resident_opened_slot_count () const noexcept
 
auto resident_ids () const noexcept
 
auto all_sorted ()
 
auto all_sorted () const
 
template<class F>
void for_each_id (F &&visit) const
 
template<class F>
void for_each_sorted_id (F &&visit) const
 
iterator find (const std::string &key)
 
const_iterator find (const std::string &key) const
 
iterator find_resident (const std::string &key) noexcept
 
const_iterator find_resident (const std::string &key) const noexcept
 
std::pair< iterator, bool > emplace (const std::string &key, Value value)
 
void spill () const
 
void spill_implicitly () const
 
void fixture_implicit_spill_interval (std::size_t calls) noexcept
 
void fixture_spill_predicate (bool(*predicate)(const std::string &)) noexcept
 

Static Public Member Functions

static constexpr std::size_t resident_row_bytes () noexcept
 

Detailed Description

template<class Value>
class pineforge::detail::DiskResidentIdTable< Value >

Definition at line 38 of file disk_resident_id_table.hpp.

Member Typedef Documentation

◆ iterator

template<class Value>
using pineforge::detail::DiskResidentIdTable< Value >::iterator = Iterator<false>

Definition at line 152 of file disk_resident_id_table.hpp.

◆ const_iterator

template<class Value>
using pineforge::detail::DiskResidentIdTable< Value >::const_iterator = Iterator<true>

Definition at line 153 of file disk_resident_id_table.hpp.

◆ sorted_iterator

template<class Value>
using pineforge::detail::DiskResidentIdTable< Value >::sorted_iterator = Iterator<false, true>

Definition at line 154 of file disk_resident_id_table.hpp.

◆ const_sorted_iterator

template<class Value>
using pineforge::detail::DiskResidentIdTable< Value >::const_sorted_iterator = Iterator<true, true>

Definition at line 155 of file disk_resident_id_table.hpp.

◆ insertion_iterator

template<class Value>
using pineforge::detail::DiskResidentIdTable< Value >::insertion_iterator = Iterator<true, false, true>

Definition at line 156 of file disk_resident_id_table.hpp.

Constructor & Destructor Documentation

◆ DiskResidentIdTable() [1/3]

template<class Value>
pineforge::detail::DiskResidentIdTable< Value >::DiskResidentIdTable ( )
default

◆ DiskResidentIdTable() [2/3]

template<class Value>
pineforge::detail::DiskResidentIdTable< Value >::DiskResidentIdTable ( const DiskResidentIdTable< Value > & )
delete

◆ DiskResidentIdTable() [3/3]

template<class Value>
pineforge::detail::DiskResidentIdTable< Value >::DiskResidentIdTable ( DiskResidentIdTable< Value > && other)
inlinenoexcept

Definition at line 266 of file disk_resident_id_table.hpp.

Member Function Documentation

◆ work_counters()

template<class Value>
const WorkCounters & pineforge::detail::DiskResidentIdTable< Value >::work_counters ( ) const
inlinenoexcept

Definition at line 84 of file disk_resident_id_table.hpp.

◆ resident_row_bytes()

template<class Value>
static constexpr std::size_t pineforge::detail::DiskResidentIdTable< Value >::resident_row_bytes ( )
inlinestaticconstexprnoexcept

Definition at line 85 of file disk_resident_id_table.hpp.

◆ resident_directory_heap_estimate()

template<class Value>
std::size_t pineforge::detail::DiskResidentIdTable< Value >::resident_directory_heap_estimate ( ) const
inlinenoexcept

Definition at line 86 of file disk_resident_id_table.hpp.

◆ operator=() [1/2]

template<class Value>
DiskResidentIdTable & pineforge::detail::DiskResidentIdTable< Value >::operator= ( const DiskResidentIdTable< Value > & )
delete

◆ operator=() [2/2]

template<class Value>
DiskResidentIdTable & pineforge::detail::DiskResidentIdTable< Value >::operator= ( DiskResidentIdTable< Value > && other)
inlinenoexcept

Definition at line 267 of file disk_resident_id_table.hpp.

◆ set_store()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::set_store ( ScratchStore store)
inlinenoexcept

Definition at line 288 of file disk_resident_id_table.hpp.

◆ set_directory()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::set_directory ( const std::string & directory)
inline

Definition at line 289 of file disk_resident_id_table.hpp.

◆ bind_scratch()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::bind_scratch ( const std::shared_ptr< ScratchSlab > & slab,
ScratchResource resource )
inline

◆ require_insert()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::require_insert ( const std::string & key) const
inline

Definition at line 296 of file disk_resident_id_table.hpp.

◆ require_inserts()

template<class Value>
template<class Enumerate>
void pineforge::detail::DiskResidentIdTable< Value >::require_inserts ( Enumerate && enumerate) const
inline

Definition at line 302 of file disk_resident_id_table.hpp.

◆ clear()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::clear ( )
inlinenoexcept

◆ size()

template<class Value>
std::uint64_t pineforge::detail::DiskResidentIdTable< Value >::size ( ) const
inlinenoexcept

◆ resident_size()

template<class Value>
std::size_t pineforge::detail::DiskResidentIdTable< Value >::resident_size ( ) const
inlinenoexcept

Definition at line 333 of file disk_resident_id_table.hpp.

◆ held_size()

template<class Value>
std::size_t pineforge::detail::DiskResidentIdTable< Value >::held_size ( ) const
inlinenoexcept

Definition at line 334 of file disk_resident_id_table.hpp.

◆ begin() [1/2]

template<class Value>
iterator pineforge::detail::DiskResidentIdTable< Value >::begin ( )
inlinenoexcept

Definition at line 335 of file disk_resident_id_table.hpp.

◆ end() [1/2]

◆ begin() [2/2]

template<class Value>
const_iterator pineforge::detail::DiskResidentIdTable< Value >::begin ( ) const
inlinenoexcept

Definition at line 337 of file disk_resident_id_table.hpp.

◆ end() [2/2]

template<class Value>
const_iterator pineforge::detail::DiskResidentIdTable< Value >::end ( ) const
inlinenoexcept

Definition at line 338 of file disk_resident_id_table.hpp.

◆ resident_rows() [1/2]

template<class Value>
auto pineforge::detail::DiskResidentIdTable< Value >::resident_rows ( )
inlinenoexcept

Definition at line 339 of file disk_resident_id_table.hpp.

◆ resident_rows() [2/2]

template<class Value>
auto pineforge::detail::DiskResidentIdTable< Value >::resident_rows ( ) const
inlinenoexcept

Definition at line 343 of file disk_resident_id_table.hpp.

◆ held_rows() [1/2]

template<class Value>
auto pineforge::detail::DiskResidentIdTable< Value >::held_rows ( )
inlinenoexcept

Definition at line 347 of file disk_resident_id_table.hpp.

◆ held_rows() [2/2]

template<class Value>
auto pineforge::detail::DiskResidentIdTable< Value >::held_rows ( ) const
inlinenoexcept

Definition at line 351 of file disk_resident_id_table.hpp.

◆ refresh_held() [1/2]

◆ refresh_held() [2/2]

template<class Value>
template<bool Const>
void pineforge::detail::DiskResidentIdTable< Value >::refresh_held ( const HeldIterator< Const > & row) const
inline

Definition at line 361 of file disk_resident_id_table.hpp.

◆ held_rows_exact()

◆ resident_opened_slot_count()

template<class Value>
std::size_t pineforge::detail::DiskResidentIdTable< Value >::resident_opened_slot_count ( ) const
inlinenoexcept

Definition at line 377 of file disk_resident_id_table.hpp.

◆ resident_ids()

template<class Value>
auto pineforge::detail::DiskResidentIdTable< Value >::resident_ids ( ) const
inlinenoexcept

Definition at line 382 of file disk_resident_id_table.hpp.

◆ all_sorted() [1/2]

template<class Value>
auto pineforge::detail::DiskResidentIdTable< Value >::all_sorted ( )
inline

Definition at line 390 of file disk_resident_id_table.hpp.

◆ all_sorted() [2/2]

template<class Value>
auto pineforge::detail::DiskResidentIdTable< Value >::all_sorted ( ) const
inline

Definition at line 394 of file disk_resident_id_table.hpp.

◆ for_each_id()

template<class Value>
template<class F>
void pineforge::detail::DiskResidentIdTable< Value >::for_each_id ( F && visit) const
inline

Definition at line 399 of file disk_resident_id_table.hpp.

◆ for_each_sorted_id()

template<class Value>
template<class F>
void pineforge::detail::DiskResidentIdTable< Value >::for_each_sorted_id ( F && visit) const
inline

Definition at line 405 of file disk_resident_id_table.hpp.

◆ find() [1/2]

template<class Value>
iterator pineforge::detail::DiskResidentIdTable< Value >::find ( const std::string & key)
inline

Definition at line 409 of file disk_resident_id_table.hpp.

◆ find() [2/2]

template<class Value>
const_iterator pineforge::detail::DiskResidentIdTable< Value >::find ( const std::string & key) const
inline

Definition at line 414 of file disk_resident_id_table.hpp.

◆ find_resident() [1/2]

◆ find_resident() [2/2]

template<class Value>
const_iterator pineforge::detail::DiskResidentIdTable< Value >::find_resident ( const std::string & key) const
inlinenoexcept

Definition at line 427 of file disk_resident_id_table.hpp.

◆ emplace()

template<class Value>
std::pair< iterator, bool > pineforge::detail::DiskResidentIdTable< Value >::emplace ( const std::string & key,
Value value )
inline

Definition at line 433 of file disk_resident_id_table.hpp.

◆ spill()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::spill ( ) const
inline

◆ spill_implicitly()

◆ fixture_implicit_spill_interval()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::fixture_implicit_spill_interval ( std::size_t calls)
inlinenoexcept

Definition at line 480 of file disk_resident_id_table.hpp.

◆ fixture_spill_predicate()

template<class Value>
void pineforge::detail::DiskResidentIdTable< Value >::fixture_spill_predicate ( bool(* predicate )(const std::string &))
inlinenoexcept

Definition at line 485 of file disk_resident_id_table.hpp.


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