Copyright | (c) Roman Leshchinskiy 2009-2012 |
---|---|
License | BSD-style |
Maintainer | libraries@haskell.org |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Derived from primitive
package.
Synopsis
- data ByteArray = ByteArray ByteArray#
- data MutableByteArray s = MutableByteArray (MutableByteArray# s)
Documentation
Boxed wrapper for ByteArray#
.
Since ByteArray#
is an unlifted type and not a member of kind Type
,
things like [ByteArray#]
or IO ByteArray#
are ill-typed. To work around this
inconvenience this module provides a standard boxed wrapper, inhabiting Type
.
Clients are expected to use ByteArray
in higher-level APIs,
but wrap and unwrap ByteArray
internally as they please
and use functions from GHC.Exts.
Since: base-4.17.0.0
Instances
Data ByteArray Source # | Since: base-4.17.0.0 |
Defined in Data.Array.Byte gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteArray -> c ByteArray Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteArray Source # toConstr :: ByteArray -> Constr Source # dataTypeOf :: ByteArray -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteArray) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteArray) Source # gmapT :: (forall b. Data b => b -> b) -> ByteArray -> ByteArray Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ByteArray -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteArray -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Source # | |
Monoid ByteArray Source # | Since: base-4.17.0.0 |
Semigroup ByteArray Source # | Since: base-4.17.0.0 |
IsList ByteArray Source # | Since: base-4.17.0.0 |
Show ByteArray Source # | Since: base-4.17.0.0 |
Eq ByteArray Source # | Since: base-4.17.0.0 |
Ord ByteArray Source # | Non-lexicographic ordering. This compares the lengths of the byte arrays first and uses a lexicographic ordering if the lengths are equal. Subject to change between major versions. @since 4.17.0.0 |
Defined in Data.Array.Byte | |
type Item ByteArray Source # | |
Defined in Data.Array.Byte |
data MutableByteArray s Source #
Boxed wrapper for MutableByteArray#
.
Since MutableByteArray#
is an unlifted type and not a member of kind Type
,
things like [MutableByteArray#]
or IO MutableByteArray#
are ill-typed. To work around this
inconvenience this module provides a standard boxed wrapper, inhabiting Type
.
Clients are expected to use MutableByteArray
in higher-level APIs,
but wrap and unwrap MutableByteArray
internally as they please
and use functions from GHC.Exts.
Since: base-4.17.0.0
Instances
Typeable s => Data (MutableByteArray s) Source # | Since: base-4.17.0.0 |
Defined in Data.Array.Byte gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MutableByteArray s -> c (MutableByteArray s) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MutableByteArray s) Source # toConstr :: MutableByteArray s -> Constr Source # dataTypeOf :: MutableByteArray s -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MutableByteArray s)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MutableByteArray s)) Source # gmapT :: (forall b. Data b => b -> b) -> MutableByteArray s -> MutableByteArray s Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MutableByteArray s -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MutableByteArray s -> r Source # gmapQ :: (forall d. Data d => d -> u) -> MutableByteArray s -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> MutableByteArray s -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MutableByteArray s -> m (MutableByteArray s) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MutableByteArray s -> m (MutableByteArray s) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MutableByteArray s -> m (MutableByteArray s) Source # | |
Eq (MutableByteArray s) Source # | Since: base-4.17.0.0 |
Defined in Data.Array.Byte (==) :: MutableByteArray s -> MutableByteArray s -> Bool Source # (/=) :: MutableByteArray s -> MutableByteArray s -> Bool Source # |