--- a/src/misc/array.hpp Wed Jun 27 01:01:16 2007 +0000
+++ b/src/misc/array.hpp Sat Jul 07 09:20:52 2007 +0000
@@ -64,10 +64,23 @@
/** indexed access (const) */
FORCEINLINE const Titem& operator [] (int idx) const
{
- CSubArray& sa = m_a[idx / Tblock_size];
- Titem& item = sa [idx % Tblock_size];
+ const CSubArray& sa = m_a[idx / Tblock_size];
+ const Titem& item = sa [idx % Tblock_size];
return item;
}
+
+ template <typename D> void Dump(D &dmp) const
+ {
+ dmp.WriteLine("capacity = %d", Tcapacity);
+ int num_items = Size();
+ dmp.WriteLine("num_items = %d", num_items);
+ CStrA name;
+ for (int i = 0; i < num_items; i++) {
+ const Titem& item = (*this)[i];
+ name.Format("item[%d]", i);
+ dmp.WriteStructT(name.Data(), &item);
+ }
+ }
};
#endif /* ARRAY_HPP */