-- | -- Module : OsString -- Copyright : © 2021 Julian Ospald -- License : MIT -- -- Maintainer : Julian Ospald <hasufell@posteo.de> -- Stability : experimental -- Portability : portable -- -- An implementation of platform specific short 'OsString', which is: -- -- 1. on windows wide char bytes (@[Word16]@) -- 2. on unix char bytes (@[Word8]@) -- -- It captures the notion of syscall specific encoding (or the lack thereof) to avoid roundtrip issues -- and memory fragmentation by using unpinned byte arrays. Bytes are not touched or interpreted. module System.OsString ( -- * String types OsString -- * String construction , toOsStringUtf , toOsStringEnc , toOsStringFS , osstr , packOsString -- * String deconstruction , fromOsStringUtf , fromOsStringEnc , fromOsStringFS , unpackOsString -- * Word types , OsChar -- * Word construction , unsafeFromChar -- * Word deconstruction , toChar ) where import System.OsString.Internal ( unsafeFromChar , toChar , fromOsStringUtf , fromOsStringEnc , fromOsStringFS , osstr , packOsString , toOsStringUtf , toOsStringEnc , toOsStringFS , unpackOsString ) import System.OsString.Internal.Types ( OsString, OsChar )