src/misc/array.hpp
branchnoai
changeset 9631 8a2d1c2ceb88
parent 9601 b499fdd106d5
child 10455 22c441f5adf9
--- 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 */