PineForge
unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pine_sequence_cache_observer.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
pineforge/detail/scratch_backing.hpp
>
4
5
namespace
pineforge::source::detail
{
6
7
// Internal diagnostics at lazy backing construction. The observer only
8
// borrows the owner, never a cache line; it must not retain it past table
9
// clear/rebuild/destruction or mutate it. Logical I/O charging is separate.
10
struct
SequenceCacheObserver
{
11
void
*
context
=
nullptr
;
12
void (*
created
)(
void
*, const ::pineforge::detail::ScratchBacking&)
noexcept
=
nullptr
;
13
};
14
inline
thread_local
SequenceCacheObserver
sequence_cache_observer
{};
15
inline
SequenceCacheObserver
set_sequence_cache_observer
(
SequenceCacheObserver
observer)
noexcept
{
16
const
auto
previous =
sequence_cache_observer
;
17
sequence_cache_observer
= observer;
18
return
previous;
19
}
20
21
}
// namespace pineforge::source::detail
pineforge::source::detail
Definition
exit_payload_readback.hpp:52
pineforge::source::detail::sequence_cache_observer
thread_local SequenceCacheObserver sequence_cache_observer
Definition
pine_sequence_cache_observer.hpp:14
pineforge::source::detail::set_sequence_cache_observer
SequenceCacheObserver set_sequence_cache_observer(SequenceCacheObserver observer) noexcept
Definition
pine_sequence_cache_observer.hpp:15
scratch_backing.hpp
pineforge::source::detail::SequenceCacheObserver
Definition
pine_sequence_cache_observer.hpp:10
pineforge::source::detail::SequenceCacheObserver::context
void * context
Definition
pine_sequence_cache_observer.hpp:11
pineforge::source::detail::SequenceCacheObserver::created
void(* created)(void *, const ::pineforge::detail::ScratchBacking &) noexcept
Definition
pine_sequence_cache_observer.hpp:12
src
source
pine_sequence_cache_observer.hpp
PineForge unreleased — Apache-2.0 —
github.com/pineforge-4pass/pineforge-engine
—
pineforge.dev