equal
deleted
inserted
replaced
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 */ |