Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       PDF::API3::Compat::API2::Basic::TTF::Segarr - Segmented array

       Holds data either directly or indirectly	as a series of arrays. This
       class looks after the set of arrays and masks the individual sub-
       arrays, thus saving a class, we hope.

       All instance variables do not start with	a space.

       The segmented array is simply an	array of segments

       Each segment is a more complex affair:

	   In terms of the array, the address for the 0th element in this

       LEN Number of elements in this segment

       VAL The array which contains the	elements

       Creates a new segmented array with a given data size

   $s->fastadd_segment($start, $is_sparse, @dat)
       Creates a new segment and adds it to the	array assuming no overlap
       between the new segment and any others in the array. $is_sparse
       indicates whether the passed in array contains "undef"s or not. If
       false no	checking is done (which	is faster, but riskier). If equal to 2
       then 0 is considered undef as well.

       Returns the number of segments inserted.

   $s->add_segment($start, $overwrite, @dat)
       Creates a new segment and adds it to the	array allowing for possible
       overlaps	between	the new	segment	and the	existing ones. In the case of
       overlaps, elements from the new segment are deleted unless $overwrite
       is set in which case the	elements already there are over-written.

       This method also	checks the data	coming in to see if it is sparse (i.e.
       contains	undef values). Gaps cause new segments to be created or	not to
       over-write existing values.

       Merges any immediately adjacent segments

   $s->at($addr, [$len])
       Looks up	the data held at the given address by locating the appropriate
       segment etc. If $len > 1	then returns an	array of values, spaces	being
       filled with undef.

   $s->remove($addr, [$len])
       Removes the item	or items from addr returning them as an	array or the
       first value in a	scalar context.	This is	very like "at",	including
       padding with undef, but it deletes stuff	as it goes.

       Deep copies this	array

       Creates a deep copy of a	segment

       No known	bugs.

       Martin Hosken See
       PDF::API3::Compat::API2::Basic::TTF::Font for copyright and licensing.

perl v5.32.0			PDF::API3::Compat::API2::Basic::TTF::Segarr(3)


Want to link to this manual page? Use this URL:

home | help