Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
The GString struct contains the public fields of a GString.
- newtype String = String (ManagedPtr String)
- newZeroString :: MonadIO m => m String
- noString :: Maybe String
- data StringAppendMethodInfo
- stringAppend :: (HasCallStack, MonadIO m) => String -> Text -> m String
- data StringAppendCMethodInfo
- stringAppendC :: (HasCallStack, MonadIO m) => String -> Int8 -> m String
- data StringAppendLenMethodInfo
- stringAppendLen :: (HasCallStack, MonadIO m) => String -> Text -> Int64 -> m String
- data StringAppendUnicharMethodInfo
- stringAppendUnichar :: (HasCallStack, MonadIO m) => String -> Char -> m String
- data StringAppendUriEscapedMethodInfo
- stringAppendUriEscaped :: (HasCallStack, MonadIO m) => String -> Text -> Text -> Bool -> m String
- data StringAsciiDownMethodInfo
- stringAsciiDown :: (HasCallStack, MonadIO m) => String -> m String
- data StringAsciiUpMethodInfo
- stringAsciiUp :: (HasCallStack, MonadIO m) => String -> m String
- data StringAssignMethodInfo
- stringAssign :: (HasCallStack, MonadIO m) => String -> Text -> m String
- data StringDownMethodInfo
- stringDown :: (HasCallStack, MonadIO m) => String -> m String
- data StringEqualMethodInfo
- stringEqual :: (HasCallStack, MonadIO m) => String -> String -> m Bool
- data StringEraseMethodInfo
- stringErase :: (HasCallStack, MonadIO m) => String -> Int64 -> Int64 -> m String
- data StringFreeMethodInfo
- stringFree :: (HasCallStack, MonadIO m) => String -> Bool -> m (Maybe Text)
- data StringFreeToBytesMethodInfo
- stringFreeToBytes :: (HasCallStack, MonadIO m) => String -> m Bytes
- data StringHashMethodInfo
- stringHash :: (HasCallStack, MonadIO m) => String -> m Word32
- data StringInsertMethodInfo
- stringInsert :: (HasCallStack, MonadIO m) => String -> Int64 -> Text -> m String
- data StringInsertCMethodInfo
- stringInsertC :: (HasCallStack, MonadIO m) => String -> Int64 -> Int8 -> m String
- data StringInsertLenMethodInfo
- stringInsertLen :: (HasCallStack, MonadIO m) => String -> Int64 -> Text -> Int64 -> m String
- data StringInsertUnicharMethodInfo
- stringInsertUnichar :: (HasCallStack, MonadIO m) => String -> Int64 -> Char -> m String
- data StringOverwriteMethodInfo
- stringOverwrite :: (HasCallStack, MonadIO m) => String -> Word64 -> Text -> m String
- data StringOverwriteLenMethodInfo
- stringOverwriteLen :: (HasCallStack, MonadIO m) => String -> Word64 -> Text -> Int64 -> m String
- data StringPrependMethodInfo
- stringPrepend :: (HasCallStack, MonadIO m) => String -> Text -> m String
- data StringPrependCMethodInfo
- stringPrependC :: (HasCallStack, MonadIO m) => String -> Int8 -> m String
- data StringPrependLenMethodInfo
- stringPrependLen :: (HasCallStack, MonadIO m) => String -> Text -> Int64 -> m String
- data StringPrependUnicharMethodInfo
- stringPrependUnichar :: (HasCallStack, MonadIO m) => String -> Char -> m String
- data StringSetSizeMethodInfo
- stringSetSize :: (HasCallStack, MonadIO m) => String -> Word64 -> m String
- data StringTruncateMethodInfo
- stringTruncate :: (HasCallStack, MonadIO m) => String -> Word64 -> m String
- data StringUpMethodInfo
- stringUp :: (HasCallStack, MonadIO m) => String -> m String
- getStringAllocatedLen :: MonadIO m => String -> m Word64
- setStringAllocatedLen :: MonadIO m => String -> Word64 -> m ()
- string_allocatedLen :: AttrLabelProxy "allocatedLen"
- getStringLen :: MonadIO m => String -> m Word64
- setStringLen :: MonadIO m => String -> Word64 -> m ()
- string_len :: AttrLabelProxy "len"
- clearStringStr :: MonadIO m => String -> m ()
- getStringStr :: MonadIO m => String -> m (Maybe Text)
- setStringStr :: MonadIO m => String -> CString -> m ()
- string_str :: AttrLabelProxy "str"
Exported types
Methods
append
data StringAppendMethodInfo Source #
((~) * signature (Text -> m String), MonadIO m) => MethodInfo * StringAppendMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Text |
|
-> m String | Returns: |
Adds a string onto the end of a String
, expanding
it if necessary.
appendC
data StringAppendCMethodInfo Source #
((~) * signature (Int8 -> m String), MonadIO m) => MethodInfo * StringAppendCMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int8 |
|
-> m String | Returns: |
Adds a byte onto the end of a String
, expanding
it if necessary.
appendLen
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Text |
|
-> Int64 |
|
-> m String | Returns: |
Appends len
bytes of val
to string
. Because len
is
provided, val
may contain embedded nuls and need not
be nul-terminated.
Since this function does not stop at nul bytes, it is
the caller's responsibility to ensure that val
has at
least len
addressable bytes.
appendUnichar
data StringAppendUnicharMethodInfo Source #
((~) * signature (Char -> m String), MonadIO m) => MethodInfo * StringAppendUnicharMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Char |
|
-> m String | Returns: |
Converts a Unicode character into UTF-8, and appends it to the string.
appendUriEscaped
stringAppendUriEscaped Source #
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Text |
|
-> Text |
|
-> Bool |
|
-> m String | Returns: |
Appends unescaped
to string
, escaped any characters that
are reserved in URIs using URI-style escape sequences.
Since: 2.16
asciiDown
data StringAsciiDownMethodInfo Source #
((~) * signature (m String), MonadIO m) => MethodInfo * StringAsciiDownMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m String | Returns: passed-in |
Converts all uppercase ASCII letters to lowercase ASCII letters.
asciiUp
data StringAsciiUpMethodInfo Source #
((~) * signature (m String), MonadIO m) => MethodInfo * StringAsciiUpMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m String | Returns: passed-in |
Converts all lowercase ASCII letters to uppercase ASCII letters.
assign
data StringAssignMethodInfo Source #
((~) * signature (Text -> m String), MonadIO m) => MethodInfo * StringAssignMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Text |
|
-> m String | Returns: |
Copies the bytes from a string into a String
,
destroying any previous contents. It is rather like
the standard strcpy()
function, except that you do not
have to worry about having enough space to copy the string.
down
data StringDownMethodInfo Source #
((~) * signature (m String), MonadIO m) => MethodInfo * StringDownMethodInfo String signature Source # | |
Deprecated: (Since version 2.2)This function uses the locale-specific tolower()
function, which is almost never the right thing. Use stringAsciiDown
or utf8Strdown
instead.
Converts a String
to lowercase.
equal
data StringEqualMethodInfo Source #
((~) * signature (String -> m Bool), MonadIO m) => MethodInfo * StringEqualMethodInfo String signature Source # | |
erase
data StringEraseMethodInfo Source #
free
data StringFreeMethodInfo Source #
freeToBytes
data StringFreeToBytesMethodInfo Source #
((~) * signature (m Bytes), MonadIO m) => MethodInfo * StringFreeToBytesMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m Bytes | Returns: A newly allocated |
Transfers ownership of the contents of string
to a newly allocated
Bytes
. The String
structure itself is deallocated, and it is
therefore invalid to use string
after invoking this function.
Note that while String
ensures that its buffer always has a
trailing nul character (not reflected in its "len"), the returned
Bytes
does not include this extra nul; i.e. it has length exactly
equal to the "len" member.
Since: 2.34
hash
data StringHashMethodInfo Source #
((~) * signature (m Word32), MonadIO m) => MethodInfo * StringHashMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m Word32 | Returns: hash code for |
Creates a hash code for str
; for use with HashTable
.
insert
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int64 |
|
-> Text |
|
-> m String | Returns: |
Inserts a copy of a string into a String
,
expanding it if necessary.
insertC
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int64 |
|
-> Int8 |
|
-> m String | Returns: |
Inserts a byte into a String
, expanding it if necessary.
insertLen
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int64 |
|
-> Text |
|
-> Int64 |
|
-> m String | Returns: |
Inserts len
bytes of val
into string
at pos
.
Because len
is provided, val
may contain embedded
nuls and need not be nul-terminated. If pos
is -1,
bytes are inserted at the end of the string.
Since this function does not stop at nul bytes, it is
the caller's responsibility to ensure that val
has at
least len
addressable bytes.
insertUnichar
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int64 |
|
-> Char |
|
-> m String | Returns: |
Converts a Unicode character into UTF-8, and insert it into the string at the given position.
overwrite
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Word64 |
|
-> Text |
|
-> m String | Returns: |
Overwrites part of a string, lengthening it if necessary.
Since: 2.14
overwriteLen
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Word64 |
|
-> Text |
|
-> Int64 |
|
-> m String | Returns: |
Overwrites part of a string, lengthening it if necessary. This function will work with embedded nuls.
Since: 2.14
prepend
data StringPrependMethodInfo Source #
((~) * signature (Text -> m String), MonadIO m) => MethodInfo * StringPrependMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Text |
|
-> m String | Returns: |
Adds a string on to the start of a String
,
expanding it if necessary.
prependC
data StringPrependCMethodInfo Source #
((~) * signature (Int8 -> m String), MonadIO m) => MethodInfo * StringPrependCMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int8 |
|
-> m String | Returns: |
Adds a byte onto the start of a String
,
expanding it if necessary.
prependLen
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Text |
|
-> Int64 |
|
-> m String | Returns: |
Prepends len
bytes of val
to string
.
Because len
is provided, val
may contain
embedded nuls and need not be nul-terminated.
Since this function does not stop at nul bytes,
it is the caller's responsibility to ensure that
val
has at least len
addressable bytes.
prependUnichar
data StringPrependUnicharMethodInfo Source #
((~) * signature (Char -> m String), MonadIO m) => MethodInfo * StringPrependUnicharMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Char |
|
-> m String | Returns: |
Converts a Unicode character into UTF-8, and prepends it to the string.
setSize
data StringSetSizeMethodInfo Source #
((~) * signature (Word64 -> m String), MonadIO m) => MethodInfo * StringSetSizeMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Word64 |
|
-> m String | Returns: |
Sets the length of a String
. If the length is less than
the current length, the string will be truncated. If the
length is greater than the current length, the contents
of the newly added area are undefined. (However, as
always, string->str[string->len] will be a nul byte.)
truncate
data StringTruncateMethodInfo Source #
((~) * signature (Word64 -> m String), MonadIO m) => MethodInfo * StringTruncateMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Word64 |
|
-> m String | Returns: |
Cuts off the end of the GString, leaving the first len
bytes.
up
data StringUpMethodInfo Source #
((~) * signature (m String), MonadIO m) => MethodInfo * StringUpMethodInfo String signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m String | Returns: |
Deprecated: (Since version 2.2)This function uses the locale-specific toupper()
function, which is almost never the right thing. Use stringAsciiUp
or utf8Strup
instead.
Converts a String
to uppercase.
Properties
allocatedLen
string_allocatedLen :: AttrLabelProxy "allocatedLen" Source #
len
string_len :: AttrLabelProxy "len" Source #
str
clearStringStr :: MonadIO m => String -> m () Source #
string_str :: AttrLabelProxy "str" Source #