Spec-Zone.ru › Haskell 7

GHC.Foreign

Авторские права (c) Университет Глазго, 2008-2011
Лицензия см. libraries/base/LICENSE
Поддержка libraries@haskell.org
Стабильность внутренняя
Переносимость непереносимая
Безопасный Haskell Надежный
Язык Haskell2010

Содержание

  • Строки C с настраиваемой кодировкой

Описание

Поддержка внешней маршализации для CString со настраиваемыми кодировками

Строки C с настраиваемой кодировкой

peekCString :: TextEncoding -> CString -> IO String Исходный код

Маршализация строки C с нулевым завершением в строку Haskell.

peekCStringLen :: TextEncoding -> CStringLen -> IO String Исходный код

Маршализация строки C со явным указанием длины в строку Haskell.

newCString :: TextEncoding -> String -> IO CString Исходный код

Маршализация строки Haskell в строку C с нулевым завершением.

  • строка Haskell не должна содержать символы NULL
  • новая память выделяется для строки C и должна быть явно освобождена с помощью free или finalizerFree.

newCStringLen :: TextEncoding -> String -> IO CStringLen Исходный код

Маршализация строки Haskell в строку C (т.е., массив символов) с явным указанием длины.

  • новая память выделяется для строки C и должна быть явно освобождена с помощью free или finalizerFree.

withCString :: TextEncoding -> String -> (CString -> IO a) -> IO a Исходный код

Маршализация строки Haskell в строку C с нулевым завершением, используя временное хранилище.

  • строка Haskell не должна содержать символы NULL
  • память освобождается при завершении подвычисления (как нормальным завершением, так и исключением), поэтому указатель на временное хранилище не должен использоваться после этого.

withCStringLen :: TextEncoding -> String -> (CStringLen -> IO a) -> IO a Исходный код

Маршализация строки Haskell в строку C (т.е., массив символов) во временном хранилище, с явным указанием длины.

  • память освобождается при завершении подвычисления (как нормальным завершением, так и исключением), поэтому указатель на временное хранилище не должен использоваться после этого.

charIsRepresentable :: TextEncoding -> Char -> IO Bool Исходный код

Определяет, может ли символ быть точно закодирован в CString.

Практически любой, кто использует эту функцию, находится в состоянии греха, потому что вопрос о том, может ли символ быть закодирован, вообще зависит от контекста, в котором он встречается.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/GHC-Foreign.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API