108 const std::vector<NativeInstrumentFeed>& feeds,
114 const std::vector<NativeTimeframeSubscription>& subscriptions,
115 const std::string& input_tf,
116 bool timeframe_undetected,
117 const std::optional<NativeAuxiliaryFeed>& auxiliary_feed,
118 const std::vector<NativeInstrumentFeed>& instrument_feeds,
125 const std::vector<NativeInstrumentFeed>& feeds,
156 using Visitor = bool (*)(
void* context,
const Bar& bar)
noexcept;
181 std::int64_t begin_ms,
std::int64_t end_ms) = 0;
Four-operation source (DESIGN 2.2:350-351; 5:1237-1262, as amended).
virtual std::size_t count() const =0
Fixed lifetime row count, including zero (required change 7).
virtual bool for_each(Visitor visitor, void *context) const =0
Fresh whole-path walk, true only if complete and false only for visitor stop.
virtual const Bar * next_after_segment() const noexcept=0
Null before the first segment; otherwise the first path bar at/after its end, or null at exhaustion,...
virtual ~NativeLowerPathSource() noexcept=default
bool(*)(void *context, const Bar &bar) noexcept Visitor
Synchronous ordered callback; bar lives for this call only.
virtual NativeBarView segment(std::int64_t begin_ms, std::int64_t end_ms)=0
Ordered contiguous rows with begin_ms <= timestamp < end_ms.
std::uint64_t native_instrument_feeds_digest(const std::vector< NativeInstrumentFeed > &feeds, const NativeBarViews &views) noexcept
Same count, metadata, ordered OHLCV/timestamp/close/columns fold and feed NaN canonicalization (DESIG...
NativeRunSpecValidation validate_native_instrument_feeds(const std::vector< NativeInstrumentFeed > &feeds, const NativeBarViews &views) noexcept
The same feed-only validation over effective data, retaining all existing refusal ordering and typed ...
std::uint64_t native_run_spec_digest(const NativeRunSpec &spec, const NativeBarViews &views)
Portable spec fold with an explicit context, sharing the existing fold and relative run base; never i...
std::uint64_t native_intrabar_path_digest(const IntrabarPath &path, const NativeLowerPathSource *source)
Null delegates to the vector digest; nonnull replaces only lower count/ walk.
NativeRunSpecValidation validate_native_timeframe_subscriptions(const std::vector< NativeTimeframeSubscription > &subscriptions, const std::string &input_tf, bool timeframe_undetected, const std::optional< NativeAuxiliaryFeed > &auxiliary_feed, const std::vector< NativeInstrumentFeed > &instrument_feeds, const NativeBarViews &views) noexcept
The same feeds-first, auxiliary-feed, then subscription judgement over effective data,...
NativeInstrumentFeedReadView native_instrument_feed_view(const NativeInstrumentFeed &owned, const NativeInstrumentFeedView *borrowed) noexcept
Common accessor (DESIGN 2.2:355-375).
NativeRunSpecValidation normalize_native_run_spec(NativeRunSpec &spec, const NativeBarViews &views) noexcept
Existing full validation and zero-fee normalization over effective data.
Borrowed OHLCV span, exactly the layout specified in 2.2:347-348.
Explicit read context (RESOLVED V1, required changes 1-4).
const NativeLowerPathSource * lower_path
std::size_t instrument_feed_count
NativeBarView lower_segment
const NativeInstrumentFeedView *const * instrument_feeds
Effective feed data (DESIGN 2.2:354-375; RESOLVED V1).
const std::int64_t * close_ms
Borrowed instrument feed, exactly 2.2:349.
const std::int64_t * close_ms
An owned lower-timeframe execution path.
Another instrument's own bars of one timeframe, installed as data.
Allocation-free facts suitable for the host's durable failure variant.
One complete setup value, staged/copied by NativeStrategyHost before it is applied at begin.