| 796 | int chunk_size(const T* p) { return ((const int*)p)[-1]; } |
| 797 | T* end() { return (T*)(void*)(Buf.Data + Buf.Size); } |
| 798 | int offset_from_ptr(const T* p) { IM_ASSERT(p >= begin() && p < end()); const ptrdiff_t off = (const char*)p - Buf.Data; return (int)off; } |
| 799 | T* ptr_from_offset(int off) { IM_ASSERT(off >= 4 && off < Buf.Size); return (T*)(void*)(Buf.Data + off); } |
| 800 | void swap(ImChunkStream<T>& rhs) { rhs.Buf.swap(Buf); } |
| 801 | }; |
no test coverage detected