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 |
GI.GLib.Structs.String
Contents
Description
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
Constructors
String (ManagedPtr String) |
Instances
newZeroString :: MonadIO m => m String #
Construct a String
struct initialized to zero.
Methods
append
data StringAppendMethodInfo #
Instances
((~) * signature (Text -> m String), MonadIO m) => MethodInfo * StringAppendMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Text |
|
-> m String | Returns: |
Adds a string onto the end of a String
, expanding
it if necessary.
appendC
data StringAppendCMethodInfo #
Instances
((~) * signature (Int8 -> m String), MonadIO m) => MethodInfo * StringAppendCMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int8 |
|
-> m String | Returns: |
Adds a byte onto the end of a String
, expanding
it if necessary.
appendLen
data StringAppendLenMethodInfo #
Instances
((~) * signature (Text -> Int64 -> m String), MonadIO m) => MethodInfo * StringAppendLenMethodInfo String signature # | |
Arguments
:: (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 #
Instances
((~) * signature (Char -> m String), MonadIO m) => MethodInfo * StringAppendUnicharMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Char |
|
-> m String | Returns: |
Converts a Unicode character into UTF-8, and appends it to the string.
appendUriEscaped
Arguments
:: (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 #
Instances
((~) * signature (m String), MonadIO m) => MethodInfo * StringAsciiDownMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m String | Returns: passed-in |
Converts all uppercase ASCII letters to lowercase ASCII letters.
asciiUp
data StringAsciiUpMethodInfo #
Instances
((~) * signature (m String), MonadIO m) => MethodInfo * StringAsciiUpMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m String | Returns: passed-in |
Converts all lowercase ASCII letters to uppercase ASCII letters.
assign
data StringAssignMethodInfo #
Instances
((~) * signature (Text -> m String), MonadIO m) => MethodInfo * StringAssignMethodInfo String signature # | |
Arguments
:: (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 #
Instances
((~) * signature (m String), MonadIO m) => MethodInfo * StringDownMethodInfo String signature # | |
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 #
Instances
((~) * signature (String -> m Bool), MonadIO m) => MethodInfo * StringEqualMethodInfo String signature # | |
erase
data StringEraseMethodInfo #
Instances
((~) * signature (Int64 -> Int64 -> m String), MonadIO m) => MethodInfo * StringEraseMethodInfo String signature # | |
free
data StringFreeMethodInfo #
Instances
((~) * signature (Bool -> m (Maybe Text)), MonadIO m) => MethodInfo * StringFreeMethodInfo String signature # | |
freeToBytes
data StringFreeToBytesMethodInfo #
Instances
((~) * signature (m Bytes), MonadIO m) => MethodInfo * StringFreeToBytesMethodInfo String signature # | |
Arguments
:: (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 #
Instances
((~) * signature (m Word32), MonadIO m) => MethodInfo * StringHashMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> m Word32 | Returns: hash code for |
Creates a hash code for str
; for use with HashTable
.
insert
data StringInsertMethodInfo #
Instances
((~) * signature (Int64 -> Text -> m String), MonadIO m) => MethodInfo * StringInsertMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int64 |
|
-> Text |
|
-> m String | Returns: |
Inserts a copy of a string into a String
,
expanding it if necessary.
insertC
data StringInsertCMethodInfo #
Instances
((~) * signature (Int64 -> Int8 -> m String), MonadIO m) => MethodInfo * StringInsertCMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int64 |
|
-> Int8 |
|
-> m String | Returns: |
Inserts a byte into a String
, expanding it if necessary.
insertLen
Arguments
:: (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
data StringInsertUnicharMethodInfo #
Instances
((~) * signature (Int64 -> Char -> m String), MonadIO m) => MethodInfo * StringInsertUnicharMethodInfo String signature # | |
Arguments
:: (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
data StringOverwriteMethodInfo #
Instances
((~) * signature (Word64 -> Text -> m String), MonadIO m) => MethodInfo * StringOverwriteMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Word64 |
|
-> Text |
|
-> m String | Returns: |
Overwrites part of a string, lengthening it if necessary.
Since: 2.14
overwriteLen
Arguments
:: (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 #
Instances
((~) * signature (Text -> m String), MonadIO m) => MethodInfo * StringPrependMethodInfo String signature # | |
Arguments
:: (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 #
Instances
((~) * signature (Int8 -> m String), MonadIO m) => MethodInfo * StringPrependCMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Int8 |
|
-> m String | Returns: |
Adds a byte onto the start of a String
,
expanding it if necessary.
prependLen
data StringPrependLenMethodInfo #
Instances
((~) * signature (Text -> Int64 -> m String), MonadIO m) => MethodInfo * StringPrependLenMethodInfo String signature # | |
Arguments
:: (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 #
Instances
((~) * signature (Char -> m String), MonadIO m) => MethodInfo * StringPrependUnicharMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Char |
|
-> m String | Returns: |
Converts a Unicode character into UTF-8, and prepends it to the string.
setSize
data StringSetSizeMethodInfo #
Instances
((~) * signature (Word64 -> m String), MonadIO m) => MethodInfo * StringSetSizeMethodInfo String signature # | |
Arguments
:: (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 #
Instances
((~) * signature (Word64 -> m String), MonadIO m) => MethodInfo * StringTruncateMethodInfo String signature # | |
Arguments
:: (HasCallStack, MonadIO m) | |
=> String |
|
-> Word64 |
|
-> m String | Returns: |
Cuts off the end of the GString, leaving the first len
bytes.
up
data StringUpMethodInfo #
Instances
((~) * signature (m String), MonadIO m) => MethodInfo * StringUpMethodInfo String signature # | |
Arguments
:: (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
getStringAllocatedLen :: MonadIO m => String -> m Word64 #
setStringAllocatedLen :: MonadIO m => String -> Word64 -> m () #
string_allocatedLen :: AttrLabelProxy "allocatedLen" #
len
getStringLen :: MonadIO m => String -> m Word64 #
setStringLen :: MonadIO m => String -> Word64 -> m () #
string_len :: AttrLabelProxy "len" #
str
clearStringStr :: MonadIO m => String -> m () #
setStringStr :: MonadIO m => String -> CString -> m () #
string_str :: AttrLabelProxy "str" #