text-1.2.3.1: An efficient packed Unicode text type.
Copyright(c) Roman Leshchinskiy 2008
(c) Bryan O'Sullivan 2009
LicenseBSD-style
Maintainerbos@serpentine.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Data.Text.Internal.Fusion.Size

Description

Warning: this is an internal module, and does not have a stable API or name. Functions in this module may not check or enforce preconditions expected by public modules. Use at your own risk!

Size hints.

Synopsis

Documentation

data Size Source #

A size in UTF-16 code units.

Instances

Instances details
Eq Size Source # 
Instance details

Defined in Data.Text.Internal.Fusion.Size

Methods

(==) :: Size -> Size -> Bool Source #

(/=) :: Size -> Size -> Bool Source #

Num Size Source # 
Instance details

Defined in Data.Text.Internal.Fusion.Size

Show Size Source # 
Instance details

Defined in Data.Text.Internal.Fusion.Size

Sizes

charSize :: Char -> Size Source #

The Size of the given code point.

codePointsSize :: Int -> Size Source #

The Size of n code points.

Querying sizes

smaller :: Size -> Size -> Size Source #

Minimum of two size hints.

larger :: Size -> Size -> Size Source #

Maximum of two size hints.

upperBound :: Int -> Size -> Int Source #

Compute the maximum size from a size hint, if possible.

lowerBound :: Int -> Size -> Int Source #

Compute the maximum size from a size hint, if possible.

compareSize :: Size -> Size -> Maybe Ordering Source #

Determine the ordering relationship between two Sizes, or Nothing in the indeterminate case.