| 19 | protected: |
| 20 | Alloc seg_allocator; |
| 21 | struct seg_inf { |
| 22 | T* data; // allocated chunk |
| 23 | size_t _size; // size of allocated chunk in sizeof(T)-units |
| 24 | size_t freepos; // offset to free chunk's memory in bytes |
| 25 | seg_inf() |
| 26 | : data(nullptr) |
| 27 | , _size(0) |
| 28 | , freepos(0) |
| 29 | { |
| 30 | } |
| 31 | seg_inf(T* d, size_t sz) |
| 32 | : data(d) |
| 33 | , _size(sz) |
| 34 | , freepos(0) |
| 35 | { |
| 36 | } |
| 37 | }; |
| 38 | using seg_container = TVector<seg_inf>; |
| 39 | using seg_iterator = typename seg_container::iterator; |
| 40 | using seg_const_iterator = typename seg_container::const_iterator; |