The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

String::Tagged::Extent - represents a range within a String::Tagged

DESCRIPTION

These objects represent a range of characters within the containing String::Tagged object. The range they represent is fixed at the time of creation. If the containing string is modified by a call to set_substr then the effect on the extent object is not defined. These objects should be considered as relatively short-lived - used briefly for the purpose of querying the result of an operation, then discarded soon after.

METHODS

string

   $extent->string;

Returns the containing String::Tagged object.

start

   $extent->start;

Returns the start index of the extent. This is the index of the first character within the extent.

end

   $extent->end;

Returns the end index of the extent. This is the index of the first character beyond the end of the extent.

anchor_before

   $extent->anchor_before;

True if this extent begins "before" the start of the string. Only certain methods return extents with this flag defined.

anchor_after

   $extent->anchor_after;

True if this extent ends "after" the end of the string. Only certain methods return extents with this flag defined.

length

   $extent->length;

Returns the number of characters within the extent.

substr

   $extent->substr;

Returns the substring contained by the extent, as a String::Tagged complete with all the relevant tag values.

plain_substr

   $extent->plain_substr;

Returns the substring of the underlying plain string buffer contained by the extent, as a plain Perl string.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>