PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
exit_scratch.hpp File Reference
#include <pineforge/detail/scratch_store.hpp>
#include <pineforge/detail/scratch_arena.hpp>
#include <pineforge/native_host.hpp>
#include <pineforge/run_failure.hpp>
#include <algorithm>
#include <array>
#include <cstdint>
#include <cstring>
#include <exception>
#include <iterator>
#include <limits>
#include <optional>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>
Include dependency graph for exit_scratch.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  pineforge::source::detail::ExitScratchTeardownFailure
 
class  pineforge::source::detail::ExitScratchVersions
 
struct  pineforge::source::detail::ExitScratchContext
 
class  pineforge::source::detail::ExitScratchError
 
class  pineforge::source::detail::ExitScratchText
 
class  pineforge::source::detail::ExitScratchPairText
 
class  pineforge::source::detail::ExitScratchKey
 
struct  pineforge::source::detail::ExitScratchOrderStats
 
class  pineforge::source::detail::ExitScratchScope
 
class  pineforge::source::detail::ExitScratchIndex
 
struct  pineforge::source::detail::ExitScratchValue< T >
 
struct  pineforge::source::detail::ExitScratchValue< std::string >
 
struct  pineforge::source::detail::ExitScratchValue< native_order::RequestHandle >
 
class  pineforge::source::detail::ExitScratchRows< T >
 
struct  pineforge::source::detail::ExitScratchRows< T >::const_iterator
 
struct  pineforge::source::detail::ScratchBuffer
 
class  pineforge::source::detail::ScratchByteSource
 
struct  pineforge::source::detail::ScratchKeyOrder
 
class  pineforge::source::detail::ScratchReadback
 
struct  pineforge::source::detail::ScratchRecordInfo
 
class  pineforge::source::detail::ScratchSpanSource
 
class  pineforge::source::detail::CommandScratchStore
 

Namespaces

namespace  pineforge
 
namespace  pineforge::source
 
namespace  pineforge::source::detail
 

Typedefs

using pineforge::source::detail::ExitScratchKeyWords = std::array<std::uint64_t, 4>
 
using pineforge::source::detail::ScratchHandle
 

Enumerations

enum class  pineforge::source::detail::ScratchDurability
 
enum class  pineforge::source::detail::ScratchField
 
enum class  pineforge::source::detail::ScratchStatus
 

Functions

ExitScratchContext & pineforge::source::detail::exit_scratch (const PineExecutionAdapter &)
 
void pineforge::source::detail::exit_scratch_failure (ScratchStatus)
 
void pineforge::source::detail::exit_scratch_check (ScratchStatus status)
 
void pineforge::source::detail::exit_scratch_failure (ScratchStatus status, const ScratchReadback &store)
 
void pineforge::source::detail::exit_scratch_check (ScratchStatus status, const ScratchReadback &store)
 
void pineforge::source::detail::exit_scratch_check_teardown (const ExitScratchContext &context)
 
ExitScratchVersions & pineforge::source::detail::exit_scratch_versions (ExitScratchContext &context)
 
template<class Visit>
void pineforge::source::detail::exit_scratch_lots (ExitScratchContext &scratch, const NativeStrategyHost &host, double mark, Visit visit)
 
template<class Visit>
void pineforge::source::detail::exit_scratch_working (ExitScratchContext &scratch, const NativeStrategyHost &host, Visit visit)
 
ScratchSpanSource pineforge::source::detail::exit_scratch_text (const std::string &text) noexcept
 
ScratchStatus pineforge::source::detail::exit_scratch_compare_text (const ScratchByteSource &left, std::uint64_t left_offset, const ScratchByteSource &right, std::uint64_t right_offset, int &result) noexcept
 
bool pineforge::source::detail::exit_scratch_equal (const ScratchByteSource &left, const ScratchByteSource &right)
 
bool pineforge::source::detail::operator== (const ExitScratchText &left, const std::string &right)
 
bool pineforge::source::detail::operator== (const std::string &left, const ExitScratchText &right)
 
bool pineforge::source::detail::operator!= (const ExitScratchText &left, const std::string &right)
 
bool pineforge::source::detail::operator!= (const std::string &left, const ExitScratchText &right)
 
ScratchKeyOrder pineforge::source::detail::exit_scratch_key_order (ExitScratchOrderStats *stats=nullptr) noexcept
 
ExitScratchKeyWords pineforge::source::detail::exit_scratch_words (ExitScratchContext &context, ScratchHandle handle)
 
ScratchHandle pineforge::source::detail::exit_scratch_seek (ExitScratchContext &context, const ScratchByteSource &key)
 
template<class Edit>
void pineforge::source::detail::exit_scratch_edit (ExitScratchContext &context, Edit operation)
 
void pineforge::source::detail::exit_scratch_erase_scope_noexcept (CommandScratchStore &store, std::uint64_t scope, std::uint64_t first_kind, std::uint64_t last_kind, ExitScratchTeardownFailure &failure) noexcept
 

Variables

constexpr std::size_t pineforge::source::detail::kExitScopeEraseBatch = 64
 
constexpr std::size_t pineforge::source::detail::exit_scratch_key_bytes = sizeof(ExitScratchKeyWords)