|
PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
|
Minimal read boundary for the private binary curve (DESIGN 3.8). More...
#include <spill_curve_reader.hpp>
Public Types | |
| using | Read |
Data Fields | |
| const void * | context = nullptr |
| std::int64_t | point_count = 0 |
| Read | read = nullptr |
Minimal read boundary for the private binary curve (DESIGN 3.8).
The descriptor/reader owner keeps an immutable snapshot of point_count consecutive 24-byte pf_equity_point_t records alive throughout a walk. Selected snapshots contain the anchor followed by the window points.
read(context, index, count, output) copies EXACTLY count records beginning at index into caller-owned storage, preserving every bit, or throws. Calls are positional, may repeat/restart, and never advance a file cursor. The backing writer must flush its pending bytes before exposing a snapshot. No sink-text parsing, mapping, growing read buffer or implicit tail point. SpillCurve requests at most floor(64 KiB / sizeof(pf_equity_point_t)) records, always with 0 <= index and 0 < count <= point_count - index.
The backing data and context are borrowed; SpillCurve copies the three fields, not the backing data. A null callback is allowed only for an empty snapshot. Readers may throw std::system_error for I/O failures; failures propagate without publishing a partially filled cache. Concurrent use of one SpillCurve needs external synchronization; separate sources may share immutable backing storage.
Definition at line 29 of file spill_curve_reader.hpp.
Definition at line 30 of file spill_curve_reader.hpp.
| const void* pineforge::metrics::ScratchCurveReader::context = nullptr |
Definition at line 33 of file spill_curve_reader.hpp.
| std::int64_t pineforge::metrics::ScratchCurveReader::point_count = 0 |
Definition at line 34 of file spill_curve_reader.hpp.
| Read pineforge::metrics::ScratchCurveReader::read = nullptr |
Definition at line 35 of file spill_curve_reader.hpp.