/*TITLE Persistent array class declarations */ /****keyword-flag*** "%v %f %n" */ /* "3 28-Mar-98,21:21:24 PERSIST.H" */ #include "blocki.h" const ArrayIndex UlongEntriesPerBlock = MaxItemSize / sizeof(Ulong) - 1; class PersistentArrayUlong; class PersistentArrayUlongRef { private: PersistentArrayUlong &m_PAU; Ulong m_Index; private: //prevent compiler warnings PersistentArrayUlongRef& operator=(const PersistentArrayUlongRef&); public: PersistentArrayUlongRef(PersistentArrayUlong &p_PAU, Ulong p_Index); PersistentArrayUlongRef& operator=(Ulong p_Element); operator Ulong(); }; class PersistentArrayUlong { protected: ModifiableElement m_ArrayName; QuantumFile *m_QF; MainObjectArrayPtr m_MOA; ObjectNumber m_ObjectNumber; public: PersistentArrayUlong(); ~PersistentArrayUlong(); PersistentArrayUlong(QuantumFile *p_QF, ModifiableElement p_ArrayName); void StoreElement(Ulong p_Index, Ulong p_Element); Ulong GetElement(Ulong p_Index); PersistentArrayUlongRef operator[](Ulong p_Index); };