/** * Returns PR_TRUE if aValue is inside a range of aRanges, and put the range * index in aIntervalIndex if it is not null. * If aValue is not inside a range, PR_FALSE is returned, and aIntervalIndex, if * not null, is set to the index of the range which ends immediatly before aValue * (and can be -1 if aValue is before aRanges.Start(0)). */ static PRBool IsInRanges(nsTimeRanges& aRanges, double aValue, PRInt32& aIntervalIndex) { PRUint32 length; aRanges.GetLength(&length); for (PRUint32 i = 0; i < length; i++) { double start, end; aRanges.Start(i, &start); if (start > aValue) { aIntervalIndex = i - 1; return PR_FALSE; } aRanges.End(i, &end); if (aValue <= end) { aIntervalIndex = i; return PR_TRUE; } } aIntervalIndex = length - 1; return PR_FALSE; }
/** * Returns true if aValue is inside a range of aRanges, and put the range * index in aIntervalIndex if it is not null. * If aValue is not inside a range, false is returned, and aIntervalIndex, if * not null, is set to the index of the range which ends immediately before aValue * (and can be -1 if aValue is before aRanges.Start(0)). */ static bool IsInRanges(nsTimeRanges& aRanges, double aValue, int32_t& aIntervalIndex) { uint32_t length; aRanges.GetLength(&length); for (uint32_t i = 0; i < length; i++) { double start, end; aRanges.Start(i, &start); if (start > aValue) { aIntervalIndex = i - 1; return false; } aRanges.End(i, &end); if (aValue <= end) { aIntervalIndex = i; return true; } } aIntervalIndex = length - 1; return false; }