MeVisLab Toolbox Reference
Reentrant Classes

Classes

class  ml::SubImage
class  ml::TSubImageBox< intT >
class  ml::TSubImage< DATATYPE >
class  ml::RuntimeDict
class  ml::RuntimeType

File access functions working with valid UTF-8 Unicode file names

ML_UTILS_EXPORT FILE * MLfopen (const char *fileName, const char *mode)

Unicode string conversion

Defines mapping functions from local strings to unicode and vice-versa.

ML_UTILS_EXPORT MLuint16MLConvertUTF8ToUTF16 (const char *inputString)
ML_UTILS_EXPORT MLuint32MLConvertUTF8ToUTF32 (const char *inputString)
ML_UTILS_EXPORT char * MLConvertUTF16ToUTF8 (const MLuint16 *inputWideString)
ML_UTILS_EXPORT char * MLConvertUTF8ToLatin1 (const char *inputUTFString)
ML_UTILS_EXPORT char * MLConvertUTF16ToLatin1 (const MLuint16 *inputUTF16WideString)
ML_UTILS_EXPORT char * MLConvertLatin1ToUTF8 (const char *inputLatin1String)
ML_UTILS_EXPORT MLuint16MLConvertLatin1ToUTF16 (const char *inputLatin1String)

Detailed Description

The following classes in the ML are known to be reentrant. This means that different instances of a reentrant class can be used different threads, but two different threads may not access the same instance at the same time (this way, manual synchronization is needed if two threads want to access the same instance).

Note: This list is not yet complete, but it will grow over time.

Function Documentation

◆ MLConvertLatin1ToUTF16()

ML_UTILS_EXPORT MLuint16 * MLConvertLatin1ToUTF16 ( const char * inputLatin1String)
nodiscard

Convert the given Latin1 encoded and NULL-terminated string inputLatin1String to a UTF-16 string, the returned string must be freed with MLFree(). Returns NULL on error.

References ML_UTILS_EXPORT.

◆ MLConvertLatin1ToUTF8()

ML_UTILS_EXPORT char * MLConvertLatin1ToUTF8 ( const char * inputLatin1String)
nodiscard

Converts the given Latin1 encoded and NULL-terminated string inputLatin1String into a UTF-8 string, the returned string must be freed with MLFree(). Returns NULL on error.

References ML_UTILS_EXPORT.

◆ MLConvertUTF16ToLatin1()

ML_UTILS_EXPORT char * MLConvertUTF16ToLatin1 ( const MLuint16 * inputUTF16WideString)
nodiscard

Converts the given UTF-16 encoded wide and NULL-terminated string inputUTF16WideString to a Latin1 string, converting all non Latin1 chars to '?', the returned string must be freed with MLFree(). Returns NULL on error.

References ML_UTILS_EXPORT.

◆ MLConvertUTF16ToUTF8()

ML_UTILS_EXPORT char * MLConvertUTF16ToUTF8 ( const MLuint16 * inputWideString)
nodiscard

Converts the given wide string inputWideString (UTF-16, terminated by 0) to UTF-8, returns a newly allocated wide string that must be freed with MLFree(). Returns NULL on error.

References ML_UTILS_EXPORT.

◆ MLConvertUTF8ToLatin1()

ML_UTILS_EXPORT char * MLConvertUTF8ToLatin1 ( const char * inputUTFString)
nodiscard

Converts the given UTF-8 encoded and NULL-terminated string inputUTFString to a Latin1 string, converting all non Latin1 chars to '?', the returned string must be freed with MLFree(). Returns NULL on error.

References ML_UTILS_EXPORT.

◆ MLConvertUTF8ToUTF16()

ML_UTILS_EXPORT MLuint16 * MLConvertUTF8ToUTF16 ( const char * inputString)
nodiscard

Thread-safety: These functions are reentrant.

Converts the given char string inputString (UTF-8, terminated by 0) to UTF-16, returns a newly allocated string that must be freed with MLFree(). Returns NULL on error.

References ML_UTILS_EXPORT.

◆ MLConvertUTF8ToUTF32()

ML_UTILS_EXPORT MLuint32 * MLConvertUTF8ToUTF32 ( const char * inputString)
nodiscard

Converts the given char string inputString (UTF-8, terminated by 0) to UTF-32, returns a newly allocated string that must be freed with MLFree(). Returns NULL on error.

References ML_UTILS_EXPORT.

◆ MLfopen()

ML_UTILS_EXPORT FILE * MLfopen ( const char * fileName,
const char * mode )
nodiscard

Thread-safety: These functions are reentrant.

Opens the file with name fileName with the access permissions given by mode, and returns a FILE pointer or NULL on failure. This method is equivalent to the stdio fopen implementation, see the fopen documentation for available mode flags ("r","w","a",...). In contrast to the original fopen method, this method accepts an UTF-8 encoded string and uses the unicode WIN32 API on Windows. On Unix systems, this method maps to fopen directly. If NULL is returned, then errno describes the error.

References ML_UTILS_EXPORT.