PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pineforge::detail::script_array Namespace Reference

Data Structures

struct  ElementCodec
 
struct  ElementCodec< ScriptArray< U >, void >
 
struct  ElementCodec< std::string, void >
 
struct  HasId
 
struct  HasId< T, std::void_t< decltype(std::declval< T >().id)> >
 
struct  StoreHeader
 

Functions

void index_error (const char *, std::int64_t, std::uint64_t, bool missing=false)
 
void index_error_double (const char *, double, std::uint64_t)
 
void empty_array_error (const char *)
 
void size_error ()
 
void invariant (const char *)
 
void inverted_range_error (const char *)
 
std::int64_t checked_index_double (double, std::uint64_t, const char *)
 
o1::Id clone_bytes (const o1::Store &, o1::Id, o1::Store &)
 
o1::Id store_string (o1::Store &, const std::string &)
 
std::string load_string (const o1::Store &, o1::Id)
 
void read_exact (const o1::Store &store, o1::Id id, std::uint64_t offset, void *destination, std::size_t bytes)
 
void write_exact (o1::Store &store, o1::Id id, std::uint64_t offset, const void *source, std::size_t bytes)
 
std::uint64_t checked (std::int64_t raw, std::uint64_t size, const char *method, bool relative, bool end=false)
 
template<class Index>
std::int64_t index_integer (Index value, std::uint64_t size, const char *method)
 

Variables

constexpr std::uint64_t kHeaderMagic = UINT64_C(0x5046415252303032)
 
constexpr std::uint64_t kPayloadPageBytes = 4096
 

Function Documentation

◆ index_error()

void pineforge::detail::script_array::index_error ( const char * ,
std::int64_t ,
std::uint64_t ,
bool missing = false )

Referenced by checked(), and index_integer().

◆ index_error_double()

void pineforge::detail::script_array::index_error_double ( const char * ,
double ,
std::uint64_t  )

Referenced by index_integer().

◆ empty_array_error()

void pineforge::detail::script_array::empty_array_error ( const char * )

◆ size_error()

void pineforge::detail::script_array::size_error ( )

◆ invariant()

void pineforge::detail::script_array::invariant ( const char * )

◆ inverted_range_error()

void pineforge::detail::script_array::inverted_range_error ( const char * )

◆ checked_index_double()

std::int64_t pineforge::detail::script_array::checked_index_double ( double ,
std::uint64_t ,
const char *  )

Referenced by index_integer().

◆ clone_bytes()

o1::Id pineforge::detail::script_array::clone_bytes ( const o1::Store & ,
o1::Id ,
o1::Store &  )

◆ store_string()

o1::Id pineforge::detail::script_array::store_string ( o1::Store & ,
const std::string &  )

◆ load_string()

std::string pineforge::detail::script_array::load_string ( const o1::Store & ,
o1::Id  )

◆ read_exact()

void pineforge::detail::script_array::read_exact ( const o1::Store & store,
o1::Id id,
std::uint64_t offset,
void * destination,
std::size_t bytes )
inline

◆ write_exact()

void pineforge::detail::script_array::write_exact ( o1::Store & store,
o1::Id id,
std::uint64_t offset,
const void * source,
std::size_t bytes )
inline

Definition at line 75 of file array.hpp.

References invariant(), and pineforge::detail::o1::Store::write().

◆ checked()

◆ index_integer()

Variable Documentation

◆ kHeaderMagic

std::uint64_t pineforge::detail::script_array::kHeaderMagic = UINT64_C(0x5046415252303032)
inlineconstexpr

◆ kPayloadPageBytes

std::uint64_t pineforge::detail::script_array::kPayloadPageBytes = 4096
inlineconstexpr