#include <expr.h>
Inherits ReferenceCount.
Inherited by BorgIv::StringData, and BorgIv::TokenData.
Protected Member Functions | |
virtual ExpData * | new_copy () const =0 |
virtual Exp | operator[] (Key *key) const =0 |
ExpData * | copy_if_necessary () |
Friends | |
class | Exp |
The content of an expression can be anything as long as it has the proper operations to index is present. The expdata must always be treatable as a constant when residing in an Exp. ExpContent objects are automatically reference counted, which should always work since we should not make circular data structures at all.
Definition at line 94 of file expr.h.
ExpData* BorgIv::ExpData::copy_if_necessary | ( | ) | [inline, protected] |
virtual ExpData* BorgIv::ExpData::new_copy | ( | ) | const [protected, pure virtual] |
must return a perfect copy of this. Is used by copy_if_necessary when an object is moved from scratch space to more permanent space
Implemented in BorgIv::StringData, and BorgIv::TokenData.
Implemented in BorgIv::StringData, and BorgIv::TokenData.