mediabus-0.4.0.0: Multimedia streaming on top of Conduit

Safe HaskellNone
LanguageHaskell2010

Data.MediaBus.Basics.Sequence

Description

This modules contains the SeqNum newtype wrapper to indicate that a type is a sequence number.

Synopsis

Documentation

newtype SeqNum s Source #

The newtype wrapper that indicates that something is a sequence number.

Constructors

MkSeqNum s 

Instances

Bounded s => Bounded (SeqNum s) Source # 

Methods

minBound :: SeqNum s #

maxBound :: SeqNum s #

Enum s => Enum (SeqNum s) Source # 

Methods

succ :: SeqNum s -> SeqNum s #

pred :: SeqNum s -> SeqNum s #

toEnum :: Int -> SeqNum s #

fromEnum :: SeqNum s -> Int #

enumFrom :: SeqNum s -> [SeqNum s] #

enumFromThen :: SeqNum s -> SeqNum s -> [SeqNum s] #

enumFromTo :: SeqNum s -> SeqNum s -> [SeqNum s] #

enumFromThenTo :: SeqNum s -> SeqNum s -> SeqNum s -> [SeqNum s] #

Eq s => Eq (SeqNum s) Source # 

Methods

(==) :: SeqNum s -> SeqNum s -> Bool #

(/=) :: SeqNum s -> SeqNum s -> Bool #

(Integral a, Enum a, Real a, Eq a, LocalOrd a) => Integral (SeqNum a) Source # 

Methods

quot :: SeqNum a -> SeqNum a -> SeqNum a #

rem :: SeqNum a -> SeqNum a -> SeqNum a #

div :: SeqNum a -> SeqNum a -> SeqNum a #

mod :: SeqNum a -> SeqNum a -> SeqNum a #

quotRem :: SeqNum a -> SeqNum a -> (SeqNum a, SeqNum a) #

divMod :: SeqNum a -> SeqNum a -> (SeqNum a, SeqNum a) #

toInteger :: SeqNum a -> Integer #

Num s => Num (SeqNum s) Source # 

Methods

(+) :: SeqNum s -> SeqNum s -> SeqNum s #

(-) :: SeqNum s -> SeqNum s -> SeqNum s #

(*) :: SeqNum s -> SeqNum s -> SeqNum s #

negate :: SeqNum s -> SeqNum s #

abs :: SeqNum s -> SeqNum s #

signum :: SeqNum s -> SeqNum s #

fromInteger :: Integer -> SeqNum s #

(Eq a, LocalOrd a) => Ord (SeqNum a) Source # 

Methods

compare :: SeqNum a -> SeqNum a -> Ordering #

(<) :: SeqNum a -> SeqNum a -> Bool #

(<=) :: SeqNum a -> SeqNum a -> Bool #

(>) :: SeqNum a -> SeqNum a -> Bool #

(>=) :: SeqNum a -> SeqNum a -> Bool #

max :: SeqNum a -> SeqNum a -> SeqNum a #

min :: SeqNum a -> SeqNum a -> SeqNum a #

(Real a, Num a, Eq a, LocalOrd a) => Real (SeqNum a) Source # 

Methods

toRational :: SeqNum a -> Rational #

Show s => Show (SeqNum s) Source # 

Methods

showsPrec :: Int -> SeqNum s -> ShowS #

show :: SeqNum s -> String #

showList :: [SeqNum s] -> ShowS #

Generic (SeqNum s) Source # 

Associated Types

type Rep (SeqNum s) :: * -> * #

Methods

from :: SeqNum s -> Rep (SeqNum s) x #

to :: Rep (SeqNum s) x -> SeqNum s #

Arbitrary s => Arbitrary (SeqNum s) Source # 

Methods

arbitrary :: Gen (SeqNum s) #

shrink :: SeqNum s -> [SeqNum s] #

Default s => Default (SeqNum s) Source # 

Methods

def :: SeqNum s #

NFData s => NFData (SeqNum s) Source # 

Methods

rnf :: SeqNum s -> () #

Random s => Random (SeqNum s) Source # 

Methods

randomR :: RandomGen g => (SeqNum s, SeqNum s) -> g -> (SeqNum s, g) #

random :: RandomGen g => g -> (SeqNum s, g) #

randomRs :: RandomGen g => (SeqNum s, SeqNum s) -> g -> [SeqNum s] #

randoms :: RandomGen g => g -> [SeqNum s] #

randomRIO :: (SeqNum s, SeqNum s) -> IO (SeqNum s) #

randomIO :: IO (SeqNum s) #

LocalOrd s => LocalOrd (SeqNum s) Source # 

Methods

succeeds :: SeqNum s -> SeqNum s -> Bool Source #

HasSeqNum (SeqNum s) Source # 

Associated Types

type GetSeqNum (SeqNum s) :: * Source #

type SetSeqNum (SeqNum s) s :: * Source #

Methods

seqNum :: Functor f => (GetSeqNum (SeqNum s) -> f s) -> SeqNum s -> f (SetSeqNum (SeqNum s) s) Source #

type Rep (SeqNum s) Source # 
type Rep (SeqNum s) = D1 (MetaData "SeqNum" "Data.MediaBus.Basics.Sequence" "mediabus-0.4.0.0-DKI3dx8m7mw3oG3WJKiPC" True) (C1 (MetaCons "MkSeqNum" PrefixI True) (S1 (MetaSel (Just Symbol "_fromSeqNum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 s)))
type GetSeqNum (SeqNum s) Source # 
type GetSeqNum (SeqNum s) = s
type SetSeqNum (SeqNum s) s' Source # 
type SetSeqNum (SeqNum s) s' = SeqNum s'

fromSeqNum :: Iso (SeqNum a) (SeqNum b) a b Source #

An Iso between a SeqNum and its' value.

type SeqNum8 = SeqNum Word8 Source #

A Word8 based sequence number.

type SeqNum16 = SeqNum Word16 Source #

A Word16 based sequence number.

type SeqNum32 = SeqNum Word32 Source #

A Word32 based sequence number.

type SeqNum64 = SeqNum Word64 Source #

A Word64 based sequence number.

class SetSeqNum t (GetSeqNum t) ~ t => HasSeqNum t where Source #

A class for types providing a lens to a sequence number.

Minimal complete definition

seqNum

Associated Types

type GetSeqNum t Source #

type SetSeqNum t s Source #

Methods

seqNum :: Lens t (SetSeqNum t s) (GetSeqNum t) s Source #

A lens for the sequence number contained in t

Instances

HasSeqNum (SeqNum s) Source # 

Associated Types

type GetSeqNum (SeqNum s) :: * Source #

type SetSeqNum (SeqNum s) s :: * Source #

Methods

seqNum :: Functor f => (GetSeqNum (SeqNum s) -> f s) -> SeqNum s -> f (SetSeqNum (SeqNum s) s) Source #

(HasSeqNum a, HasSeqNum b, (~) * (GetSeqNum a) (GetSeqNum b)) => HasSeqNum (Series a b) Source # 

Associated Types

type GetSeqNum (Series a b) :: * Source #

type SetSeqNum (Series a b) s :: * Source #

Methods

seqNum :: Functor f => (GetSeqNum (Series a b) -> f s) -> Series a b -> f (SetSeqNum (Series a b) s) Source #

HasSeqNum (Frame s t c) Source # 

Associated Types

type GetSeqNum (Frame s t c) :: * Source #

type SetSeqNum (Frame s t c) s :: * Source #

Methods

seqNum :: Functor f => (GetSeqNum (Frame s t c) -> f s) -> Frame s t c -> f (SetSeqNum (Frame s t c) s) Source #

HasSeqNum (FrameCtx i s t p) Source # 

Associated Types

type GetSeqNum (FrameCtx i s t p) :: * Source #

type SetSeqNum (FrameCtx i s t p) s :: * Source #

Methods

seqNum :: Functor f => (GetSeqNum (FrameCtx i s t p) -> f s) -> FrameCtx i s t p -> f (SetSeqNum (FrameCtx i s t p) s) Source #

HasSeqNum (Stream i s t p c) Source # 

Associated Types

type GetSeqNum (Stream i s t p c) :: * Source #

type SetSeqNum (Stream i s t p c) s :: * Source #

Methods

seqNum :: Functor f => (GetSeqNum (Stream i s t p c) -> f s) -> Stream i s t p c -> f (SetSeqNum (Stream i s t p c) s) Source #