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>