PineForge v0.13.1-379-g9b50973
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pineforge::native_calendar::native_calendar_v2 Namespace Reference

Data Structures

struct  CivilResolution
 
struct  NativeInterval
 
class  SessionCalendar
 
class  SessionWindow
 
class  Timeframe
 
struct  TimeframeCompatibility
 
struct  TimezoneIdentityDescriptor
 

Enumerations

enum class  TimeframeUnit {
  Second ,
  Minute ,
  Day ,
  Week ,
  Month
}
 
enum class  TimeframePairing {
  Passthrough ,
  SameUnitMultiple ,
  FixedDivisible ,
  FixedToCalendar ,
  CalendarToCalendar ,
  ScriptFiner ,
  IndivisibleFixed ,
  StreamMonthlyInputRefused ,
  Invalid
}
 
enum class  TimezoneSourceKind : std::uint32_t {
  Utc = 1 ,
  FixedOffset = 2 ,
  PosixExplicit = 3 ,
  PosixDefaultDst = 4 ,
  Tzfile = 5
}
 
enum class  CivilKind {
  Unique ,
  Gap ,
  Fold
}
 

Functions

bool operator== (const Timeframe &a, const Timeframe &b)
 
std::optional< Timeframeparse_timeframe (std::string_view text)
 
TimeframeCompatibility compatibility (const Timeframe &input, const Timeframe &script)
 
TimeframeCompatibility stream_compatibility (const Timeframe &input, const Timeframe &script)
 
std::optional< SessionCalendarparse_session (std::string_view session, std::string_view timezone)
 
bool timezone_accepted (std::string_view timezone)
 
std::optional< TimezoneIdentityDescriptortimezone_identity_descriptor (std::string_view timezone)
 
bool in_session (const SessionCalendar &calendar, int64_t ms)
 
std::optional< CivilResolutionresolve_civil (std::string_view timezone, int year, int month, int day, int hour, int minute, int second=0)
 
std::optional< int64_t > session_day_ordinal (const SessionCalendar &calendar, int64_t ms)
 
std::optional< int64_t > session_week_ordinal (const SessionCalendar &calendar, int64_t ms)
 
std::optional< int64_t > session_month_ordinal (const SessionCalendar &calendar, int64_t ms)
 
std::optional< int64_t > period_key (const SessionCalendar &calendar, const Timeframe &tf, int64_t ms)
 
std::optional< NativeIntervalinterval_containing (const SessionCalendar &calendar, const Timeframe &tf, int64_t ms)
 
std::optional< NativeIntervalinterval_containing (const SessionCalendar &calendar, const Timeframe &script_tf, const Timeframe &input_tf, int64_t ms)
 

Enumeration Type Documentation

◆ TimeframeUnit

Enumerator
Second 
Minute 
Day 
Week 
Month 

Definition at line 35 of file native_calendar.hpp.

◆ TimeframePairing

Enumerator
Passthrough 
SameUnitMultiple 
FixedDivisible 
FixedToCalendar 
CalendarToCalendar 
ScriptFiner 
IndivisibleFixed 
StreamMonthlyInputRefused 
Invalid 

Definition at line 100 of file native_calendar.hpp.

◆ TimezoneSourceKind

Enumerator
Utc 
FixedOffset 
PosixExplicit 
PosixDefaultDst 
Tzfile 

Definition at line 208 of file native_calendar.hpp.

◆ CivilKind

Enumerator
Unique 
Gap 
Fold 

Definition at line 325 of file native_calendar.hpp.

Function Documentation

◆ operator==()

bool pineforge::native_calendar::native_calendar_v2::operator== ( const Timeframe & a,
const Timeframe & b )
inlinenoexcept

Definition at line 90 of file native_calendar.hpp.

◆ parse_timeframe()

std::optional< Timeframe > pineforge::native_calendar::native_calendar_v2::parse_timeframe ( std::string_view text)

◆ compatibility()

TimeframeCompatibility pineforge::native_calendar::native_calendar_v2::compatibility ( const Timeframe & input,
const Timeframe & script )

◆ stream_compatibility()

TimeframeCompatibility pineforge::native_calendar::native_calendar_v2::stream_compatibility ( const Timeframe & input,
const Timeframe & script )

◆ parse_session()

std::optional< SessionCalendar > pineforge::native_calendar::native_calendar_v2::parse_session ( std::string_view session,
std::string_view timezone )

◆ timezone_accepted()

bool pineforge::native_calendar::native_calendar_v2::timezone_accepted ( std::string_view timezone)

◆ timezone_identity_descriptor()

std::optional< TimezoneIdentityDescriptor > pineforge::native_calendar::native_calendar_v2::timezone_identity_descriptor ( std::string_view timezone)

◆ in_session()

bool pineforge::native_calendar::native_calendar_v2::in_session ( const SessionCalendar & calendar,
int64_t ms )

◆ resolve_civil()

std::optional< CivilResolution > pineforge::native_calendar::native_calendar_v2::resolve_civil ( std::string_view timezone,
int year,
int month,
int day,
int hour,
int minute,
int second = 0 )

◆ session_day_ordinal()

std::optional< int64_t > pineforge::native_calendar::native_calendar_v2::session_day_ordinal ( const SessionCalendar & calendar,
int64_t ms )

◆ session_week_ordinal()

std::optional< int64_t > pineforge::native_calendar::native_calendar_v2::session_week_ordinal ( const SessionCalendar & calendar,
int64_t ms )

◆ session_month_ordinal()

std::optional< int64_t > pineforge::native_calendar::native_calendar_v2::session_month_ordinal ( const SessionCalendar & calendar,
int64_t ms )

◆ period_key()

std::optional< int64_t > pineforge::native_calendar::native_calendar_v2::period_key ( const SessionCalendar & calendar,
const Timeframe & tf,
int64_t ms )

◆ interval_containing() [1/2]

std::optional< NativeInterval > pineforge::native_calendar::native_calendar_v2::interval_containing ( const SessionCalendar & calendar,
const Timeframe & tf,
int64_t ms )

◆ interval_containing() [2/2]

std::optional< NativeInterval > pineforge::native_calendar::native_calendar_v2::interval_containing ( const SessionCalendar & calendar,
const Timeframe & script_tf,
const Timeframe & input_tf,
int64_t ms )