Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.TypeRep.Vector
Contents
Synopsis
- data TypeRepVector f = TypeRepVect {
- fingerprints :: Vector Fingerprint
- anys :: Vector Any
- data TF f where
- empty :: TypeRepVector f
- insert :: forall a f. Typeable a => a -> TypeRepVector f -> TypeRepVector f
- lookup :: forall a f. Typeable a => TypeRepVector f -> Maybe (f a)
- size :: TypeRepVector f -> Int
- fromList :: forall f. [TF f] -> TypeRepVector f
Documentation
data TypeRepVector f #
Constructors
TypeRepVect | |
Fields
|
empty :: TypeRepVector f #
Empty structure.
insert :: forall a f. Typeable a => a -> TypeRepVector f -> TypeRepVector f #
Inserts the value with its type as a key.
lookup :: forall a f. Typeable a => TypeRepVector f -> Maybe (f a) #
Looks up the value at the type. >>> let x = lookup $ insert (11 :: Int) empty >>> x :: Maybe Int Just 11 >>> x :: Maybe () Nothing
size :: TypeRepVector f -> Int #
Returns the size of the TypeRepVect
.
fromList :: forall f. [TF f] -> TypeRepVector f #
Orphan instances
Unbox Fingerprint # | |
Vector Vector Fingerprint # | |
Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) Fingerprint -> m (Vector Fingerprint) # basicUnsafeThaw :: PrimMonad m => Vector Fingerprint -> m (Mutable Vector (PrimState m) Fingerprint) # basicLength :: Vector Fingerprint -> Int # basicUnsafeSlice :: Int -> Int -> Vector Fingerprint -> Vector Fingerprint # basicUnsafeIndexM :: Monad m => Vector Fingerprint -> Int -> m Fingerprint # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) Fingerprint -> Vector Fingerprint -> m () # | |
MVector MVector Fingerprint # | |
Methods basicLength :: MVector s Fingerprint -> Int # basicUnsafeSlice :: Int -> Int -> MVector s Fingerprint -> MVector s Fingerprint # basicOverlaps :: MVector s Fingerprint -> MVector s Fingerprint -> Bool # basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) Fingerprint) # basicInitialize :: PrimMonad m => MVector (PrimState m) Fingerprint -> m () # basicUnsafeReplicate :: PrimMonad m => Int -> Fingerprint -> m (MVector (PrimState m) Fingerprint) # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) Fingerprint -> Int -> m Fingerprint # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) Fingerprint -> Int -> Fingerprint -> m () # basicClear :: PrimMonad m => MVector (PrimState m) Fingerprint -> m () # basicSet :: PrimMonad m => MVector (PrimState m) Fingerprint -> Fingerprint -> m () # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) Fingerprint -> MVector (PrimState m) Fingerprint -> m () # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) Fingerprint -> MVector (PrimState m) Fingerprint -> m () # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) Fingerprint -> Int -> m (MVector (PrimState m) Fingerprint) # |