Difference between revisions of "cpp/string/multibyte/mbstate t"
(+mention shift state) |
m (Text replace - "{{cpp|" to "{{c|") |
||
Line 9: | Line 9: | ||
Possible implementation of {{tt|mbstate_t}} is a struct type holding an array representing the incomplete multibyte character, an integer counter indicating the number of bytes in the array that have been processed, and a representation of the current shift state. | Possible implementation of {{tt|mbstate_t}} is a struct type holding an array representing the incomplete multibyte character, an integer counter indicating the number of bytes in the array that have been processed, and a representation of the current shift state. | ||
− | The following functions should not be called from multiple threads without synchronization with the {{ | + | The following functions should not be called from multiple threads without synchronization with the {{c|std::mbstate_t*}} argument of {{tt|NULL}} due to possible data races: {{c|std::mbrlen}}, {{c|std::mbrtowc}}, {{c|std::mbsrtowc}}, {{c|std::mbtowc}}, {{c|std::wcrtomb}}, {{c|std::wcsrtomb}}, {{c|std::wctomb}}. |
===See also=== | ===See also=== |
Revision as of 21:02, 19 April 2012
Template:cpp/string/multibyte/sidebar
Defined in header <cwchar>
|
||
struct mbstate_t; |
||
The type mbstate_t is a trivial non-array type that can represent any of the conversion states that can occur in an implementation-defined set of supported multibyte character encoding rules. Zero-initialized value of mbstate_t
represents the initial conversion state, although other values of mbstate_t
may exist that also represent the initial conversion state.
Possible implementation of mbstate_t
is a struct type holding an array representing the incomplete multibyte character, an integer counter indicating the number of bytes in the array that have been processed, and a representation of the current shift state.
The following functions should not be called from multiple threads without synchronization with the std::mbstate_t* argument of NULL
due to possible data races: std::mbrlen, std::mbrtowc, std::mbsrtowc, std::mbtowc, std::wcrtomb, std::wcsrtomb, std::wctomb.