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

#include <udt_graph.hpp>

Public Member Functions

 UdtGraph (Store &)
 
 UdtGraph (const UdtGraph &)=delete
 
UdtGraph & operator= (const UdtGraph &)=delete
 
Store & store () const noexcept
 
Id identity () const noexcept
 
void close ()
 
Id make (std::uint64_t payload_bytes, std::uint64_t edge_count=0)
 
Id make (const UdtType &)
 
Id make (const UdtType &, const void *payload, const Id *children)
 
bool alive (Id) const
 
std::uint64_t type_tag (Id) const
 
std::uint64_t payload_size (Id) const
 
std::uint64_t edge_count (Id) const
 
Id root (Id value=kNullId)
 
void drop_root (Id)
 
Id edge (Id, std::uint64_t index) const
 
void edges (Id, std::uint64_t first, Id *out, std::size_t count) const
 
void set_edge (Id, std::uint64_t index, Id child)
 
void resize_edges (Id, std::uint64_t count)
 
void resize_payload (Id, std::uint64_t bytes)
 
void read (Id, std::uint64_t off, void *dst, std::size_t bytes) const
 
void write (Id, std::uint64_t off, const void *src, std::size_t bytes)
 
void read_object (Id, const UdtType &, void *payload, Id *children) const
 
template<class T>
T scalar (Id id, std::uint64_t off=0) const
 
template<class T>
void set_scalar (Id id, const T &value, std::uint64_t off=0)
 
Id copy_shallow (Id)
 
Id copy_deep (Id)
 
std::unique_ptr< Tx > begin ()
 
std::uint64_t collect ()
 
std::uint64_t hash_state () const
 

Detailed Description

Definition at line 130 of file udt_graph.hpp.

Constructor & Destructor Documentation

◆ UdtGraph() [1/2]

pineforge::detail::o1::UdtGraph::UdtGraph ( Store & )
explicit

Referenced by operator=(), and UdtGraph().

◆ UdtGraph() [2/2]

pineforge::detail::o1::UdtGraph::UdtGraph ( const UdtGraph & )
delete

References UdtGraph().

Member Function Documentation

◆ operator=()

UdtGraph & pineforge::detail::o1::UdtGraph::operator= ( const UdtGraph & )
delete

References UdtGraph().

◆ store()

Store & pineforge::detail::o1::UdtGraph::store ( ) const
inlinenoexcept

Definition at line 137 of file udt_graph.hpp.

◆ identity()

Id pineforge::detail::o1::UdtGraph::identity ( ) const
inlinenoexcept

Definition at line 138 of file udt_graph.hpp.

◆ close()

void pineforge::detail::o1::UdtGraph::close ( )

◆ make() [1/3]

Id pineforge::detail::o1::UdtGraph::make ( std::uint64_t payload_bytes,
std::uint64_t edge_count = 0 )

References edge_count().

◆ make() [2/3]

Id pineforge::detail::o1::UdtGraph::make ( const UdtType & )

◆ make() [3/3]

Id pineforge::detail::o1::UdtGraph::make ( const UdtType & ,
const void * payload,
const Id * children )

◆ alive()

bool pineforge::detail::o1::UdtGraph::alive ( Id ) const

◆ type_tag()

std::uint64_t pineforge::detail::o1::UdtGraph::type_tag ( Id ) const

◆ payload_size()

std::uint64_t pineforge::detail::o1::UdtGraph::payload_size ( Id ) const

◆ edge_count()

std::uint64_t pineforge::detail::o1::UdtGraph::edge_count ( Id ) const

Referenced by make().

◆ root()

Id pineforge::detail::o1::UdtGraph::root ( Id value = kNullId)

◆ drop_root()

void pineforge::detail::o1::UdtGraph::drop_root ( Id )

◆ edge()

Id pineforge::detail::o1::UdtGraph::edge ( Id ,
std::uint64_t index ) const

◆ edges()

void pineforge::detail::o1::UdtGraph::edges ( Id ,
std::uint64_t first,
Id * out,
std::size_t count ) const

◆ set_edge()

void pineforge::detail::o1::UdtGraph::set_edge ( Id ,
std::uint64_t index,
Id child )

◆ resize_edges()

void pineforge::detail::o1::UdtGraph::resize_edges ( Id ,
std::uint64_t count )

◆ resize_payload()

void pineforge::detail::o1::UdtGraph::resize_payload ( Id ,
std::uint64_t bytes )

◆ read()

void pineforge::detail::o1::UdtGraph::read ( Id ,
std::uint64_t off,
void * dst,
std::size_t bytes ) const

Referenced by scalar().

◆ write()

void pineforge::detail::o1::UdtGraph::write ( Id ,
std::uint64_t off,
const void * src,
std::size_t bytes )

Referenced by set_scalar().

◆ read_object()

void pineforge::detail::o1::UdtGraph::read_object ( Id ,
const UdtType & ,
void * payload,
Id * children ) const

◆ scalar()

template<class T>
T pineforge::detail::o1::UdtGraph::scalar ( Id id,
std::uint64_t off = 0 ) const
inline

Definition at line 177 of file udt_graph.hpp.

References read(), and pineforge::detail::value.

◆ set_scalar()

template<class T>
void pineforge::detail::o1::UdtGraph::set_scalar ( Id id,
const T & value,
std::uint64_t off = 0 )
inline

Definition at line 184 of file udt_graph.hpp.

References pineforge::detail::value, and write().

◆ copy_shallow()

Id pineforge::detail::o1::UdtGraph::copy_shallow ( Id )

◆ copy_deep()

Id pineforge::detail::o1::UdtGraph::copy_deep ( Id )

◆ begin()

std::unique_ptr< Tx > pineforge::detail::o1::UdtGraph::begin ( )
inline

Definition at line 193 of file udt_graph.hpp.

◆ collect()

std::uint64_t pineforge::detail::o1::UdtGraph::collect ( )

◆ hash_state()

std::uint64_t pineforge::detail::o1::UdtGraph::hash_state ( ) const

The documentation for this class was generated from the following file: