Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Compact representation of short Strings
This module is designed to be import qualified
import Distribution.Utils.ShortText (ShortText) import qualified Distribution.Utils.ShortText as ShortText
Synopsis
- data ShortText
- toShortText :: String -> ShortText
- fromShortText :: ShortText -> String
- unsafeFromUTF8BS :: ByteString -> ShortText
- null :: ShortText -> Bool
- length :: ShortText -> Int
- decodeStringUtf8 :: [Word8] -> String
- encodeStringUtf8 :: String -> [Word8]
ShortText
type
Compact representation of short Strings
The data is stored internally as UTF8 in an
ShortByteString
when compiled against bytestring >=
0.10.4
, and otherwise the fallback is to use plain old non-compat
'[Char]'.
Note: This type is for internal uses (such as e.g. PackageName
)
and shall not be exposed in Cabal's API
Since: 2.0.0.2
Instances
Structured ShortText Source # | |
Defined in Distribution.Utils.ShortText | |
Data ShortText Source # | |
Defined in Distribution.Utils.ShortText gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ShortText -> c ShortText gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ShortText toConstr :: ShortText -> Constr dataTypeOf :: ShortText -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ShortText) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ShortText) gmapT :: (forall b. Data b => b -> b) -> ShortText -> ShortText gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ShortText -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ShortText -> r gmapQ :: (forall d. Data d => d -> u) -> ShortText -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ShortText -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ShortText -> m ShortText gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ShortText -> m ShortText gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ShortText -> m ShortText | |
IsString ShortText Source # | |
Defined in Distribution.Utils.ShortText fromString :: String -> ShortText # | |
Monoid ShortText Source # | |
Semigroup ShortText Source # | |
Generic ShortText Source # | |
Read ShortText Source # | |
Show ShortText Source # | |
Binary ShortText Source # | |
NFData ShortText Source # | |
Defined in Distribution.Utils.ShortText | |
Eq ShortText Source # | |
Ord ShortText Source # | |
Defined in Distribution.Utils.ShortText | |
type Rep ShortText Source # | |
Defined in Distribution.Utils.ShortText type Rep ShortText = D1 ('MetaData "ShortText" "Distribution.Utils.ShortText" "Cabal-syntax-3.13.0.0-inplace" 'True) (C1 ('MetaCons "ST" 'PrefixI 'True) (S1 ('MetaSel ('Just "unST") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortByteString))) |
unsafeFromUTF8BS :: ByteString -> ShortText Source #
Convert from UTF-8 encoded strict ByteString
.
Since: 3.2.0.0
Operations
length :: ShortText -> Int Source #
O(n). Length in characters. Slow as converts to string.
Since: 3.2.0.0
internal utilities
decodeStringUtf8 :: [Word8] -> String Source #
Decode String
from UTF8-encoded octets.
Invalid data in the UTF8 stream (this includes code-points U+D800
through U+DFFF
) will be decoded as the replacement character (U+FFFD
).
See also encodeStringUtf8