isobmff-0.14.0.0: A parser and generator for the ISO-14496-12/14 base media file format

Safe HaskellNone
LanguageHaskell2010

Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

Documentation

type family IsRuleConform (b :: k) (r :: l) :: Bool Source #

Instances
type IsRuleConform (t :: k) (TopLevel rule :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (t :: k) (TopLevel rule :: Type) = IsRuleConform t rule
type IsRuleConform (t :: k) (OneOf (r ': rs) :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (t :: k) (OneOf (r ': rs) :: Type) = IsRuleConform t r || IsRuleConform t (OneOf rs)
type IsRuleConform (t :: k) (OneOf ([] :: [Type])) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (t :: k) (OneOf ([] :: [Type])) = False
type IsRuleConform (b :: Type) (MatchSymbol fourcc :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (b :: Type) (MatchSymbol fourcc :: Type) = ToSymbol b == fourcc
type IsRuleConform (Box (SampleEntry handlerSpecificEntry) :: Type) (MatchSampleEntry handlerType :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Boxes.SampleEntry

type IsRuleConform (Box (SampleEntry handlerSpecificEntry) :: Type) (MatchSampleEntry handlerType :: Type) = HandlerTypeCode (GetHandlerType handlerSpecificEntry) == HandlerTypeCode handlerType
type IsRuleConform (bs :: [Type]) (sq :: [Type]) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (bs :: [Type]) (sq :: [Type]) = IsSequence bs sq
type IsRuleConform (Boxes bs :: Type) (Boxes rs :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Box

type IsRuleConform (Boxes bs :: Type) (Boxes rs :: Type) = IsRuleConform bs rs
type IsRuleConform (Box b :: Type) (Box r :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Box

type IsRuleConform (Box b :: Type) (ContainerBox b' rules :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Box

data TopLevel :: Type -> Type Source #

Instances
type IsRuleConform (t :: k) (TopLevel rule :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (t :: k) (TopLevel rule :: Type) = IsRuleConform t rule

data OneOf :: [Type] -> Type Source #

Instances
type IsRuleConform (t :: k) (OneOf (r ': rs) :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (t :: k) (OneOf (r ': rs) :: Type) = IsRuleConform t r || IsRuleConform t (OneOf rs)
type IsRuleConform (t :: k) (OneOf ([] :: [Type])) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (t :: k) (OneOf ([] :: [Type])) = False

data MatchSymbol :: Symbol -> Type Source #

Instances
type IsRuleConform (b :: Type) (MatchSymbol fourcc :: Type) Source # 
Instance details

Defined in Data.ByteString.IsoBaseFileFormat.Util.TypeLayout

type IsRuleConform (b :: Type) (MatchSymbol fourcc :: Type) = ToSymbol b == fourcc

type family ToSymbol t :: Symbol Source #

type family IsSequence (bs :: [k]) (rs :: [j]) :: Bool where ... Source #

Equations

IsSequence '[] '[] = True 
IsSequence (b ': bs) '[] = False 
IsSequence '[] (OnceOptionalX r ': rs) = IsSequence '[] rs 
IsSequence (b ': bs) (OnceOptionalX r ': rs) = If (IsRuleConform b r) (IsSequence bs rs) (IsSequence (b ': bs) rs) 
IsSequence '[] (SomeOptionalX r ': rs) = IsSequence '[] rs 
IsSequence (b ': bs) (SomeOptionalX r ': rs) = If (IsRuleConform b r) (IsSequence bs (SomeOptionalX r ': rs)) (IsSequence (b ': bs) rs) 
IsSequence '[] (SomeMandatoryX r ': rs) = False 
IsSequence (b ': bs) (SomeMandatoryX r ': rs) = IsRuleConform b r && IsSequence bs (SomeOptionalX r ': rs) 
IsSequence '[] (r ': rs) = False 
IsSequence (b ': bs) (r ': rs) = IsRuleConform b r && IsSequence bs rs