store-0.7.20: Fast binary serialization
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Store.Internal

Description

Internal API for the store package. The functions here which are not re-exported by Data.Store are less likely to have stable APIs.

This module also defines most of the included Store instances, for types from the base package and other commonly used packages (bytestring, containers, text, time, etc).

Synopsis

Encoding and decoding strict ByteStrings.

encode :: Store a => a -> ByteString Source #

Serializes a value to a ByteString. In order to do this, it first allocates a ByteString of the correct size (based on size), and then uses poke to fill it.

Safety of this function depends on correctness of the Store instance. If size returns a. The good news is that this isn't an issue if you use well-tested manual instances (such as those from this package) combined with auomatic definition of instances.

decode :: Store a => ByteString -> Either PeekException a Source #

Decodes a value from a ByteString. Returns an exception if there's an error while decoding, or if decoding undershoots / overshoots the end of the buffer.

decodeWith :: Peek a -> ByteString -> Either PeekException a #

Decodes a value from a ByteString, potentially throwing exceptions, and taking a Peek to run. It is an exception to not consume all input.

decodeEx :: Store a => ByteString -> a Source #

Decodes a value from a ByteString, potentially throwing exceptions. It is an exception to not consume all input.

decodeExWith :: Peek a -> ByteString -> a #

Decodes a value from a ByteString, potentially throwing exceptions, and taking a Peek to run. It is an exception to not consume all input.

decodeExPortionWith :: Peek a -> ByteString -> (Offset, a) #

Similar to decodeExWith, but it allows there to be more of the buffer remaining. The Offset of the buffer contents immediately after the decoded value is returned.

decodeIO :: Store a => ByteString -> IO a Source #

Decodes a value from a ByteString, potentially throwing exceptions. It is an exception to not consume all input.

decodeIOWith :: Peek a -> ByteString -> IO a #

Decodes a value from a ByteString, potentially throwing exceptions, and taking a Peek to run. It is an exception to not consume all input.

decodeIOPortionWith :: Peek a -> ByteString -> IO (Offset, a) #

Similar to decodeExPortionWith, but runs in the IO monad.

Store class and related types.

class Store a where Source #

The Store typeclass provides efficient serialization and deserialization to raw pointer addresses.

The peek and poke methods should be defined such that decodeEx (encode x) == x .

Minimal complete definition

Nothing

Methods

size :: Size a Source #

Yields the Size of the buffer, in bytes, required to store the encoded representation of the type.

Note that the correctness of this function is crucial for the safety of poke, as it does not do any bounds checking. It is the responsibility of the invoker of poke (encode and similar functions) to ensure that there's enough space in the output buffer. If poke writes beyond, then arbitrary memory can be overwritten, causing undefined behavior and segmentation faults.

default size :: (Generic a, GStoreSize (Rep a)) => Size a Source #

poke :: a -> Poke () Source #

Serializes a value to bytes. It is the responsibility of the caller to ensure that at least the number of bytes required by size are available. These details are handled by encode and similar utilities.

default poke :: (Generic a, GStorePoke (Rep a)) => a -> Poke () Source #

peek :: Peek a Source #

Serialized a value from bytes, throwing exceptions if it encounters invalid data or runs out of input bytes.

default peek :: (Generic a, GStorePeek (Rep a)) => Peek a Source #

Instances

Instances details
Store All Source # 
Instance details

Defined in Data.Store.Internal

Store Any Source # 
Instance details

Defined in Data.Store.Internal

Store CBool Source # 
Instance details

Defined in Data.Store.Internal

Store CChar Source # 
Instance details

Defined in Data.Store.Internal

Store CClock Source # 
Instance details

Defined in Data.Store.Internal

Store CDouble Source # 
Instance details

Defined in Data.Store.Internal

Store CFloat Source # 
Instance details

Defined in Data.Store.Internal

Store CInt Source # 
Instance details

Defined in Data.Store.Internal

Store CIntMax Source # 
Instance details

Defined in Data.Store.Internal

Store CIntPtr Source # 
Instance details

Defined in Data.Store.Internal

Store CLLong Source # 
Instance details

Defined in Data.Store.Internal

Store CLong Source # 
Instance details

Defined in Data.Store.Internal

Store CPtrdiff Source # 
Instance details

Defined in Data.Store.Internal

Store CSChar Source # 
Instance details

Defined in Data.Store.Internal

Store CSUSeconds Source # 
Instance details

Defined in Data.Store.Internal

Store CShort Source # 
Instance details

Defined in Data.Store.Internal

Store CSigAtomic Source # 
Instance details

Defined in Data.Store.Internal

Store CSize Source # 
Instance details

Defined in Data.Store.Internal

Store CTime Source # 
Instance details

Defined in Data.Store.Internal

Store CUChar Source # 
Instance details

Defined in Data.Store.Internal

Store CUInt Source # 
Instance details

Defined in Data.Store.Internal

Store CUIntMax Source # 
Instance details

Defined in Data.Store.Internal

Store CUIntPtr Source # 
Instance details

Defined in Data.Store.Internal

Store CULLong Source # 
Instance details

Defined in Data.Store.Internal

Store CULong Source # 
Instance details

Defined in Data.Store.Internal

Store CUSeconds Source # 
Instance details

Defined in Data.Store.Internal

Store CUShort Source # 
Instance details

Defined in Data.Store.Internal

Store CWchar Source # 
Instance details

Defined in Data.Store.Internal

Store IntPtr Source # 
Instance details

Defined in Data.Store.Internal

Store WordPtr Source # 
Instance details

Defined in Data.Store.Internal

Store Void Source # 
Instance details

Defined in Data.Store.Internal

Store Fingerprint Source # 
Instance details

Defined in Data.Store.Internal

Store Int16 Source # 
Instance details

Defined in Data.Store.Internal

Store Int32 Source # 
Instance details

Defined in Data.Store.Internal

Store Int64 Source # 
Instance details

Defined in Data.Store.Internal

Store Int8 Source # 
Instance details

Defined in Data.Store.Internal

Store IoSubSystem Source # 
Instance details

Defined in Data.Store.Internal

Store Word16 Source # 
Instance details

Defined in Data.Store.Internal

Store Word32 Source # 
Instance details

Defined in Data.Store.Internal

Store Word64 Source # 
Instance details

Defined in Data.Store.Internal

Store Word8 Source # 
Instance details

Defined in Data.Store.Internal

Store CBlkCnt Source # 
Instance details

Defined in Data.Store.Internal

Store CBlkSize Source # 
Instance details

Defined in Data.Store.Internal

Store CCc Source # 
Instance details

Defined in Data.Store.Internal

Store CClockId Source # 
Instance details

Defined in Data.Store.Internal

Store CDev Source # 
Instance details

Defined in Data.Store.Internal

Store CFsBlkCnt Source # 
Instance details

Defined in Data.Store.Internal

Store CFsFilCnt Source # 
Instance details

Defined in Data.Store.Internal

Store CGid Source # 
Instance details

Defined in Data.Store.Internal

Store CId Source # 
Instance details

Defined in Data.Store.Internal

Store CIno Source # 
Instance details

Defined in Data.Store.Internal

Store CKey Source # 
Instance details

Defined in Data.Store.Internal

Store CMode Source # 
Instance details

Defined in Data.Store.Internal

Store CNfds Source # 
Instance details

Defined in Data.Store.Internal

Store CNlink Source # 
Instance details

Defined in Data.Store.Internal

Store COff Source # 
Instance details

Defined in Data.Store.Internal

Store CPid Source # 
Instance details

Defined in Data.Store.Internal

Store CRLim Source # 
Instance details

Defined in Data.Store.Internal

Store CSocklen Source # 
Instance details

Defined in Data.Store.Internal

Store CSpeed Source # 
Instance details

Defined in Data.Store.Internal

Store CSsize Source # 
Instance details

Defined in Data.Store.Internal

Store CTcflag Source # 
Instance details

Defined in Data.Store.Internal

Store CTimer Source # 
Instance details

Defined in Data.Store.Internal

Store CUid Source # 
Instance details

Defined in Data.Store.Internal

Store Fd Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size Fd Source #

poke :: Fd -> Poke () Source #

peek :: Peek Fd Source #

Store ByteString Source # 
Instance details

Defined in Data.Store.Internal

Store ByteString Source # 
Instance details

Defined in Data.Store.Internal

Store ShortByteString Source # 
Instance details

Defined in Data.Store.Internal

Store IntSet Source # 
Instance details

Defined in Data.Store.Internal

Store PortNumber Source # 
Instance details

Defined in Data.Store.Internal

Store TypeHash Source # 
Instance details

Defined in Data.Store.TypeHash.Internal

Store StoreVersion Source # 
Instance details

Defined in Data.Store.Version

Store AnnTarget Source # 
Instance details

Defined in Data.Store.Internal

Store Bang Source # 
Instance details

Defined in Data.Store.Internal

Store Body Source # 
Instance details

Defined in Data.Store.Internal

Store Bytes Source #

Template Haskell Bytes are nearly identical to ByteString, but it can't depend on ByteString.

Instance details

Defined in Data.Store.Internal

Store Callconv Source # 
Instance details

Defined in Data.Store.Internal

Store Clause Source # 
Instance details

Defined in Data.Store.Internal

Store Con Source # 
Instance details

Defined in Data.Store.Internal

Store Dec Source # 
Instance details

Defined in Data.Store.Internal

Store DerivClause Source # 
Instance details

Defined in Data.Store.Internal

Store DerivStrategy Source # 
Instance details

Defined in Data.Store.Internal

Store Exp Source # 
Instance details

Defined in Data.Store.Internal

Store FamilyResultSig Source # 
Instance details

Defined in Data.Store.Internal

Store Fixity Source # 
Instance details

Defined in Data.Store.Internal

Store FixityDirection Source # 
Instance details

Defined in Data.Store.Internal

Store Foreign Source # 
Instance details

Defined in Data.Store.Internal

Store FunDep Source # 
Instance details

Defined in Data.Store.Internal

Store Guard Source # 
Instance details

Defined in Data.Store.Internal

Store Info Source # 
Instance details

Defined in Data.Store.Internal

Store InjectivityAnn Source # 
Instance details

Defined in Data.Store.Internal

Store Inline Source # 
Instance details

Defined in Data.Store.Internal

Store Lit Source # 
Instance details

Defined in Data.Store.Internal

Store Match Source # 
Instance details

Defined in Data.Store.Internal

Store ModName Source # 
Instance details

Defined in Data.Store.Internal

Store Name Source # 
Instance details

Defined in Data.Store.Internal

Store NameFlavour Source # 
Instance details

Defined in Data.Store.Internal

Store NameSpace Source # 
Instance details

Defined in Data.Store.Internal

Store OccName Source # 
Instance details

Defined in Data.Store.Internal

Store Overlap Source # 
Instance details

Defined in Data.Store.Internal

Store Pat Source # 
Instance details

Defined in Data.Store.Internal

Store PatSynArgs Source # 
Instance details

Defined in Data.Store.Internal

Store PatSynDir Source # 
Instance details

Defined in Data.Store.Internal

Store Phases Source # 
Instance details

Defined in Data.Store.Internal

Store PkgName Source # 
Instance details

Defined in Data.Store.Internal

Store Pragma Source # 
Instance details

Defined in Data.Store.Internal

Store Range Source # 
Instance details

Defined in Data.Store.Internal

Store Role Source # 
Instance details

Defined in Data.Store.Internal

Store RuleBndr Source # 
Instance details

Defined in Data.Store.Internal

Store RuleMatch Source # 
Instance details

Defined in Data.Store.Internal

Store Safety Source # 
Instance details

Defined in Data.Store.Internal

Store SourceStrictness Source # 
Instance details

Defined in Data.Store.Internal

Store SourceUnpackedness Source # 
Instance details

Defined in Data.Store.Internal

Store Specificity Source # 
Instance details

Defined in Data.Store.Internal

Store Stmt Source # 
Instance details

Defined in Data.Store.Internal

Store TyLit Source # 
Instance details

Defined in Data.Store.Internal

Store TySynEqn Source # 
Instance details

Defined in Data.Store.Internal

Store Type Source # 
Instance details

Defined in Data.Store.Internal

Store TypeFamilyHead Source # 
Instance details

Defined in Data.Store.Internal

Store Text Source # 
Instance details

Defined in Data.Store.Internal

Store CalendarDiffDays Source # 
Instance details

Defined in Data.Store.Internal

Store Day Source # 
Instance details

Defined in Data.Store.Internal

Store Quarter Source # 
Instance details

Defined in Data.Store.Internal

Store QuarterOfYear Source # 
Instance details

Defined in Data.Store.Internal

Store DayOfWeek Source # 
Instance details

Defined in Data.Store.Internal

Store FirstWeekType Source # 
Instance details

Defined in Data.Store.Internal

Store AbsoluteTime Source # 
Instance details

Defined in Data.Store.Internal

Store DiffTime Source # 
Instance details

Defined in Data.Store.Internal

Store NominalDiffTime Source # 
Instance details

Defined in Data.Store.Internal

Store SystemTime Source # 
Instance details

Defined in Data.Store.Internal

Store UTCTime Source # 
Instance details

Defined in Data.Store.Internal

Store UniversalTime Source # 
Instance details

Defined in Data.Store.Internal

Store FormatExtension Source # 
Instance details

Defined in Data.Store.Internal

Store TimeLocale Source # 
Instance details

Defined in Data.Store.Internal

Store CalendarDiffTime Source # 
Instance details

Defined in Data.Store.Internal

Store LocalTime Source # 
Instance details

Defined in Data.Store.Internal

Store TimeOfDay Source # 
Instance details

Defined in Data.Store.Internal

Store TimeZone Source # 
Instance details

Defined in Data.Store.Internal

Store ZonedTime Source # 
Instance details

Defined in Data.Store.Internal

Store Integer Source # 
Instance details

Defined in Data.Store.Internal

Store Natural Source # 
Instance details

Defined in Data.Store.Internal

Store () Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size () Source #

poke :: () -> Poke () Source #

peek :: Peek () Source #

Store Bool Source # 
Instance details

Defined in Data.Store.Internal

Store Char Source # 
Instance details

Defined in Data.Store.Internal

Store Double Source # 
Instance details

Defined in Data.Store.Internal

Store Float Source # 
Instance details

Defined in Data.Store.Internal

Store Int Source # 
Instance details

Defined in Data.Store.Internal

Store Word Source # 
Instance details

Defined in Data.Store.Internal

Store a => Store (Complex a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Complex a) Source #

poke :: Complex a -> Poke () Source #

peek :: Peek (Complex a) Source #

Store a => Store (Identity a) Source # 
Instance details

Defined in Data.Store.Internal

Store a => Store (First a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (First a) Source #

poke :: First a -> Poke () Source #

peek :: Peek (First a) Source #

Store a => Store (Last a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Last a) Source #

poke :: Last a -> Poke () Source #

peek :: Peek (Last a) Source #

Store a => Store (Dual a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Dual a) Source #

poke :: Dual a -> Poke () Source #

peek :: Peek (Dual a) Source #

Store a => Store (Product a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Product a) Source #

poke :: Product a -> Poke () Source #

peek :: Peek (Product a) Source #

Store a => Store (Sum a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Sum a) Source #

poke :: Sum a -> Poke () Source #

peek :: Peek (Sum a) Source #

Store (ConstPtr a) Source # 
Instance details

Defined in Data.Store.Internal

Store a => Store (NonEmpty a) Source # 
Instance details

Defined in Data.Store.Internal

Store (FunPtr a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (FunPtr a) Source #

poke :: FunPtr a -> Poke () Source #

peek :: Peek (FunPtr a) Source #

Store (Ptr a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Ptr a) Source #

poke :: Ptr a -> Poke () Source #

peek :: Peek (Ptr a) Source #

Store a => Store (Ratio a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Ratio a) Source #

poke :: Ratio a -> Poke () Source #

peek :: Peek (Ratio a) Source #

Store (StablePtr a) Source # 
Instance details

Defined in Data.Store.Internal

Store a => Store (IntMap a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (IntMap a) Source #

poke :: IntMap a -> Poke () Source #

peek :: Peek (IntMap a) Source #

Store a => Store (Seq a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Seq a) Source #

poke :: Seq a -> Poke () Source #

peek :: Peek (Seq a) Source #

(Store a, Ord a) => Store (Set a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Set a) Source #

poke :: Set a -> Poke () Source #

peek :: Peek (Set a) Source #

Prim a => Store (PrimStorable a) Source # 
Instance details

Defined in Data.Store.Internal

(Store a, HasTypeHash a) => Store (Tagged a) Source # 
Instance details

Defined in Data.Store.TypeHash.Internal

Methods

size :: Size (Tagged a) Source #

poke :: Tagged a -> Poke () Source #

peek :: Peek (Tagged a) Source #

Store flag => Store (TyVarBndr flag) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (TyVarBndr flag) Source #

poke :: TyVarBndr flag -> Poke () Source #

peek :: Peek (TyVarBndr flag) Source #

(Eq a, Hashable a, Store a) => Store (HashSet a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (HashSet a) Source #

poke :: HashSet a -> Poke () Source #

peek :: Peek (HashSet a) Source #

Store a => Store (Vector a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector a) Source #

poke :: Vector a -> Poke () Source #

peek :: Peek (Vector a) Source #

Prim a => Store (Vector (Complex a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Complex a)) Source #

poke :: Vector (Complex a) -> Poke () Source #

peek :: Peek (Vector (Complex a)) Source #

Prim a => Store (Vector (Const a b)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Const a b)) Source #

poke :: Vector (Const a b) -> Poke () Source #

peek :: Peek (Vector (Const a b)) Source #

Prim a => Store (Vector (Identity a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Identity a)) Source #

poke :: Vector (Identity a) -> Poke () Source #

peek :: Peek (Vector (Identity a)) Source #

Prim a => Store (Vector (Down a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Down a)) Source #

poke :: Vector (Down a) -> Poke () Source #

peek :: Peek (Vector (Down a)) Source #

Prim a => Store (Vector (First a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (First a)) Source #

poke :: Vector (First a) -> Poke () Source #

peek :: Peek (Vector (First a)) Source #

Prim a => Store (Vector (Last a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Last a)) Source #

poke :: Vector (Last a) -> Poke () Source #

peek :: Peek (Vector (Last a)) Source #

Prim a => Store (Vector (Max a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Max a)) Source #

poke :: Vector (Max a) -> Poke () Source #

peek :: Peek (Vector (Max a)) Source #

Prim a => Store (Vector (Min a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Min a)) Source #

poke :: Vector (Min a) -> Poke () Source #

peek :: Peek (Vector (Min a)) Source #

Prim a => Store (Vector (Dual a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Dual a)) Source #

poke :: Vector (Dual a) -> Poke () Source #

peek :: Peek (Vector (Dual a)) Source #

Prim a => Store (Vector (Product a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Product a)) Source #

poke :: Vector (Product a) -> Poke () Source #

peek :: Peek (Vector (Product a)) Source #

Prim a => Store (Vector (Sum a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Sum a)) Source #

poke :: Vector (Sum a) -> Poke () Source #

peek :: Peek (Vector (Sum a)) Source #

Store (Vector CBool) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CBool) Source #

poke :: Vector CBool -> Poke () Source #

peek :: Peek (Vector CBool) Source #

Store (Vector CChar) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CChar) Source #

poke :: Vector CChar -> Poke () Source #

peek :: Peek (Vector CChar) Source #

Store (Vector CClock) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CClock) Source #

poke :: Vector CClock -> Poke () Source #

peek :: Peek (Vector CClock) Source #

Store (Vector CDouble) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CDouble) Source #

poke :: Vector CDouble -> Poke () Source #

peek :: Peek (Vector CDouble) Source #

Store (Vector CFloat) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CFloat) Source #

poke :: Vector CFloat -> Poke () Source #

peek :: Peek (Vector CFloat) Source #

Store (Vector CInt) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CInt) Source #

poke :: Vector CInt -> Poke () Source #

peek :: Peek (Vector CInt) Source #

Store (Vector CIntMax) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CIntMax) Source #

poke :: Vector CIntMax -> Poke () Source #

peek :: Peek (Vector CIntMax) Source #

Store (Vector CIntPtr) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CIntPtr) Source #

poke :: Vector CIntPtr -> Poke () Source #

peek :: Peek (Vector CIntPtr) Source #

Store (Vector CLLong) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CLLong) Source #

poke :: Vector CLLong -> Poke () Source #

peek :: Peek (Vector CLLong) Source #

Store (Vector CLong) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CLong) Source #

poke :: Vector CLong -> Poke () Source #

peek :: Peek (Vector CLong) Source #

Store (Vector CPtrdiff) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CPtrdiff) Source #

poke :: Vector CPtrdiff -> Poke () Source #

peek :: Peek (Vector CPtrdiff) Source #

Store (Vector CSChar) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CSChar) Source #

poke :: Vector CSChar -> Poke () Source #

peek :: Peek (Vector CSChar) Source #

Store (Vector CSUSeconds) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CSUSeconds) Source #

poke :: Vector CSUSeconds -> Poke () Source #

peek :: Peek (Vector CSUSeconds) Source #

Store (Vector CShort) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CShort) Source #

poke :: Vector CShort -> Poke () Source #

peek :: Peek (Vector CShort) Source #

Store (Vector CSigAtomic) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CSigAtomic) Source #

poke :: Vector CSigAtomic -> Poke () Source #

peek :: Peek (Vector CSigAtomic) Source #

Store (Vector CSize) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CSize) Source #

poke :: Vector CSize -> Poke () Source #

peek :: Peek (Vector CSize) Source #

Store (Vector CTime) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CTime) Source #

poke :: Vector CTime -> Poke () Source #

peek :: Peek (Vector CTime) Source #

Store (Vector CUChar) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CUChar) Source #

poke :: Vector CUChar -> Poke () Source #

peek :: Peek (Vector CUChar) Source #

Store (Vector CUInt) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CUInt) Source #

poke :: Vector CUInt -> Poke () Source #

peek :: Peek (Vector CUInt) Source #

Store (Vector CUIntMax) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CUIntMax) Source #

poke :: Vector CUIntMax -> Poke () Source #

peek :: Peek (Vector CUIntMax) Source #

Store (Vector CUIntPtr) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CUIntPtr) Source #

poke :: Vector CUIntPtr -> Poke () Source #

peek :: Peek (Vector CUIntPtr) Source #

Store (Vector CULLong) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CULLong) Source #

poke :: Vector CULLong -> Poke () Source #

peek :: Peek (Vector CULLong) Source #

Store (Vector CULong) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CULong) Source #

poke :: Vector CULong -> Poke () Source #

peek :: Peek (Vector CULong) Source #

Store (Vector CUSeconds) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CUSeconds) Source #

poke :: Vector CUSeconds -> Poke () Source #

peek :: Peek (Vector CUSeconds) Source #

Store (Vector CUShort) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CUShort) Source #

poke :: Vector CUShort -> Poke () Source #

peek :: Peek (Vector CUShort) Source #

Store (Vector CWchar) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CWchar) Source #

poke :: Vector CWchar -> Poke () Source #

peek :: Peek (Vector CWchar) Source #

Store (Vector IntPtr) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector IntPtr) Source #

poke :: Vector IntPtr -> Poke () Source #

peek :: Peek (Vector IntPtr) Source #

Store (Vector WordPtr) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector WordPtr) Source #

poke :: Vector WordPtr -> Poke () Source #

peek :: Peek (Vector WordPtr) Source #

Store (Vector Int16) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Int16) Source #

poke :: Vector Int16 -> Poke () Source #

peek :: Peek (Vector Int16) Source #

Store (Vector Int32) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Int32) Source #

poke :: Vector Int32 -> Poke () Source #

peek :: Peek (Vector Int32) Source #

Store (Vector Int64) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Int64) Source #

poke :: Vector Int64 -> Poke () Source #

peek :: Peek (Vector Int64) Source #

Store (Vector Int8) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Int8) Source #

poke :: Vector Int8 -> Poke () Source #

peek :: Peek (Vector Int8) Source #

Store (Vector (FunPtr a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (FunPtr a)) Source #

poke :: Vector (FunPtr a) -> Poke () Source #

peek :: Peek (Vector (FunPtr a)) Source #

Store (Vector (Ptr a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Ptr a)) Source #

poke :: Vector (Ptr a) -> Poke () Source #

peek :: Peek (Vector (Ptr a)) Source #

Store (Vector (StablePtr a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (StablePtr a)) Source #

poke :: Vector (StablePtr a) -> Poke () Source #

peek :: Peek (Vector (StablePtr a)) Source #

Store (Vector Word16) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Word16) Source #

poke :: Vector Word16 -> Poke () Source #

peek :: Peek (Vector Word16) Source #

Store (Vector Word32) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Word32) Source #

poke :: Vector Word32 -> Poke () Source #

peek :: Peek (Vector Word32) Source #

Store (Vector Word64) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Word64) Source #

poke :: Vector Word64 -> Poke () Source #

peek :: Peek (Vector Word64) Source #

Store (Vector Word8) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Word8) Source #

poke :: Vector Word8 -> Poke () Source #

peek :: Peek (Vector Word8) Source #

Store (Vector CBlkCnt) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CBlkCnt) Source #

poke :: Vector CBlkCnt -> Poke () Source #

peek :: Peek (Vector CBlkCnt) Source #

Store (Vector CBlkSize) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CBlkSize) Source #

poke :: Vector CBlkSize -> Poke () Source #

peek :: Peek (Vector CBlkSize) Source #

Store (Vector CCc) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CCc) Source #

poke :: Vector CCc -> Poke () Source #

peek :: Peek (Vector CCc) Source #

Store (Vector CClockId) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CClockId) Source #

poke :: Vector CClockId -> Poke () Source #

peek :: Peek (Vector CClockId) Source #

Store (Vector CDev) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CDev) Source #

poke :: Vector CDev -> Poke () Source #

peek :: Peek (Vector CDev) Source #

Store (Vector CFsBlkCnt) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CFsBlkCnt) Source #

poke :: Vector CFsBlkCnt -> Poke () Source #

peek :: Peek (Vector CFsBlkCnt) Source #

Store (Vector CFsFilCnt) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CFsFilCnt) Source #

poke :: Vector CFsFilCnt -> Poke () Source #

peek :: Peek (Vector CFsFilCnt) Source #

Store (Vector CGid) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CGid) Source #

poke :: Vector CGid -> Poke () Source #

peek :: Peek (Vector CGid) Source #

Store (Vector CId) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CId) Source #

poke :: Vector CId -> Poke () Source #

peek :: Peek (Vector CId) Source #

Store (Vector CIno) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CIno) Source #

poke :: Vector CIno -> Poke () Source #

peek :: Peek (Vector CIno) Source #

Store (Vector CKey) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CKey) Source #

poke :: Vector CKey -> Poke () Source #

peek :: Peek (Vector CKey) Source #

Store (Vector CMode) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CMode) Source #

poke :: Vector CMode -> Poke () Source #

peek :: Peek (Vector CMode) Source #

Store (Vector CNlink) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CNlink) Source #

poke :: Vector CNlink -> Poke () Source #

peek :: Peek (Vector CNlink) Source #

Store (Vector COff) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector COff) Source #

poke :: Vector COff -> Poke () Source #

peek :: Peek (Vector COff) Source #

Store (Vector CPid) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CPid) Source #

poke :: Vector CPid -> Poke () Source #

peek :: Peek (Vector CPid) Source #

Store (Vector CRLim) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CRLim) Source #

poke :: Vector CRLim -> Poke () Source #

peek :: Peek (Vector CRLim) Source #

Store (Vector CSpeed) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CSpeed) Source #

poke :: Vector CSpeed -> Poke () Source #

peek :: Peek (Vector CSpeed) Source #

Store (Vector CSsize) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CSsize) Source #

poke :: Vector CSsize -> Poke () Source #

peek :: Peek (Vector CSsize) Source #

Store (Vector CTcflag) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CTcflag) Source #

poke :: Vector CTcflag -> Poke () Source #

peek :: Peek (Vector CTcflag) Source #

Store (Vector CTimer) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CTimer) Source #

poke :: Vector CTimer -> Poke () Source #

peek :: Peek (Vector CTimer) Source #

Store (Vector CUid) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector CUid) Source #

poke :: Vector CUid -> Poke () Source #

peek :: Peek (Vector CUid) Source #

Store (Vector Fd) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Fd) Source #

poke :: Vector Fd -> Poke () Source #

peek :: Peek (Vector Fd) Source #

Store (Vector Char) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Char) Source #

poke :: Vector Char -> Poke () Source #

peek :: Peek (Vector Char) Source #

Store (Vector Double) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Double) Source #

poke :: Vector Double -> Poke () Source #

peek :: Peek (Vector Double) Source #

Store (Vector Float) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Float) Source #

poke :: Vector Float -> Poke () Source #

peek :: Peek (Vector Float) Source #

Store (Vector Int) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Int) Source #

poke :: Vector Int -> Poke () Source #

peek :: Peek (Vector Int) Source #

Store (Vector Word) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector Word) Source #

poke :: Vector Word -> Poke () Source #

peek :: Peek (Vector Word) Source #

Storable a => Store (Vector a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector a) Source #

poke :: Vector a -> Poke () Source #

peek :: Peek (Vector a) Source #

Store a => Store (Vector a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector a) Source #

poke :: Vector a -> Poke () Source #

peek :: Peek (Vector a) Source #

Store a => Store (DoNotUnboxLazy a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (DoNotUnboxLazy a) Source #

poke :: DoNotUnboxLazy a -> Poke () Source #

peek :: Peek (DoNotUnboxLazy a) Source #

Store a => Store (DoNotUnboxNormalForm a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (DoNotUnboxNormalForm a) Source #

poke :: DoNotUnboxNormalForm a -> Poke () Source #

peek :: Peek (DoNotUnboxNormalForm a) Source #

Store a => Store (DoNotUnboxStrict a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (DoNotUnboxStrict a) Source #

poke :: DoNotUnboxStrict a -> Poke () Source #

peek :: Peek (DoNotUnboxStrict a) Source #

Store (Vector a) => Store (Vector (Complex a)) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector (f (g a))) => Store (Vector (Compose f g a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Compose f g a)) Source #

poke :: Vector (Compose f g a) -> Poke () Source #

peek :: Peek (Vector (Compose f g a)) Source #

Store (Vector a) => Store (Vector (Const a b)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Const a b)) Source #

poke :: Vector (Const a b) -> Poke () Source #

peek :: Peek (Vector (Const a b)) Source #

Store (Vector a) => Store (Vector (Identity a)) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector a) => Store (Vector (Down a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Down a)) Source #

poke :: Vector (Down a) -> Poke () Source #

peek :: Peek (Vector (Down a)) Source #

(Store (Vector a), Store (Vector b)) => Store (Vector (Arg a b)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Arg a b)) Source #

poke :: Vector (Arg a b) -> Poke () Source #

peek :: Peek (Vector (Arg a b)) Source #

Store (Vector a) => Store (Vector (First a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (First a)) Source #

poke :: Vector (First a) -> Poke () Source #

peek :: Peek (Vector (First a)) Source #

Store (Vector a) => Store (Vector (Last a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Last a)) Source #

poke :: Vector (Last a) -> Poke () Source #

peek :: Peek (Vector (Last a)) Source #

Store (Vector a) => Store (Vector (Max a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Max a)) Source #

poke :: Vector (Max a) -> Poke () Source #

peek :: Peek (Vector (Max a)) Source #

Store (Vector a) => Store (Vector (Min a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Min a)) Source #

poke :: Vector (Min a) -> Poke () Source #

peek :: Peek (Vector (Min a)) Source #

Store (Vector a) => Store (Vector (WrappedMonoid a)) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector All) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector (f a)) => Store (Vector (Alt f a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Alt f a)) Source #

poke :: Vector (Alt f a) -> Poke () Source #

peek :: Peek (Vector (Alt f a)) Source #

Store (Vector Any) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector a) => Store (Vector (Dual a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Dual a)) Source #

poke :: Vector (Dual a) -> Poke () Source #

peek :: Peek (Vector (Dual a)) Source #

Store (Vector a) => Store (Vector (Product a)) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector a) => Store (Vector (Sum a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (Sum a)) Source #

poke :: Vector (Sum a) -> Poke () Source #

peek :: Peek (Vector (Sum a)) Source #

Store (Vector Int16) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Int32) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Int64) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Int8) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Word16) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Word32) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Word64) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Word8) Source # 
Instance details

Defined in Data.Store.Internal

Store a => Store (Vector (DoNotUnboxLazy a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (DoNotUnboxLazy a)) Source #

poke :: Vector (DoNotUnboxLazy a) -> Poke () Source #

peek :: Peek (Vector (DoNotUnboxLazy a)) Source #

Store a => Store (Vector (DoNotUnboxNormalForm a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (DoNotUnboxNormalForm a)) Source #

poke :: Vector (DoNotUnboxNormalForm a) -> Poke () Source #

peek :: Peek (Vector (DoNotUnboxNormalForm a)) Source #

Store a => Store (Vector (DoNotUnboxStrict a)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (DoNotUnboxStrict a)) Source #

poke :: Vector (DoNotUnboxStrict a) -> Poke () Source #

peek :: Peek (Vector (DoNotUnboxStrict a)) Source #

Store (Vector ()) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector ()) Source #

poke :: Vector () -> Poke () Source #

peek :: Peek (Vector ()) Source #

(Store (Vector a), Store (Vector b)) => Store (Vector (a, b)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (a, b)) Source #

poke :: Vector (a, b) -> Poke () Source #

peek :: Peek (Vector (a, b)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c)) => Store (Vector (a, b, c)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (a, b, c)) Source #

poke :: Vector (a, b, c) -> Poke () Source #

peek :: Peek (Vector (a, b, c)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c), Store (Vector d)) => Store (Vector (a, b, c, d)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (a, b, c, d)) Source #

poke :: Vector (a, b, c, d) -> Poke () Source #

peek :: Peek (Vector (a, b, c, d)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c), Store (Vector d), Store (Vector e)) => Store (Vector (a, b, c, d, e)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (a, b, c, d, e)) Source #

poke :: Vector (a, b, c, d, e) -> Poke () Source #

peek :: Peek (Vector (a, b, c, d, e)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c), Store (Vector d), Store (Vector e), Store (Vector f)) => Store (Vector (a, b, c, d, e, f)) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Vector (a, b, c, d, e, f)) Source #

poke :: Vector (a, b, c, d, e, f) -> Poke () Source #

peek :: Peek (Vector (a, b, c, d, e, f)) Source #

Store (Vector Bool) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Char) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Double) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Float) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Int) Source # 
Instance details

Defined in Data.Store.Internal

Store (Vector Word) Source # 
Instance details

Defined in Data.Store.Internal

Store a => Store (Maybe a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Maybe a) Source #

poke :: Maybe a -> Poke () Source #

peek :: Peek (Maybe a) Source #

Store a => Store [a] Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size [a] Source #

poke :: [a] -> Poke () Source #

peek :: Peek [a] Source #

Deriver (Store a) Source # 
Instance details

Defined in Data.Store.TH.Internal

Methods

runDeriver :: Proxy (Store a) -> Cxt -> Type -> Q [Dec] #

(Ix i, IArray UArray e, Store i, Store e) => Store (UArray i e) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (UArray i e) Source #

poke :: UArray i e -> Poke () Source #

peek :: Peek (UArray i e) Source #

(Store a, Store b) => Store (Either a b) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Either a b) Source #

poke :: Either a b -> Poke () Source #

peek :: Peek (Either a b) Source #

Store (Fixed a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Fixed a) Source #

poke :: Fixed a -> Poke () Source #

peek :: Peek (Fixed a) Source #

(Ix i, Store i, Store e) => Store (Array i e) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Array i e) Source #

poke :: Array i e -> Poke () Source #

peek :: Peek (Array i e) Source #

(Ord k, Store k, Store a) => Store (Map k a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Map k a) Source #

poke :: Map k a -> Poke () Source #

peek :: Peek (Map k a) Source #

KnownNat n => Store (StaticSize n ByteString) Source # 
Instance details

Defined in Data.Store.Internal

(Eq k, Hashable k, Store k, Store a) => Store (HashMap k a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (HashMap k a) Source #

poke :: HashMap k a -> Poke () Source #

peek :: Peek (HashMap k a) Source #

(Store a, Store b) => Store (a, b) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (a, b) Source #

poke :: (a, b) -> Poke () Source #

peek :: Peek (a, b) Source #

Store a => Store (Const a b) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (Const a b) Source #

poke :: Const a b -> Poke () Source #

peek :: Peek (Const a b) Source #

(Store a, Store b, Store c) => Store (a, b, c) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (a, b, c) Source #

poke :: (a, b, c) -> Poke () Source #

peek :: Peek (a, b, c) Source #

(Store a, Store b, Store c, Store d) => Store (a, b, c, d) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (a, b, c, d) Source #

poke :: (a, b, c, d) -> Poke () Source #

peek :: Peek (a, b, c, d) Source #

(Store a, Store b, Store c, Store d, Store e) => Store (a, b, c, d, e) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (a, b, c, d, e) Source #

poke :: (a, b, c, d, e) -> Poke () Source #

peek :: Peek (a, b, c, d, e) Source #

(Store a, Store b, Store c, Store d, Store e, Store f) => Store (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (a, b, c, d, e, f) Source #

poke :: (a, b, c, d, e, f) -> Poke () Source #

peek :: Peek (a, b, c, d, e, f) Source #

(Store a, Store b, Store c, Store d, Store e, Store f, Store g) => Store (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Store.Internal

Methods

size :: Size (a, b, c, d, e, f, g) Source #

poke :: (a, b, c, d, e, f, g) -> Poke () Source #

peek :: Peek (a, b, c, d, e, f, g) Source #

data Poke a #

Poke actions are useful for building sequential serializers.

They are actions which write values to bytes into memory specified by a Ptr base. The Applicative and Monad instances make it easy to write serializations, by keeping track of the Offset of the current byte. They allow you to chain Poke action such that subsequent Pokes write into subsequent portions of the output.

Instances

Instances details
MonadFail Poke 
Instance details

Defined in Data.Store.Core

Methods

fail :: String -> Poke a #

MonadIO Poke 
Instance details

Defined in Data.Store.Core

Methods

liftIO :: IO a -> Poke a #

Applicative Poke 
Instance details

Defined in Data.Store.Core

Methods

pure :: a -> Poke a #

(<*>) :: Poke (a -> b) -> Poke a -> Poke b #

liftA2 :: (a -> b -> c) -> Poke a -> Poke b -> Poke c #

(*>) :: Poke a -> Poke b -> Poke b #

(<*) :: Poke a -> Poke b -> Poke a #

Functor Poke 
Instance details

Defined in Data.Store.Core

Methods

fmap :: (a -> b) -> Poke a -> Poke b #

(<$) :: a -> Poke b -> Poke a #

Monad Poke 
Instance details

Defined in Data.Store.Core

Methods

(>>=) :: Poke a -> (a -> Poke b) -> Poke b #

(>>) :: Poke a -> Poke b -> Poke b #

return :: a -> Poke a #

data Peek a #

Peek actions are useful for building sequential deserializers.

They are actions which read from memory and construct values from it. The Applicative and Monad instances make it easy to chain these together to get more complicated deserializers. This machinery keeps track of the current Ptr and end-of-buffer Ptr.

Instances

Instances details
MonadFail Peek 
Instance details

Defined in Data.Store.Core

Methods

fail :: String -> Peek a #

MonadIO Peek 
Instance details

Defined in Data.Store.Core

Methods

liftIO :: IO a -> Peek a #

Applicative Peek 
Instance details

Defined in Data.Store.Core

Methods

pure :: a -> Peek a #

(<*>) :: Peek (a -> b) -> Peek a -> Peek b #

liftA2 :: (a -> b -> c) -> Peek a -> Peek b -> Peek c #

(*>) :: Peek a -> Peek b -> Peek b #

(<*) :: Peek a -> Peek b -> Peek a #

Functor Peek 
Instance details

Defined in Data.Store.Core

Methods

fmap :: (a -> b) -> Peek a -> Peek b #

(<$) :: a -> Peek b -> Peek a #

Monad Peek 
Instance details

Defined in Data.Store.Core

Methods

(>>=) :: Peek a -> (a -> Peek b) -> Peek b #

(>>) :: Peek a -> Peek b -> Peek b #

return :: a -> Peek a #

PrimMonad Peek 
Instance details

Defined in Data.Store.Core

Associated Types

type PrimState Peek #

Methods

primitive :: (State# (PrimState Peek) -> (# State# (PrimState Peek), a #)) -> Peek a #

type PrimState Peek 
Instance details

Defined in Data.Store.Core

runPeek :: Peek a -> PeekState -> Ptr Word8 -> IO (PeekResult a) #

Run the Peek action, with a Ptr to the end of the buffer where data is poked, and a Ptr to the current position. The result is the Ptr, along with a return value.

May throw a PeekException if the memory contains invalid values.

Exceptions thrown by Poke

data PokeException #

Exception thrown while running poke. Note that other types of exceptions could also be thrown. Invocations of fail in the Poke monad causes this exception to be thrown.

PokeExceptions are not expected to occur in ordinary circumstances, and usually indicate a programming error.

pokeException :: Text -> Poke a #

Throws a PokeException. These should be avoided when possible, they usually indicate a programming error.

Exceptions thrown by Peek

data PeekException #

Exception thrown while running peek. Note that other types of exceptions can also be thrown. Invocations of fail in the Poke monad causes this exception to be thrown.

PeekException is thrown when the data being decoded is invalid.

tooManyBytes :: Int -> Int -> String -> IO void #

Throws a PeekException about an attempt to read too many bytes.

Size type

data Size a Source #

Info about a type's serialized length. Either the length is known independently of the value, or the length depends on the value.

Constructors

VarSize (a -> Int) 
ConstSize !Int 

Instances

Instances details
Contravariant Size Source # 
Instance details

Defined in Data.Store.Impl

Methods

contramap :: (a' -> a) -> Size a -> Size a' #

(>$) :: b -> Size b -> Size a #

getSize :: Store a => a -> Int Source #

Get the number of bytes needed to store the given value. See size.

getSizeWith :: Size a -> a -> Int Source #

Given a Size value and a value of the type a, returns its Int size.

combineSize :: forall a b c. (Store a, Store b) => (c -> a) -> (c -> b) -> Size c Source #

Create an aggregate Size by providing functions to split the input into two pieces.

If both of the types are ConstSize, the result is ConstSize and the functions will not be used.

combineSizeWith :: forall a b c. (c -> a) -> (c -> b) -> Size a -> Size b -> Size c Source #

Create an aggregate Size by providing functions to split the input into two pieces, as well as Size values to use to measure the results.

If both of the input Size values are ConstSize, the result is ConstSize and the functions will not be used.

addSize :: Int -> Size a -> Size a Source #

Adds a constant amount to a Size value.

Store instances in terms of IsSequence

sizeSequence :: forall t. (IsSequence t, Store (Element t)) => Size t Source #

Implement size for an IsSequence of Store instances.

Note that many monomorphic containers have more efficient implementations (for example, via memcpy).

pokeSequence :: (IsSequence t, Store (Element t)) => t -> Poke () Source #

Implement poke for an IsSequence of Store instances.

Note that many monomorphic containers have more efficient implementations (for example, via memcpy).

peekSequence :: (IsSequence t, Store (Element t), Index t ~ Int) => Peek t Source #

Implement peek for an IsSequence of Store instances.

Note that many monomorphic containers have more efficient implementations (for example, via memcpy).

Store instances in terms of IsSet

sizeSet :: forall t. (IsSet t, Store (Element t)) => Size t Source #

Implement size for an IsSet of Store instances.

pokeSet :: (IsSet t, Store (Element t)) => t -> Poke () Source #

Implement poke for an IsSequence of Store instances.

peekSet :: (IsSet t, Store (Element t)) => Peek t Source #

Implement peek for an IsSequence of Store instances.

Store instances in terms of IsMap

sizeMap :: forall t. (Store (ContainerKey t), Store (MapValue t), IsMap t) => Size t Source #

Implement size for an IsMap of where both ContainerKey and MapValue are Store instances.

pokeMap :: (Store (ContainerKey t), Store (MapValue t), IsMap t) => t -> Poke () Source #

Implement poke for an IsMap of where both ContainerKey and MapValue are Store instances.

peekMap :: (Store (ContainerKey t), Store (MapValue t), IsMap t) => Peek t Source #

Implement peek for an IsMap of where both ContainerKey and MapValue are Store instances.

Utilities for ordered maps

sizeOrdMap :: forall t. (Store (ContainerKey t), Store (MapValue t), IsMap t) => Size t Source #

Like sizeMap but should only be used for ordered containers where mapToList returns an ascending list.

pokeOrdMap :: (Store (ContainerKey t), Store (MapValue t), IsMap t) => t -> Poke () Source #

Like pokeMap but should only be used for ordered containers where mapToList returns an ascending list.

peekOrdMapWith Source #

Arguments

:: (Store (ContainerKey t), Store (MapValue t)) 
=> ([(ContainerKey t, MapValue t)] -> t)

A function to construct the map from an ascending list such as fromDistinctAscList.

-> Peek t 

Decode the results of pokeOrdMap using a given function to construct the map.

Store instances in terms of IArray

sizeArray :: (Ix i, IArray a e, Store i, Store e) => Size (a i e) Source #

pokeArray :: (Ix i, IArray a e, Store i, Store e) => a i e -> Poke () Source #

peekArray :: (Ix i, IArray a e, Store i, Store e) => Peek (a i e) Source #

Store instances in terms of Generic

class GStoreSize f Source #

Minimal complete definition

gsize

Instances

Instances details
GStoreSize (U1 :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gsize :: Size (U1 a)

GStoreSize (V1 :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gsize :: Size (V1 a)

(GStoreSize a, GStoreSize b) => GStoreSize (a :*: b) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gsize :: Size ((a :*: b) a0)

(FitsInByte (SumArity (a :+: b)), GStoreSizeSum 0 (a :+: b)) => GStoreSize (a :+: b) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gsize :: Size ((a :+: b) a0)

Store a => GStoreSize (K1 i a :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gsize :: Size (K1 i a a0)

GStoreSize f => GStoreSize (M1 i c f) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gsize :: Size (M1 i c f a)

class GStorePoke f Source #

Minimal complete definition

gpoke

Instances

Instances details
GStorePoke (U1 :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpoke :: U1 a -> Poke ()

GStorePoke (V1 :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpoke :: V1 a -> Poke ()

(GStorePoke a, GStorePoke b) => GStorePoke (a :*: b) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpoke :: (a :*: b) a0 -> Poke ()

(FitsInByte (SumArity (a :+: b)), GStorePokeSum 0 (a :+: b)) => GStorePoke (a :+: b) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpoke :: (a :+: b) a0 -> Poke ()

Store a => GStorePoke (K1 i a :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpoke :: K1 i a a0 -> Poke ()

GStorePoke f => GStorePoke (M1 i c f) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpoke :: M1 i c f a -> Poke ()

genericPoke :: (Generic a, GStorePoke (Rep a)) => a -> Poke () Source #

class GStorePeek f Source #

Minimal complete definition

gpeek

Instances

Instances details
GStorePeek (U1 :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpeek :: Peek (U1 a)

GStorePeek (V1 :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpeek :: Peek (V1 a)

(GStorePeek a, GStorePeek b) => GStorePeek (a :*: b) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpeek :: Peek ((a :*: b) a0)

(FitsInByte (SumArity (a :+: b)), GStorePeekSum 0 (a :+: b)) => GStorePeek (a :+: b) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpeek :: Peek ((a :+: b) a0)

Store a => GStorePeek (K1 i a :: Type -> Type) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpeek :: Peek (K1 i a a0)

GStorePeek f => GStorePeek (M1 i c f) Source # 
Instance details

Defined in Data.Store.Impl

Methods

gpeek :: Peek (M1 i c f a)

Peek utilities

skip :: Int -> Peek () Source #

Skip n bytes forward.

isolate :: Int -> Peek a -> Peek a Source #

Isolate the input to n bytes, skipping n bytes forward. Fails if m advances the offset beyond the isolated region.

peekMagic :: (Eq a, Show a, Store a) => String -> a -> Peek () Source #

Ensure the presence of a given magic value.

Throws a PeekException if the value isn't present.

Static Size type

class KnownNat n => IsStaticSize n a where Source #

Methods

toStaticSize :: a -> Maybe (StaticSize n a) Source #

Instances

Instances details
KnownNat n => IsStaticSize n ByteString Source # 
Instance details

Defined in Data.Store.Internal

newtype StaticSize (n :: Nat) a Source #

Constructors

StaticSize 

Fields

Instances

Instances details
(KnownNat n, Data a) => Data (StaticSize n a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StaticSize n a -> c (StaticSize n a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (StaticSize n a) #

toConstr :: StaticSize n a -> Constr #

dataTypeOf :: StaticSize n a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (StaticSize n a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (StaticSize n a)) #

gmapT :: (forall b. Data b => b -> b) -> StaticSize n a -> StaticSize n a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StaticSize n a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StaticSize n a -> r #

gmapQ :: (forall d. Data d => d -> u) -> StaticSize n a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StaticSize n a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StaticSize n a -> m (StaticSize n a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StaticSize n a -> m (StaticSize n a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StaticSize n a -> m (StaticSize n a) #

Generic (StaticSize n a) Source # 
Instance details

Defined in Data.Store.Internal

Associated Types

type Rep (StaticSize n a) :: Type -> Type #

Methods

from :: StaticSize n a -> Rep (StaticSize n a) x #

to :: Rep (StaticSize n a) x -> StaticSize n a #

Show a => Show (StaticSize n a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

showsPrec :: Int -> StaticSize n a -> ShowS #

show :: StaticSize n a -> String #

showList :: [StaticSize n a] -> ShowS #

NFData a => NFData (StaticSize n a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

rnf :: StaticSize n a -> () #

Eq a => Eq (StaticSize n a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

(==) :: StaticSize n a -> StaticSize n a -> Bool #

(/=) :: StaticSize n a -> StaticSize n a -> Bool #

Ord a => Ord (StaticSize n a) Source # 
Instance details

Defined in Data.Store.Internal

Methods

compare :: StaticSize n a -> StaticSize n a -> Ordering #

(<) :: StaticSize n a -> StaticSize n a -> Bool #

(<=) :: StaticSize n a -> StaticSize n a -> Bool #

(>) :: StaticSize n a -> StaticSize n a -> Bool #

(>=) :: StaticSize n a -> StaticSize n a -> Bool #

max :: StaticSize n a -> StaticSize n a -> StaticSize n a #

min :: StaticSize n a -> StaticSize n a -> StaticSize n a #

KnownNat n => Store (StaticSize n ByteString) Source # 
Instance details

Defined in Data.Store.Internal

type Rep (StaticSize n a) Source # 
Instance details

Defined in Data.Store.Internal

type Rep (StaticSize n a) = D1 ('MetaData "StaticSize" "Data.Store.Internal" "store-0.7.20-LOQy0o0chP1CW8fbFgBWfe" 'True) (C1 ('MetaCons "StaticSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "unStaticSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

liftStaticSize :: forall n a. (KnownNat n, Lift a) => TypeQ -> StaticSize n a -> ExpQ Source #

Orphan instances

Store All Source # 
Instance details

Store Any Source # 
Instance details

Store CBool Source # 
Instance details

Store CChar Source # 
Instance details

Store CClock Source # 
Instance details

Store CDouble Source # 
Instance details

Store CFloat Source # 
Instance details

Store CInt Source # 
Instance details

Store CIntMax Source # 
Instance details

Store CIntPtr Source # 
Instance details

Store CLLong Source # 
Instance details

Store CLong Source # 
Instance details

Store CPtrdiff Source # 
Instance details

Store CSChar Source # 
Instance details

Store CSUSeconds Source # 
Instance details

Store CShort Source # 
Instance details

Store CSigAtomic Source # 
Instance details

Store CSize Source # 
Instance details

Store CTime Source # 
Instance details

Store CUChar Source # 
Instance details

Store CUInt Source # 
Instance details

Store CUIntMax Source # 
Instance details

Store CUIntPtr Source # 
Instance details

Store CULLong Source # 
Instance details

Store CULong Source # 
Instance details

Store CUSeconds Source # 
Instance details

Store CUShort Source # 
Instance details

Store CWchar Source # 
Instance details

Store IntPtr Source # 
Instance details

Store WordPtr Source # 
Instance details

Store Void Source # 
Instance details

Store Fingerprint Source # 
Instance details

Store Int16 Source # 
Instance details

Store Int32 Source # 
Instance details

Store Int64 Source # 
Instance details

Store Int8 Source # 
Instance details

Store IoSubSystem Source # 
Instance details

Store Word16 Source # 
Instance details

Store Word32 Source # 
Instance details

Store Word64 Source # 
Instance details

Store Word8 Source # 
Instance details

Store CBlkCnt Source # 
Instance details

Store CBlkSize Source # 
Instance details

Store CCc Source # 
Instance details

Store CClockId Source # 
Instance details

Store CDev Source # 
Instance details

Store CFsBlkCnt Source # 
Instance details

Store CFsFilCnt Source # 
Instance details

Store CGid Source # 
Instance details

Store CId Source # 
Instance details

Store CIno Source # 
Instance details

Store CKey Source # 
Instance details

Store CMode Source # 
Instance details

Store CNfds Source # 
Instance details

Store CNlink Source # 
Instance details

Store COff Source # 
Instance details

Store CPid Source # 
Instance details

Store CRLim Source # 
Instance details

Store CSocklen Source # 
Instance details

Store CSpeed Source # 
Instance details

Store CSsize Source # 
Instance details

Store CTcflag Source # 
Instance details

Store CTimer Source # 
Instance details

Store CUid Source # 
Instance details

Store Fd Source # 
Instance details

Methods

size :: Size Fd Source #

poke :: Fd -> Poke () Source #

peek :: Peek Fd Source #

Store ByteString Source # 
Instance details

Store ByteString Source # 
Instance details

Store ShortByteString Source # 
Instance details

Store IntSet Source # 
Instance details

Store PortNumber Source # 
Instance details

Store AnnTarget Source # 
Instance details

Store Bang Source # 
Instance details

Store Body Source # 
Instance details

Store Bytes Source #

Template Haskell Bytes are nearly identical to ByteString, but it can't depend on ByteString.

Instance details

Store Callconv Source # 
Instance details

Store Clause Source # 
Instance details

Store Con Source # 
Instance details

Store Dec Source # 
Instance details

Store DerivClause Source # 
Instance details

Store DerivStrategy Source # 
Instance details

Store Exp Source # 
Instance details

Store FamilyResultSig Source # 
Instance details

Store Fixity Source # 
Instance details

Store FixityDirection Source # 
Instance details

Store Foreign Source # 
Instance details

Store FunDep Source # 
Instance details

Store Guard Source # 
Instance details

Store Info Source # 
Instance details

Store InjectivityAnn Source # 
Instance details

Store Inline Source # 
Instance details

Store Lit Source # 
Instance details

Store Match Source # 
Instance details

Store ModName Source # 
Instance details

Store Name Source # 
Instance details

Store NameFlavour Source # 
Instance details

Store NameSpace Source # 
Instance details

Store OccName Source # 
Instance details

Store Overlap Source # 
Instance details

Store Pat Source # 
Instance details

Store PatSynArgs Source # 
Instance details

Store PatSynDir Source # 
Instance details

Store Phases Source # 
Instance details

Store PkgName Source # 
Instance details

Store Pragma Source # 
Instance details

Store Range Source # 
Instance details

Store Role Source # 
Instance details

Store RuleBndr Source # 
Instance details

Store RuleMatch Source # 
Instance details

Store Safety Source # 
Instance details

Store SourceStrictness Source # 
Instance details

Store SourceUnpackedness Source # 
Instance details

Store Specificity Source # 
Instance details

Store Stmt Source # 
Instance details

Store TyLit Source # 
Instance details

Store TySynEqn Source # 
Instance details

Store Type Source # 
Instance details

Store TypeFamilyHead Source # 
Instance details

Store Text Source # 
Instance details

Store CalendarDiffDays Source # 
Instance details

Store Day Source # 
Instance details

Store Quarter Source # 
Instance details

Store QuarterOfYear Source # 
Instance details

Store DayOfWeek Source # 
Instance details

Store FirstWeekType Source # 
Instance details

Store AbsoluteTime Source # 
Instance details

Store DiffTime Source # 
Instance details

Store NominalDiffTime Source # 
Instance details

Store SystemTime Source # 
Instance details

Store UTCTime Source # 
Instance details

Store UniversalTime Source # 
Instance details

Store FormatExtension Source # 
Instance details

Store TimeLocale Source # 
Instance details

Store CalendarDiffTime Source # 
Instance details

Store LocalTime Source # 
Instance details

Store TimeOfDay Source # 
Instance details

Store TimeZone Source # 
Instance details

Store ZonedTime Source # 
Instance details

Store Integer Source # 
Instance details

Store Natural Source # 
Instance details

Store () Source # 
Instance details

Methods

size :: Size () Source #

poke :: () -> Poke () Source #

peek :: Peek () Source #

Store Bool Source # 
Instance details

Store Char Source # 
Instance details

Store Double Source # 
Instance details

Store Float Source # 
Instance details

Store Int Source # 
Instance details

Store Word Source # 
Instance details

Store a => Store (Complex a) Source # 
Instance details

Methods

size :: Size (Complex a) Source #

poke :: Complex a -> Poke () Source #

peek :: Peek (Complex a) Source #

Store a => Store (Identity a) Source # 
Instance details

Store a => Store (First a) Source # 
Instance details

Methods

size :: Size (First a) Source #

poke :: First a -> Poke () Source #

peek :: Peek (First a) Source #

Store a => Store (Last a) Source # 
Instance details

Methods

size :: Size (Last a) Source #

poke :: Last a -> Poke () Source #

peek :: Peek (Last a) Source #

Store a => Store (Dual a) Source # 
Instance details

Methods

size :: Size (Dual a) Source #

poke :: Dual a -> Poke () Source #

peek :: Peek (Dual a) Source #

Store a => Store (Product a) Source # 
Instance details

Methods

size :: Size (Product a) Source #

poke :: Product a -> Poke () Source #

peek :: Peek (Product a) Source #

Store a => Store (Sum a) Source # 
Instance details

Methods

size :: Size (Sum a) Source #

poke :: Sum a -> Poke () Source #

peek :: Peek (Sum a) Source #

Store (ConstPtr a) Source # 
Instance details

Store a => Store (NonEmpty a) Source # 
Instance details

Store (FunPtr a) Source # 
Instance details

Methods

size :: Size (FunPtr a) Source #

poke :: FunPtr a -> Poke () Source #

peek :: Peek (FunPtr a) Source #

Store (Ptr a) Source # 
Instance details

Methods

size :: Size (Ptr a) Source #

poke :: Ptr a -> Poke () Source #

peek :: Peek (Ptr a) Source #

Store a => Store (Ratio a) Source # 
Instance details

Methods

size :: Size (Ratio a) Source #

poke :: Ratio a -> Poke () Source #

peek :: Peek (Ratio a) Source #

Store (StablePtr a) Source # 
Instance details

Store a => Store (IntMap a) Source # 
Instance details

Methods

size :: Size (IntMap a) Source #

poke :: IntMap a -> Poke () Source #

peek :: Peek (IntMap a) Source #

Store a => Store (Seq a) Source # 
Instance details

Methods

size :: Size (Seq a) Source #

poke :: Seq a -> Poke () Source #

peek :: Peek (Seq a) Source #

(Store a, Ord a) => Store (Set a) Source # 
Instance details

Methods

size :: Size (Set a) Source #

poke :: Set a -> Poke () Source #

peek :: Peek (Set a) Source #

Prim a => Store (PrimStorable a) Source # 
Instance details

Store flag => Store (TyVarBndr flag) Source # 
Instance details

Methods

size :: Size (TyVarBndr flag) Source #

poke :: TyVarBndr flag -> Poke () Source #

peek :: Peek (TyVarBndr flag) Source #

(Eq a, Hashable a, Store a) => Store (HashSet a) Source # 
Instance details

Methods

size :: Size (HashSet a) Source #

poke :: HashSet a -> Poke () Source #

peek :: Peek (HashSet a) Source #

Store a => Store (Vector a) Source # 
Instance details

Methods

size :: Size (Vector a) Source #

poke :: Vector a -> Poke () Source #

peek :: Peek (Vector a) Source #

Prim a => Store (Vector (Complex a)) Source # 
Instance details

Methods

size :: Size (Vector (Complex a)) Source #

poke :: Vector (Complex a) -> Poke () Source #

peek :: Peek (Vector (Complex a)) Source #

Prim a => Store (Vector (Const a b)) Source # 
Instance details

Methods

size :: Size (Vector (Const a b)) Source #

poke :: Vector (Const a b) -> Poke () Source #

peek :: Peek (Vector (Const a b)) Source #

Prim a => Store (Vector (Identity a)) Source # 
Instance details

Methods

size :: Size (Vector (Identity a)) Source #

poke :: Vector (Identity a) -> Poke () Source #

peek :: Peek (Vector (Identity a)) Source #

Prim a => Store (Vector (Down a)) Source # 
Instance details

Methods

size :: Size (Vector (Down a)) Source #

poke :: Vector (Down a) -> Poke () Source #

peek :: Peek (Vector (Down a)) Source #

Prim a => Store (Vector (First a)) Source # 
Instance details

Methods

size :: Size (Vector (First a)) Source #

poke :: Vector (First a) -> Poke () Source #

peek :: Peek (Vector (First a)) Source #

Prim a => Store (Vector (Last a)) Source # 
Instance details

Methods

size :: Size (Vector (Last a)) Source #

poke :: Vector (Last a) -> Poke () Source #

peek :: Peek (Vector (Last a)) Source #

Prim a => Store (Vector (Max a)) Source # 
Instance details

Methods

size :: Size (Vector (Max a)) Source #

poke :: Vector (Max a) -> Poke () Source #

peek :: Peek (Vector (Max a)) Source #

Prim a => Store (Vector (Min a)) Source # 
Instance details

Methods

size :: Size (Vector (Min a)) Source #

poke :: Vector (Min a) -> Poke () Source #

peek :: Peek (Vector (Min a)) Source #

Prim a => Store (Vector (Dual a)) Source # 
Instance details

Methods

size :: Size (Vector (Dual a)) Source #

poke :: Vector (Dual a) -> Poke () Source #

peek :: Peek (Vector (Dual a)) Source #

Prim a => Store (Vector (Product a)) Source # 
Instance details

Methods

size :: Size (Vector (Product a)) Source #

poke :: Vector (Product a) -> Poke () Source #

peek :: Peek (Vector (Product a)) Source #

Prim a => Store (Vector (Sum a)) Source # 
Instance details

Methods

size :: Size (Vector (Sum a)) Source #

poke :: Vector (Sum a) -> Poke () Source #

peek :: Peek (Vector (Sum a)) Source #

Store (Vector CBool) Source # 
Instance details

Methods

size :: Size (Vector CBool) Source #

poke :: Vector CBool -> Poke () Source #

peek :: Peek (Vector CBool) Source #

Store (Vector CChar) Source # 
Instance details

Methods

size :: Size (Vector CChar) Source #

poke :: Vector CChar -> Poke () Source #

peek :: Peek (Vector CChar) Source #

Store (Vector CClock) Source # 
Instance details

Methods

size :: Size (Vector CClock) Source #

poke :: Vector CClock -> Poke () Source #

peek :: Peek (Vector CClock) Source #

Store (Vector CDouble) Source # 
Instance details

Methods

size :: Size (Vector CDouble) Source #

poke :: Vector CDouble -> Poke () Source #

peek :: Peek (Vector CDouble) Source #

Store (Vector CFloat) Source # 
Instance details

Methods

size :: Size (Vector CFloat) Source #

poke :: Vector CFloat -> Poke () Source #

peek :: Peek (Vector CFloat) Source #

Store (Vector CInt) Source # 
Instance details

Methods

size :: Size (Vector CInt) Source #

poke :: Vector CInt -> Poke () Source #

peek :: Peek (Vector CInt) Source #

Store (Vector CIntMax) Source # 
Instance details

Methods

size :: Size (Vector CIntMax) Source #

poke :: Vector CIntMax -> Poke () Source #

peek :: Peek (Vector CIntMax) Source #

Store (Vector CIntPtr) Source # 
Instance details

Methods

size :: Size (Vector CIntPtr) Source #

poke :: Vector CIntPtr -> Poke () Source #

peek :: Peek (Vector CIntPtr) Source #

Store (Vector CLLong) Source # 
Instance details

Methods

size :: Size (Vector CLLong) Source #

poke :: Vector CLLong -> Poke () Source #

peek :: Peek (Vector CLLong) Source #

Store (Vector CLong) Source # 
Instance details

Methods

size :: Size (Vector CLong) Source #

poke :: Vector CLong -> Poke () Source #

peek :: Peek (Vector CLong) Source #

Store (Vector CPtrdiff) Source # 
Instance details

Methods

size :: Size (Vector CPtrdiff) Source #

poke :: Vector CPtrdiff -> Poke () Source #

peek :: Peek (Vector CPtrdiff) Source #

Store (Vector CSChar) Source # 
Instance details

Methods

size :: Size (Vector CSChar) Source #

poke :: Vector CSChar -> Poke () Source #

peek :: Peek (Vector CSChar) Source #

Store (Vector CSUSeconds) Source # 
Instance details

Methods

size :: Size (Vector CSUSeconds) Source #

poke :: Vector CSUSeconds -> Poke () Source #

peek :: Peek (Vector CSUSeconds) Source #

Store (Vector CShort) Source # 
Instance details

Methods

size :: Size (Vector CShort) Source #

poke :: Vector CShort -> Poke () Source #

peek :: Peek (Vector CShort) Source #

Store (Vector CSigAtomic) Source # 
Instance details

Methods

size :: Size (Vector CSigAtomic) Source #

poke :: Vector CSigAtomic -> Poke () Source #

peek :: Peek (Vector CSigAtomic) Source #

Store (Vector CSize) Source # 
Instance details

Methods

size :: Size (Vector CSize) Source #

poke :: Vector CSize -> Poke () Source #

peek :: Peek (Vector CSize) Source #

Store (Vector CTime) Source # 
Instance details

Methods

size :: Size (Vector CTime) Source #

poke :: Vector CTime -> Poke () Source #

peek :: Peek (Vector CTime) Source #

Store (Vector CUChar) Source # 
Instance details

Methods

size :: Size (Vector CUChar) Source #

poke :: Vector CUChar -> Poke () Source #

peek :: Peek (Vector CUChar) Source #

Store (Vector CUInt) Source # 
Instance details

Methods

size :: Size (Vector CUInt) Source #

poke :: Vector CUInt -> Poke () Source #

peek :: Peek (Vector CUInt) Source #

Store (Vector CUIntMax) Source # 
Instance details

Methods

size :: Size (Vector CUIntMax) Source #

poke :: Vector CUIntMax -> Poke () Source #

peek :: Peek (Vector CUIntMax) Source #

Store (Vector CUIntPtr) Source # 
Instance details

Methods

size :: Size (Vector CUIntPtr) Source #

poke :: Vector CUIntPtr -> Poke () Source #

peek :: Peek (Vector CUIntPtr) Source #

Store (Vector CULLong) Source # 
Instance details

Methods

size :: Size (Vector CULLong) Source #

poke :: Vector CULLong -> Poke () Source #

peek :: Peek (Vector CULLong) Source #

Store (Vector CULong) Source # 
Instance details

Methods

size :: Size (Vector CULong) Source #

poke :: Vector CULong -> Poke () Source #

peek :: Peek (Vector CULong) Source #

Store (Vector CUSeconds) Source # 
Instance details

Methods

size :: Size (Vector CUSeconds) Source #

poke :: Vector CUSeconds -> Poke () Source #

peek :: Peek (Vector CUSeconds) Source #

Store (Vector CUShort) Source # 
Instance details

Methods

size :: Size (Vector CUShort) Source #

poke :: Vector CUShort -> Poke () Source #

peek :: Peek (Vector CUShort) Source #

Store (Vector CWchar) Source # 
Instance details

Methods

size :: Size (Vector CWchar) Source #

poke :: Vector CWchar -> Poke () Source #

peek :: Peek (Vector CWchar) Source #

Store (Vector IntPtr) Source # 
Instance details

Methods

size :: Size (Vector IntPtr) Source #

poke :: Vector IntPtr -> Poke () Source #

peek :: Peek (Vector IntPtr) Source #

Store (Vector WordPtr) Source # 
Instance details

Methods

size :: Size (Vector WordPtr) Source #

poke :: Vector WordPtr -> Poke () Source #

peek :: Peek (Vector WordPtr) Source #

Store (Vector Int16) Source # 
Instance details

Methods

size :: Size (Vector Int16) Source #

poke :: Vector Int16 -> Poke () Source #

peek :: Peek (Vector Int16) Source #

Store (Vector Int32) Source # 
Instance details

Methods

size :: Size (Vector Int32) Source #

poke :: Vector Int32 -> Poke () Source #

peek :: Peek (Vector Int32) Source #

Store (Vector Int64) Source # 
Instance details

Methods

size :: Size (Vector Int64) Source #

poke :: Vector Int64 -> Poke () Source #

peek :: Peek (Vector Int64) Source #

Store (Vector Int8) Source # 
Instance details

Methods

size :: Size (Vector Int8) Source #

poke :: Vector Int8 -> Poke () Source #

peek :: Peek (Vector Int8) Source #

Store (Vector (FunPtr a)) Source # 
Instance details

Methods

size :: Size (Vector (FunPtr a)) Source #

poke :: Vector (FunPtr a) -> Poke () Source #

peek :: Peek (Vector (FunPtr a)) Source #

Store (Vector (Ptr a)) Source # 
Instance details

Methods

size :: Size (Vector (Ptr a)) Source #

poke :: Vector (Ptr a) -> Poke () Source #

peek :: Peek (Vector (Ptr a)) Source #

Store (Vector (StablePtr a)) Source # 
Instance details

Methods

size :: Size (Vector (StablePtr a)) Source #

poke :: Vector (StablePtr a) -> Poke () Source #

peek :: Peek (Vector (StablePtr a)) Source #

Store (Vector Word16) Source # 
Instance details

Methods

size :: Size (Vector Word16) Source #

poke :: Vector Word16 -> Poke () Source #

peek :: Peek (Vector Word16) Source #

Store (Vector Word32) Source # 
Instance details

Methods

size :: Size (Vector Word32) Source #

poke :: Vector Word32 -> Poke () Source #

peek :: Peek (Vector Word32) Source #

Store (Vector Word64) Source # 
Instance details

Methods

size :: Size (Vector Word64) Source #

poke :: Vector Word64 -> Poke () Source #

peek :: Peek (Vector Word64) Source #

Store (Vector Word8) Source # 
Instance details

Methods

size :: Size (Vector Word8) Source #

poke :: Vector Word8 -> Poke () Source #

peek :: Peek (Vector Word8) Source #

Store (Vector CBlkCnt) Source # 
Instance details

Methods

size :: Size (Vector CBlkCnt) Source #

poke :: Vector CBlkCnt -> Poke () Source #

peek :: Peek (Vector CBlkCnt) Source #

Store (Vector CBlkSize) Source # 
Instance details

Methods

size :: Size (Vector CBlkSize) Source #

poke :: Vector CBlkSize -> Poke () Source #

peek :: Peek (Vector CBlkSize) Source #

Store (Vector CCc) Source # 
Instance details

Methods

size :: Size (Vector CCc) Source #

poke :: Vector CCc -> Poke () Source #

peek :: Peek (Vector CCc) Source #

Store (Vector CClockId) Source # 
Instance details

Methods

size :: Size (Vector CClockId) Source #

poke :: Vector CClockId -> Poke () Source #

peek :: Peek (Vector CClockId) Source #

Store (Vector CDev) Source # 
Instance details

Methods

size :: Size (Vector CDev) Source #

poke :: Vector CDev -> Poke () Source #

peek :: Peek (Vector CDev) Source #

Store (Vector CFsBlkCnt) Source # 
Instance details

Methods

size :: Size (Vector CFsBlkCnt) Source #

poke :: Vector CFsBlkCnt -> Poke () Source #

peek :: Peek (Vector CFsBlkCnt) Source #

Store (Vector CFsFilCnt) Source # 
Instance details

Methods

size :: Size (Vector CFsFilCnt) Source #

poke :: Vector CFsFilCnt -> Poke () Source #

peek :: Peek (Vector CFsFilCnt) Source #

Store (Vector CGid) Source # 
Instance details

Methods

size :: Size (Vector CGid) Source #

poke :: Vector CGid -> Poke () Source #

peek :: Peek (Vector CGid) Source #

Store (Vector CId) Source # 
Instance details

Methods

size :: Size (Vector CId) Source #

poke :: Vector CId -> Poke () Source #

peek :: Peek (Vector CId) Source #

Store (Vector CIno) Source # 
Instance details

Methods

size :: Size (Vector CIno) Source #

poke :: Vector CIno -> Poke () Source #

peek :: Peek (Vector CIno) Source #

Store (Vector CKey) Source # 
Instance details

Methods

size :: Size (Vector CKey) Source #

poke :: Vector CKey -> Poke () Source #

peek :: Peek (Vector CKey) Source #

Store (Vector CMode) Source # 
Instance details

Methods

size :: Size (Vector CMode) Source #

poke :: Vector CMode -> Poke () Source #

peek :: Peek (Vector CMode) Source #

Store (Vector CNlink) Source # 
Instance details

Methods

size :: Size (Vector CNlink) Source #

poke :: Vector CNlink -> Poke () Source #

peek :: Peek (Vector CNlink) Source #

Store (Vector COff) Source # 
Instance details

Methods

size :: Size (Vector COff) Source #

poke :: Vector COff -> Poke () Source #

peek :: Peek (Vector COff) Source #

Store (Vector CPid) Source # 
Instance details

Methods

size :: Size (Vector CPid) Source #

poke :: Vector CPid -> Poke () Source #

peek :: Peek (Vector CPid) Source #

Store (Vector CRLim) Source # 
Instance details

Methods

size :: Size (Vector CRLim) Source #

poke :: Vector CRLim -> Poke () Source #

peek :: Peek (Vector CRLim) Source #

Store (Vector CSpeed) Source # 
Instance details

Methods

size :: Size (Vector CSpeed) Source #

poke :: Vector CSpeed -> Poke () Source #

peek :: Peek (Vector CSpeed) Source #

Store (Vector CSsize) Source # 
Instance details

Methods

size :: Size (Vector CSsize) Source #

poke :: Vector CSsize -> Poke () Source #

peek :: Peek (Vector CSsize) Source #

Store (Vector CTcflag) Source # 
Instance details

Methods

size :: Size (Vector CTcflag) Source #

poke :: Vector CTcflag -> Poke () Source #

peek :: Peek (Vector CTcflag) Source #

Store (Vector CTimer) Source # 
Instance details

Methods

size :: Size (Vector CTimer) Source #

poke :: Vector CTimer -> Poke () Source #

peek :: Peek (Vector CTimer) Source #

Store (Vector CUid) Source # 
Instance details

Methods

size :: Size (Vector CUid) Source #

poke :: Vector CUid -> Poke () Source #

peek :: Peek (Vector CUid) Source #

Store (Vector Fd) Source # 
Instance details

Methods

size :: Size (Vector Fd) Source #

poke :: Vector Fd -> Poke () Source #

peek :: Peek (Vector Fd) Source #

Store (Vector Char) Source # 
Instance details

Methods

size :: Size (Vector Char) Source #

poke :: Vector Char -> Poke () Source #

peek :: Peek (Vector Char) Source #

Store (Vector Double) Source # 
Instance details

Methods

size :: Size (Vector Double) Source #

poke :: Vector Double -> Poke () Source #

peek :: Peek (Vector Double) Source #

Store (Vector Float) Source # 
Instance details

Methods

size :: Size (Vector Float) Source #

poke :: Vector Float -> Poke () Source #

peek :: Peek (Vector Float) Source #

Store (Vector Int) Source # 
Instance details

Methods

size :: Size (Vector Int) Source #

poke :: Vector Int -> Poke () Source #

peek :: Peek (Vector Int) Source #

Store (Vector Word) Source # 
Instance details

Methods

size :: Size (Vector Word) Source #

poke :: Vector Word -> Poke () Source #

peek :: Peek (Vector Word) Source #

Storable a => Store (Vector a) Source # 
Instance details

Methods

size :: Size (Vector a) Source #

poke :: Vector a -> Poke () Source #

peek :: Peek (Vector a) Source #

Store a => Store (Vector a) Source # 
Instance details

Methods

size :: Size (Vector a) Source #

poke :: Vector a -> Poke () Source #

peek :: Peek (Vector a) Source #

Store a => Store (DoNotUnboxLazy a) Source # 
Instance details

Methods

size :: Size (DoNotUnboxLazy a) Source #

poke :: DoNotUnboxLazy a -> Poke () Source #

peek :: Peek (DoNotUnboxLazy a) Source #

Store a => Store (DoNotUnboxNormalForm a) Source # 
Instance details

Methods

size :: Size (DoNotUnboxNormalForm a) Source #

poke :: DoNotUnboxNormalForm a -> Poke () Source #

peek :: Peek (DoNotUnboxNormalForm a) Source #

Store a => Store (DoNotUnboxStrict a) Source # 
Instance details

Methods

size :: Size (DoNotUnboxStrict a) Source #

poke :: DoNotUnboxStrict a -> Poke () Source #

peek :: Peek (DoNotUnboxStrict a) Source #

Store (Vector a) => Store (Vector (Complex a)) Source # 
Instance details

Store (Vector (f (g a))) => Store (Vector (Compose f g a)) Source # 
Instance details

Methods

size :: Size (Vector (Compose f g a)) Source #

poke :: Vector (Compose f g a) -> Poke () Source #

peek :: Peek (Vector (Compose f g a)) Source #

Store (Vector a) => Store (Vector (Const a b)) Source # 
Instance details

Methods

size :: Size (Vector (Const a b)) Source #

poke :: Vector (Const a b) -> Poke () Source #

peek :: Peek (Vector (Const a b)) Source #

Store (Vector a) => Store (Vector (Identity a)) Source # 
Instance details

Store (Vector a) => Store (Vector (Down a)) Source # 
Instance details

Methods

size :: Size (Vector (Down a)) Source #

poke :: Vector (Down a) -> Poke () Source #

peek :: Peek (Vector (Down a)) Source #

(Store (Vector a), Store (Vector b)) => Store (Vector (Arg a b)) Source # 
Instance details

Methods

size :: Size (Vector (Arg a b)) Source #

poke :: Vector (Arg a b) -> Poke () Source #

peek :: Peek (Vector (Arg a b)) Source #

Store (Vector a) => Store (Vector (First a)) Source # 
Instance details

Methods

size :: Size (Vector (First a)) Source #

poke :: Vector (First a) -> Poke () Source #

peek :: Peek (Vector (First a)) Source #

Store (Vector a) => Store (Vector (Last a)) Source # 
Instance details

Methods

size :: Size (Vector (Last a)) Source #

poke :: Vector (Last a) -> Poke () Source #

peek :: Peek (Vector (Last a)) Source #

Store (Vector a) => Store (Vector (Max a)) Source # 
Instance details

Methods

size :: Size (Vector (Max a)) Source #

poke :: Vector (Max a) -> Poke () Source #

peek :: Peek (Vector (Max a)) Source #

Store (Vector a) => Store (Vector (Min a)) Source # 
Instance details

Methods

size :: Size (Vector (Min a)) Source #

poke :: Vector (Min a) -> Poke () Source #

peek :: Peek (Vector (Min a)) Source #

Store (Vector a) => Store (Vector (WrappedMonoid a)) Source # 
Instance details

Store (Vector All) Source # 
Instance details

Store (Vector (f a)) => Store (Vector (Alt f a)) Source # 
Instance details

Methods

size :: Size (Vector (Alt f a)) Source #

poke :: Vector (Alt f a) -> Poke () Source #

peek :: Peek (Vector (Alt f a)) Source #

Store (Vector Any) Source # 
Instance details

Store (Vector a) => Store (Vector (Dual a)) Source # 
Instance details

Methods

size :: Size (Vector (Dual a)) Source #

poke :: Vector (Dual a) -> Poke () Source #

peek :: Peek (Vector (Dual a)) Source #

Store (Vector a) => Store (Vector (Product a)) Source # 
Instance details

Store (Vector a) => Store (Vector (Sum a)) Source # 
Instance details

Methods

size :: Size (Vector (Sum a)) Source #

poke :: Vector (Sum a) -> Poke () Source #

peek :: Peek (Vector (Sum a)) Source #

Store (Vector Int16) Source # 
Instance details

Store (Vector Int32) Source # 
Instance details

Store (Vector Int64) Source # 
Instance details

Store (Vector Int8) Source # 
Instance details

Store (Vector Word16) Source # 
Instance details

Store (Vector Word32) Source # 
Instance details

Store (Vector Word64) Source # 
Instance details

Store (Vector Word8) Source # 
Instance details

Store a => Store (Vector (DoNotUnboxLazy a)) Source # 
Instance details

Methods

size :: Size (Vector (DoNotUnboxLazy a)) Source #

poke :: Vector (DoNotUnboxLazy a) -> Poke () Source #

peek :: Peek (Vector (DoNotUnboxLazy a)) Source #

Store a => Store (Vector (DoNotUnboxNormalForm a)) Source # 
Instance details

Methods

size :: Size (Vector (DoNotUnboxNormalForm a)) Source #

poke :: Vector (DoNotUnboxNormalForm a) -> Poke () Source #

peek :: Peek (Vector (DoNotUnboxNormalForm a)) Source #

Store a => Store (Vector (DoNotUnboxStrict a)) Source # 
Instance details

Methods

size :: Size (Vector (DoNotUnboxStrict a)) Source #

poke :: Vector (DoNotUnboxStrict a) -> Poke () Source #

peek :: Peek (Vector (DoNotUnboxStrict a)) Source #

Store (Vector ()) Source # 
Instance details

Methods

size :: Size (Vector ()) Source #

poke :: Vector () -> Poke () Source #

peek :: Peek (Vector ()) Source #

(Store (Vector a), Store (Vector b)) => Store (Vector (a, b)) Source # 
Instance details

Methods

size :: Size (Vector (a, b)) Source #

poke :: Vector (a, b) -> Poke () Source #

peek :: Peek (Vector (a, b)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c)) => Store (Vector (a, b, c)) Source # 
Instance details

Methods

size :: Size (Vector (a, b, c)) Source #

poke :: Vector (a, b, c) -> Poke () Source #

peek :: Peek (Vector (a, b, c)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c), Store (Vector d)) => Store (Vector (a, b, c, d)) Source # 
Instance details

Methods

size :: Size (Vector (a, b, c, d)) Source #

poke :: Vector (a, b, c, d) -> Poke () Source #

peek :: Peek (Vector (a, b, c, d)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c), Store (Vector d), Store (Vector e)) => Store (Vector (a, b, c, d, e)) Source # 
Instance details

Methods

size :: Size (Vector (a, b, c, d, e)) Source #

poke :: Vector (a, b, c, d, e) -> Poke () Source #

peek :: Peek (Vector (a, b, c, d, e)) Source #

(Store (Vector a), Store (Vector b), Store (Vector c), Store (Vector d), Store (Vector e), Store (Vector f)) => Store (Vector (a, b, c, d, e, f)) Source # 
Instance details

Methods

size :: Size (Vector (a, b, c, d, e, f)) Source #

poke :: Vector (a, b, c, d, e, f) -> Poke () Source #

peek :: Peek (Vector (a, b, c, d, e, f)) Source #

Store (Vector Bool) Source # 
Instance details

Store (Vector Char) Source # 
Instance details

Store (Vector Double) Source # 
Instance details

Store (Vector Float) Source # 
Instance details

Store (Vector Int) Source # 
Instance details

Store (Vector Word) Source # 
Instance details

Store a => Store (Maybe a) Source # 
Instance details

Methods

size :: Size (Maybe a) Source #

poke :: Maybe a -> Poke () Source #

peek :: Peek (Maybe a) Source #

Store a => Store [a] Source # 
Instance details

Methods

size :: Size [a] Source #

poke :: [a] -> Poke () Source #

peek :: Peek [a] Source #

(Ix i, IArray UArray e, Store i, Store e) => Store (UArray i e) Source # 
Instance details

Methods

size :: Size (UArray i e) Source #

poke :: UArray i e -> Poke () Source #

peek :: Peek (UArray i e) Source #

(Store a, Store b) => Store (Either a b) Source # 
Instance details

Methods

size :: Size (Either a b) Source #

poke :: Either a b -> Poke () Source #

peek :: Peek (Either a b) Source #

Store (Fixed a) Source # 
Instance details

Methods

size :: Size (Fixed a) Source #

poke :: Fixed a -> Poke () Source #

peek :: Peek (Fixed a) Source #

(Ix i, Store i, Store e) => Store (Array i e) Source # 
Instance details

Methods

size :: Size (Array i e) Source #

poke :: Array i e -> Poke () Source #

peek :: Peek (Array i e) Source #

(Ord k, Store k, Store a) => Store (Map k a) Source # 
Instance details

Methods

size :: Size (Map k a) Source #

poke :: Map k a -> Poke () Source #

peek :: Peek (Map k a) Source #

(Eq k, Hashable k, Store k, Store a) => Store (HashMap k a) Source # 
Instance details

Methods

size :: Size (HashMap k a) Source #

poke :: HashMap k a -> Poke () Source #

peek :: Peek (HashMap k a) Source #

(Store a, Store b) => Store (a, b) Source # 
Instance details

Methods

size :: Size (a, b) Source #

poke :: (a, b) -> Poke () Source #

peek :: Peek (a, b) Source #

Store a => Store (Const a b) Source # 
Instance details

Methods

size :: Size (Const a b) Source #

poke :: Const a b -> Poke () Source #

peek :: Peek (Const a b) Source #

(Store a, Store b, Store c) => Store (a, b, c) Source # 
Instance details

Methods

size :: Size (a, b, c) Source #

poke :: (a, b, c) -> Poke () Source #

peek :: Peek (a, b, c) Source #

(Store a, Store b, Store c, Store d) => Store (a, b, c, d) Source # 
Instance details

Methods

size :: Size (a, b, c, d) Source #

poke :: (a, b, c, d) -> Poke () Source #

peek :: Peek (a, b, c, d) Source #

(Store a, Store b, Store c, Store d, Store e) => Store (a, b, c, d, e) Source # 
Instance details

Methods

size :: Size (a, b, c, d, e) Source #

poke :: (a, b, c, d, e) -> Poke () Source #

peek :: Peek (a, b, c, d, e) Source #

(Store a, Store b, Store c, Store d, Store e, Store f) => Store (a, b, c, d, e, f) Source # 
Instance details

Methods

size :: Size (a, b, c, d, e, f) Source #

poke :: (a, b, c, d, e, f) -> Poke () Source #

peek :: Peek (a, b, c, d, e, f) Source #

(Store a, Store b, Store c, Store d, Store e, Store f, Store g) => Store (a, b, c, d, e, f, g) Source # 
Instance details

Methods

size :: Size (a, b, c, d, e, f, g) Source #

poke :: (a, b, c, d, e, f, g) -> Poke () Source #

peek :: Peek (a, b, c, d, e, f, g) Source #