How would the extent each of the ranges be established?

They come from the source fragments of the composite string. Say the composite string is made up of three fragments "FOO" "QUUX" and "BAR". Each of these fragments is a string-based object, with extra info attached to it that I need to access. My ranged hash (or maybe array - thanks dragonchild) would then look like:

# ... stands for the fragment's metadata { 0 => Fragment->new('FOO', ...), 3 => Fragment->new('QUUX', ...), 7 => Fragment->new('BAR', ...) } # and the composite string looks like "FOOQUUXBAR";

I want to be able to get back to the source fragment object (and its associated data) quickly from a given offset in the composite string.

Do the ranges overlap?

Nope

Are the ranges contiguous?

Yup

Can you reasonably guestimate the minimum and maximium integer values?

Not easily, no - the fragments might be quite short or several thousand characters long, and the total number of fragments is also very variable.

Thanks/


In reply to Re: Re: Hash keyed on ranges by ViceRaid
in thread Hash keyed on ranges by ViceRaid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.