#include <deepitem.h>
Public Member Functions | |
virtual void | readIndex (const Item &pos, Item &target)=0 |
Implements the deep item interface. | |
virtual void | readProperty (const String &, Item &item)=0 |
Implements the deep item interface. | |
virtual void | writeIndex (const Item &pos, const Item &target)=0 |
Implements the deep item interface. | |
virtual void | writeProperty (const String &, const Item &item)=0 |
Implements the deep item interface. | |
virtual | ~DeepItem () |
Deep items are:
Code using this generic interface must be ready to receive Falcon::Error in throws and handle it correctly.
This is always true for the VM and ancillary modules.
Code directly implementing this access at lower level, as for example, getting a character from a string, doesn't need to be consistent with this behavior (i.e. it may just return false on set error).
The rationale of this is that this is high-level code still working with abstract items, with no idea of the lower level implementation, even when this code is directly implemented into the target classes.
virtual Falcon::DeepItem::~DeepItem | ( | ) | [inline, virtual] |
Implements the deep item interface.
May throw AccessError * if the pos doesn't represents a valid item index for the current type.
Implemented in Falcon::CoreArray, Falcon::CoreDict, Falcon::CoreObject, and Falcon::MemBuf.
Implements the deep item interface.
May throw AccessError * if the property cannot be read.
Implemented in Falcon::CoreArray, Falcon::CoreDict, Falcon::CoreObject, and Falcon::MemBuf.
Implements the deep item interface.
May throw AccessError * if the pos doesn't represents a valid item index for the current type or if the target item can't be set into this item at the given index.
Implemented in Falcon::CoreArray, Falcon::CoreDict, Falcon::CoreObject, and Falcon::MemBuf.
Implements the deep item interface.
May throw AccessError * if the property cannot be set.
Implemented in Falcon::CoreArray, Falcon::CoreDict, Falcon::CoreObject, and Falcon::MemBuf.