Data.Vector.Fusion.Stream.Size

vector-0.7.0.1: Efficient Arrays

Portability | portable
Stability | experimental
Maintainer | Roman Leshchinskiy <rl@cse.unsw.edu.au>

Data.Vector.Fusion.Stream.Size

Description

Size hints for streams.

Synopsis

- data Size
  - = Exact Int
  - | Max Int
  - | Unknown
- smaller :: Size -> Size -> Size
- larger :: Size -> Size -> Size
- toMax :: Size -> Size
- upperBound :: Size -> Maybe Int

# Documentation

data Size

Size hint

Constructors

Exact Int | Exact size
Max Int | Upper bound on the size
Unknown | Unknown size

Instances

Eq Size |
Num Size |
Show Size |

smaller :: Size -> Size -> Size

Minimum of two size hints

larger :: Size -> Size -> Size

Maximum of two size hints

toMax :: Size -> Size

Convert a size hint to an upper bound

upperBound :: Size -> Maybe Int

Compute the maximum size from a size hint if possible