{-# LANGUAGE GeneralizedNewtypeDeriving #-}

module Cardano.Binary.Raw
  ( Raw(..)
  )
where

import Cardano.Prelude

import Cardano.Binary.FromCBOR (FromCBOR)
import Cardano.Binary.ToCBOR (ToCBOR)


-- | A wrapper over 'ByteString' for signalling that a bytestring should be
--   processed as a sequence of bytes, not as a separate entity. It's used in
--   crypto and binary code.
newtype Raw = Raw ByteString
  deriving (Raw -> Raw -> Bool
(Raw -> Raw -> Bool) -> (Raw -> Raw -> Bool) -> Eq Raw
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Raw -> Raw -> Bool
$c/= :: Raw -> Raw -> Bool
== :: Raw -> Raw -> Bool
$c== :: Raw -> Raw -> Bool
Eq, Eq Raw
Eq Raw
-> (Raw -> Raw -> Ordering)
-> (Raw -> Raw -> Bool)
-> (Raw -> Raw -> Bool)
-> (Raw -> Raw -> Bool)
-> (Raw -> Raw -> Bool)
-> (Raw -> Raw -> Raw)
-> (Raw -> Raw -> Raw)
-> Ord Raw
Raw -> Raw -> Bool
Raw -> Raw -> Ordering
Raw -> Raw -> Raw
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Raw -> Raw -> Raw
$cmin :: Raw -> Raw -> Raw
max :: Raw -> Raw -> Raw
$cmax :: Raw -> Raw -> Raw
>= :: Raw -> Raw -> Bool
$c>= :: Raw -> Raw -> Bool
> :: Raw -> Raw -> Bool
$c> :: Raw -> Raw -> Bool
<= :: Raw -> Raw -> Bool
$c<= :: Raw -> Raw -> Bool
< :: Raw -> Raw -> Bool
$c< :: Raw -> Raw -> Bool
compare :: Raw -> Raw -> Ordering
$ccompare :: Raw -> Raw -> Ordering
$cp1Ord :: Eq Raw
Ord, Int -> Raw -> ShowS
[Raw] -> ShowS
Raw -> String
(Int -> Raw -> ShowS)
-> (Raw -> String) -> ([Raw] -> ShowS) -> Show Raw
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Raw] -> ShowS
$cshowList :: [Raw] -> ShowS
show :: Raw -> String
$cshow :: Raw -> String
showsPrec :: Int -> Raw -> ShowS
$cshowsPrec :: Int -> Raw -> ShowS
Show, Raw -> ()
(Raw -> ()) -> NFData Raw
forall a. (a -> ()) -> NFData a
rnf :: Raw -> ()
$crnf :: Raw -> ()
NFData, Typeable Raw
Decoder s Raw
Typeable Raw
-> (forall s. Decoder s Raw) -> (Proxy Raw -> Text) -> FromCBOR Raw
Proxy Raw -> Text
forall s. Decoder s Raw
forall a.
Typeable a
-> (forall s. Decoder s a) -> (Proxy a -> Text) -> FromCBOR a
label :: Proxy Raw -> Text
$clabel :: Proxy Raw -> Text
fromCBOR :: Decoder s Raw
$cfromCBOR :: forall s. Decoder s Raw
$cp1FromCBOR :: Typeable Raw
FromCBOR, Typeable Raw
Typeable Raw
-> (Raw -> Encoding)
-> ((forall t. ToCBOR t => Proxy t -> Size) -> Proxy Raw -> Size)
-> ((forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Raw] -> Size)
-> ToCBOR Raw
Raw -> Encoding
(forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Raw] -> Size
(forall t. ToCBOR t => Proxy t -> Size) -> Proxy Raw -> Size
forall a.
Typeable a
-> (a -> Encoding)
-> ((forall t. ToCBOR t => Proxy t -> Size) -> Proxy a -> Size)
-> ((forall t. ToCBOR t => Proxy t -> Size) -> Proxy [a] -> Size)
-> ToCBOR a
encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Raw] -> Size
$cencodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Raw] -> Size
encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Raw -> Size
$cencodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Raw -> Size
toCBOR :: Raw -> Encoding
$ctoCBOR :: Raw -> Encoding
$cp1ToCBOR :: Typeable Raw
ToCBOR)