PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pineforge::detail::FeedProjection< Row > Class Template Referencefinal

#include <feed_projection.hpp>

Public Member Functions

 FeedProjection ()=default
 
 FeedProjection (std::shared_ptr< const FeedReader< Row > > reader, std::size_t capacity_bytes=kFeedProjectionCacheBytes)
 
 FeedProjection (std::initializer_list< Row > rows)
 
 FeedProjection (const FeedProjection &other)
 
FeedProjection & operator= (const FeedProjection &other)
 
 FeedProjection (FeedProjection &&other) noexcept
 
FeedProjection & operator= (FeedProjection &&other) noexcept
 
std::size_t size () const noexcept override
 
bool empty () const noexcept
 
Row operator[] (std::size_t index) const
 
Row back () const
 
const FeedProjectionStats & stats () const noexcept
 
ReadThroughCacheStats cache_stats () const noexcept
 
ReadThroughCachePolicy cache_policy () const noexcept
 
std::size_t capacity_bytes () const noexcept
 
const std::shared_ptr< const FeedReader< Row > > & reader () const noexcept
 
void set_capacity_bytes (std::size_t bytes) noexcept
 
void read (std::size_t first, Row *destination, std::size_t count) const override
 
- Public Member Functions inherited from pineforge::FeedReader< Row >
virtual ~FeedReader ()=default
 
Row at (std::size_t index) const
 

Static Public Member Functions

static constexpr std::size_t page_payload_bytes () noexcept
 
static std::size_t page_bytes () noexcept
 
static constexpr std::size_t transfer_workspace_bytes () noexcept
 
static constexpr std::size_t rows_per_page () noexcept
 

Detailed Description

template<class Row>
class pineforge::detail::FeedProjection< Row >

Definition at line 49 of file feed_projection.hpp.

Constructor & Destructor Documentation

◆ FeedProjection() [1/5]

template<class Row>
pineforge::detail::FeedProjection< Row >::FeedProjection ( )
default

◆ FeedProjection() [2/5]

template<class Row>
pineforge::detail::FeedProjection< Row >::FeedProjection ( std::shared_ptr< const FeedReader< Row > > reader,
std::size_t capacity_bytes = kFeedProjectionCacheBytes )
inlineexplicit

◆ FeedProjection() [3/5]

template<class Row>
pineforge::detail::FeedProjection< Row >::FeedProjection ( std::initializer_list< Row > rows)

◆ FeedProjection() [4/5]

template<class Row>
pineforge::detail::FeedProjection< Row >::FeedProjection ( const FeedProjection< Row > & other)
inline

Definition at line 62 of file feed_projection.hpp.

References FeedProjection().

◆ FeedProjection() [5/5]

template<class Row>
pineforge::detail::FeedProjection< Row >::FeedProjection ( FeedProjection< Row > && other)
inlinenoexcept

Definition at line 71 of file feed_projection.hpp.

References FeedProjection().

Member Function Documentation

◆ operator=() [1/2]

template<class Row>
FeedProjection & pineforge::detail::FeedProjection< Row >::operator= ( const FeedProjection< Row > & other)
inline

Definition at line 64 of file feed_projection.hpp.

References FeedProjection().

◆ operator=() [2/2]

template<class Row>
FeedProjection & pineforge::detail::FeedProjection< Row >::operator= ( FeedProjection< Row > && other)
inlinenoexcept

Definition at line 82 of file feed_projection.hpp.

References FeedProjection().

◆ page_payload_bytes()

template<class Row>
static constexpr std::size_t pineforge::detail::FeedProjection< Row >::page_payload_bytes ( )
inlinestaticconstexprnoexcept

Definition at line 98 of file feed_projection.hpp.

Referenced by cache_policy(), page_bytes(), and transfer_workspace_bytes().

◆ page_bytes()

template<class Row>
static std::size_t pineforge::detail::FeedProjection< Row >::page_bytes ( )
inlinestaticnoexcept

◆ transfer_workspace_bytes()

template<class Row>
static constexpr std::size_t pineforge::detail::FeedProjection< Row >::transfer_workspace_bytes ( )
inlinestaticconstexprnoexcept

Definition at line 102 of file feed_projection.hpp.

References page_payload_bytes().

◆ rows_per_page()

template<class Row>
static constexpr std::size_t pineforge::detail::FeedProjection< Row >::rows_per_page ( )
inlinestaticconstexprnoexcept

Definition at line 105 of file feed_projection.hpp.

◆ size()

template<class Row>
std::size_t pineforge::detail::FeedProjection< Row >::size ( ) const
inlineoverridevirtualnoexcept

Implements pineforge::FeedReader< Row >.

Definition at line 106 of file feed_projection.hpp.

Referenced by back(), empty(), and read().

◆ empty()

template<class Row>
bool pineforge::detail::FeedProjection< Row >::empty ( ) const
inlinenoexcept

Definition at line 107 of file feed_projection.hpp.

References size().

Referenced by back().

◆ operator[]()

template<class Row>
Row pineforge::detail::FeedProjection< Row >::operator[] ( std::size_t index) const
inline

Definition at line 108 of file feed_projection.hpp.

References pineforge::FeedReader< Row >::at().

◆ back()

template<class Row>
Row pineforge::detail::FeedProjection< Row >::back ( ) const
inline

Definition at line 109 of file feed_projection.hpp.

References pineforge::FeedReader< Row >::at(), empty(), and size().

◆ stats()

template<class Row>
const FeedProjectionStats & pineforge::detail::FeedProjection< Row >::stats ( ) const
inlinenoexcept

Definition at line 113 of file feed_projection.hpp.

◆ cache_stats()

template<class Row>
ReadThroughCacheStats pineforge::detail::FeedProjection< Row >::cache_stats ( ) const
inlinenoexcept

Definition at line 116 of file feed_projection.hpp.

◆ cache_policy()

template<class Row>
ReadThroughCachePolicy pineforge::detail::FeedProjection< Row >::cache_policy ( ) const
inlinenoexcept

Definition at line 119 of file feed_projection.hpp.

References page_payload_bytes().

◆ capacity_bytes()

template<class Row>
std::size_t pineforge::detail::FeedProjection< Row >::capacity_bytes ( ) const
inlinenoexcept

Definition at line 122 of file feed_projection.hpp.

Referenced by FeedProjection().

◆ reader()

template<class Row>
const std::shared_ptr< const FeedReader< Row > > & pineforge::detail::FeedProjection< Row >::reader ( ) const
inlinenoexcept

Definition at line 123 of file feed_projection.hpp.

Referenced by FeedProjection().

◆ set_capacity_bytes()

template<class Row>
void pineforge::detail::FeedProjection< Row >::set_capacity_bytes ( std::size_t bytes)
inlinenoexcept

Definition at line 127 of file feed_projection.hpp.

Referenced by FeedProjection().

◆ read()

template<class Row>
void pineforge::detail::FeedProjection< Row >::read ( std::size_t first,
Row * destination,
std::size_t count ) const
inlineoverridevirtual

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