12#ifndef VM_VALUE_CLOSURE_HPP
13#define VM_VALUE_CLOSURE_HPP
96 void toString(std::ostream& os,
VM& vm)
const noexcept;
109 return A.m_scope == B.m_scope;
114 return A.m_page_addr < B.m_page_addr;
The ArkScript virtual machine, executing ArkScript bytecode.
friend ARK_API_INLINE bool operator==(const Closure &A, const Closure &B) noexcept
PageAddr_t pageAddr() const
Return the page address of the object.
const Scope_t & scope() const noexcept
Return the scope held by the object.
Scope_t & refScope() noexcept
Return a reference to the scpoe held by the object.
void toString(std::ostream &os, VM &vm) const noexcept
Print the closure to a string.
friend ARK_API_INLINE bool operator<(const Closure &A, const Closure &B) noexcept
Closure() noexcept
Construct a new Closure object.
std::shared_ptr< Scope > Scope_t
Scope handling.
bool operator<(const Closure &A, const Closure &B) noexcept
bool operator==(const Closure &A, const Closure &B) noexcept