Falcon::DeepItem Class Reference

Pure interface for deep item core data. More...

#include <deepitem.h>

Inheritance diagram for Falcon::DeepItem:

Inheritance graph
[legend]

List of all members.

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 ()


Detailed Description

Pure interface for deep item core data.

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.


Constructor & Destructor Documentation

virtual Falcon::DeepItem::~DeepItem (  )  [inline, virtual]


Member Function Documentation

virtual void Falcon::DeepItem::readIndex ( const Item pos,
Item target 
) [pure 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.

virtual void Falcon::DeepItem::readProperty ( const String ,
Item item 
) [pure virtual]

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.

virtual void Falcon::DeepItem::writeIndex ( const Item pos,
const Item target 
) [pure virtual]

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.

virtual void Falcon::DeepItem::writeProperty ( const String ,
const Item item 
) [pure virtual]

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.


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

Generated on Mon Oct 19 10:11:34 2009 for Falcon_Core by  doxygen 1.5.8