+(defun entry-from-vector (class meta-table entry-vector)
+ (let ((new-entry (make-instance class)))
+ (loop
+ for item in entry-vector
+ for column across meta-table do
+ (let ((slot (find-symbol (string-upcase (meta-name column)) (find-package "XDUMP-DATA"))))
+ (setf (slot-value new-entry slot) item)))
+ new-entry))
+
+(defmethod table-entry-insert-at ((table xdump-table) entry index)
+ ; extend array if necessary
+ (let ((entries (table-entries table)))
+ (unless (> (fill-pointer entries) index)
+ (adjust-array entries (* 2 index) :fill-pointer index :initial-element nil))
+ (setf (aref entries index) entry)))
+