AERA
All Classes Functions Pages
Public Member Functions | Static Public Member Functions | List of all members
r_exec::StructureValue Class Reference
Inheritance diagram for r_exec::StructureValue:
r_exec::BoundValue r_exec::Value core::_Object

Public Member Functions

 StructureValue (BindingMap *map, const r_code::Code *source, uint16 structure_index)
 
 StructureValue (BindingMap *map, const Atom *source, uint16 structure_index)
 
 StructureValue (BindingMap *map, Timestamp time)
 
 StructureValue (BindingMap *map, std::chrono::microseconds duration)
 
Valuecopy (BindingMap *map) const override
 
void valuate (r_code::Code *destination, uint16 write_index, uint16 &extent_index) const override
 
bool match (const r_code::Code *object, uint16 index) override
 
Atomget_code () override
 
r_code::Codeget_object () override
 
uint16 get_code_size () override
 
bool intersect (const Value *v) const override
 
bool _intersect (const StructureValue *v) const override
 
bool contains (const Atom *s) const override
 
- Public Member Functions inherited from r_exec::Value
virtual bool _intersect (const AtomValue *) const
 
virtual bool _intersect (const ObjectValue *) const
 
virtual bool contains (const Atom) const
 
virtual bool contains (const r_code::Code *) const
 
std::string trace_string () const
 
- Public Member Functions inherited from core::_Object
void incRef ()
 
virtual void decRef ()
 

Static Public Member Functions

static void copy_structure (r_code::Code *destination, uint16 &extent_index, const Atom *source, uint16 source_index)
 

Additional Inherited Members

- Protected Member Functions inherited from r_exec::BoundValue
 BoundValue (BindingMap *map)
 
- Protected Member Functions inherited from r_exec::Value
 Value (BindingMap *map)
 
- Protected Attributes inherited from r_exec::Value
BindingMapmap_
 
- Protected Attributes inherited from core::_Object
std::atomic_int32_t refCount_
 

Detailed Description

Definition at line 177 of file binding_map.h.

Member Function Documentation

◆ copy_structure()

void r_exec::StructureValue::copy_structure ( r_code::Code destination,
uint16 &  extent_index,
const Atom source,
uint16  source_index 
)
static

This is a helper to copy the structure starting at source(source_index) to the destination at extent_index. If needed, you should already have done destination->code(write_index) = Atom::IPointer(extent_index); This copies the structure to destination[extent_index].

Parameters
destinationThe destination code.
extent_indexCopy the structure to destination starting at this index and update the index.
source_indexCopy the structure from code(source_index).

Definition at line 242 of file binding_map.cpp.


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