src/misc/array.hpp
branchnoai
changeset 9631 8a2d1c2ceb88
parent 9601 b499fdd106d5
child 10455 22c441f5adf9
equal deleted inserted replaced
9630:550db5cefcc2 9631:8a2d1c2ceb88
    62 		return item;
    62 		return item;
    63 	}
    63 	}
    64 	/** indexed access (const) */
    64 	/** indexed access (const) */
    65 	FORCEINLINE const Titem& operator [] (int idx) const
    65 	FORCEINLINE const Titem& operator [] (int idx) const
    66 	{
    66 	{
    67 		CSubArray& sa = m_a[idx / Tblock_size];
    67 		const CSubArray& sa = m_a[idx / Tblock_size];
    68 		Titem& item   = sa [idx % Tblock_size];
    68 		const Titem& item   = sa [idx % Tblock_size];
    69 		return item;
    69 		return item;
       
    70 	}
       
    71 
       
    72 	template <typename D> void Dump(D &dmp) const
       
    73 	{
       
    74 		dmp.WriteLine("capacity = %d", Tcapacity);
       
    75 		int num_items = Size();
       
    76 		dmp.WriteLine("num_items = %d", num_items);
       
    77 		CStrA name;
       
    78 		for (int i = 0; i < num_items; i++) {
       
    79 			const Titem& item = (*this)[i];
       
    80 			name.Format("item[%d]", i);
       
    81 			dmp.WriteStructT(name.Data(), &item);
       
    82 		}
    70 	}
    83 	}
    71 };
    84 };
    72 
    85 
    73 #endif /* ARRAY_HPP */
    86 #endif /* ARRAY_HPP */