#include <corecarrier.h>
Public Member Functions | |
void | carried (_T *c) |
_T * | carried () const |
virtual CoreObject * | clone () const |
Creates a shallow copy of this item. | |
CoreCarrier (const CoreCarrier &cc) | |
CoreCarrier (const CoreClass *base, _T *la) | |
bool | getProperty (const String &key, Item &ret) const |
Returns the a shallow item copy of required property. | |
bool | hasProperty (const String &key) const |
Returns true if the class provides a certain property. | |
bool | setProperty (const String &prop, const Item &value) |
Sets a property in the object. | |
virtual | ~CoreCarrier () |
Falcon::CoreCarrier< _T >::CoreCarrier | ( | const CoreClass * | base, | |
_T * | la | |||
) | [inline] |
References Falcon::CoreObject::setUserData().
Falcon::CoreCarrier< _T >::CoreCarrier | ( | const CoreCarrier< _T > & | cc | ) | [inline] |
References Falcon::CoreObject::setUserData().
virtual Falcon::CoreCarrier< _T >::~CoreCarrier | ( | ) | [inline, virtual] |
References Falcon::CoreCarrier< _T >::carried().
void Falcon::CoreCarrier< _T >::carried | ( | _T * | c | ) | [inline] |
_T* Falcon::CoreCarrier< _T >::carried | ( | ) | const [inline] |
Referenced by Falcon::CoreCarrier< _T >::~CoreCarrier().
virtual CoreObject* Falcon::CoreCarrier< _T >::clone | ( | ) | const [inline, virtual] |
Creates a shallow copy of this item.
Will return zero if this item has a non-cloneable user-defined data, that is, it's not fully manageable by the language.
Clone operation requests the class ObjectManager to clone the user_data stored in this object, if any. In turn, the ObjectManager may ask the user_data, properly cast, to clone itself. If one of this operation fails or is not possible, then the method returns 0. The VM will eventually raise a CloneError to signal that the operation tried to clone a non manageable user-data object.
If this object has not a user_data, then the cloneing will automatically succeed.
Implements Falcon::CoreObject.
bool Falcon::CoreCarrier< _T >::getProperty | ( | const String & | prop, | |
Item & | value | |||
) | const [inline, virtual] |
Returns the a shallow item copy of required property.
The copy is shallow; strings, arrays and complex data inside the original property are shared.
prop | the property to be found | |
value | an item containing the object proerty copy. |
Implements Falcon::CoreObject.
References Falcon::CoreObject::defaultProperty().
bool Falcon::CoreCarrier< _T >::hasProperty | ( | const String & | prop | ) | const [inline, virtual] |
Returns true if the class provides a certain property.
Should not account Object metaclass properties, unless explicitly overloaded.
prop | The property to be searched. |
Reimplemented from Falcon::CoreObject.
References Falcon::PropertyTable::findKey(), Falcon::CoreObject::generator(), and Falcon::CoreClass::properties().
Referenced by Falcon::CoreCarrier< _T >::setProperty().
bool Falcon::CoreCarrier< _T >::setProperty | ( | const String & | prop, | |
const Item & | value | |||
) | [inline, virtual] |
Sets a property in the object.
If the property is found, the value in the item is copied, otherwise the object is untouched and false is returned.
In case of reflected objects, it may be impossible to set the property. In that case, the owning vm gets an error, and false is returned.
prop | The property to be set. | |
value | The item to be set in the property. |
Implements Falcon::CoreObject.
References Falcon::e_orig_runtime, and Falcon::CoreCarrier< _T >::hasProperty().