NAME
OLE::Storage::Iolist - Data management for OLE::Storage::Io (alpha)
SYNOPSIS
use OLE::Storage::Iolist();
s.b.
DESCRIPTION
Note: OLE::Storage uses Iolists in conjuntion with Io interface for IO operations. An IO entry is a two element list like ($offset, $length).
- aggregate
 - 
$NewIolist = $IoL -> aggregate ($method)
Sorts and merges Iolist $IoL, returns the new packed Iolist $NewIolist. Returns an empty Iolist on errors (!to be changed!). $method can be:
method sort offsets allow offset overlaps 1 yes no 2 yes yes 3 no no 4 no yes - append
 - 
($o1, $l1) == $IoL -> append ($o, $l)
Appends an entry to Iolist. Tries to merge the Iolists last entry with the new one. Returns the new last entry of Iolist.
 - entry
 - 
($o, $l) = $IoL -> entry ($i)
rval: Get entry number $i.
($o, $l) == $IoL -> entry ($i, $o, $l)
lval: Set entry number $i to ($o, $l). Returns this entry.
 - length
 - 
($l) = $IoL -> length ($i)
rval: Get length of entry number $i.
$l == $IoL -> length ($i, $l)
lval: Set length of entry number $i to $l. Returns $l.
 - max
 - 
$num = $IoL -> max ()
Returns number of $IoL's entries.
 - new
 - 
$IoL = new Iolist ([\@offset, \@length])
Iolist constructor. Returns an Iolist handle. Can be initialized with references to corresponding offset and length lists.
 - offset
 - 
($o) = $IoL -> offset ($i)
rval: Get offset of entry number $i.
$o == $IoL -> offset ($i, $o)
lval: Set offset of entry number $i to $o. Returns $o.
 - push
 - 
1== $IoL -> push ($AnotherIolist)Appends all entries of $AnotherIolist to $IoL.
 - sumlen
 - 
$length = $IoL -> sumlen ()
Returns total length of $IoL's entries.
 
SEE ALSO
AUTHOR
Martin Schwartz <schwartz@cs.tu-berlin.de>