Snap! Websites
An Open Source CMS System in C++
#include <stream.h>
This function reads data in UTF-16 Big Endian. The function may return Input::INPUT_NAC if called without enough data forming a unicode character or when only the lead surrogate is read.
The function returns Input::INPUT_ERR if the function finds a lead without a trail surrogate, or a trail without a lead.
Implements as2js::DecodingFilter.
Definition at line 299 of file stream.cpp.
References as2js::DecodingFilter::f_buffer, as2js::Input::INPUT_ERR, and as2js::Input::INPUT_NAC.
This function retrieves the next input character.
If there is data, but not enough of it, it returns Input::INPUT_NAC. Processing can safely continue.
If possible, the function avoids returning with the Input::INPUT_NAC result (i.e. if a filter returns that value when there is still data available in the buffer, their get_char() function gets called again.)
If there is data, but it cannot properly be converted to a valid character, it returns Input::INPUT_ERR.
If there is no data, then Input::INPUT_EOF is returned.
Definition at line 96 of file stream.cpp.
References as2js::DecodingFilter::f_buffer, as2js::DecodingFilter::get_char(), and as2js::Input::INPUT_EOF.
This function is called with a 2 byte value which either represents a Unicode character as is, or a UTF-16 surrogate. When a surrogate is detected, it is transformed in a full Unicode character by this function. The function needs to be called twice to decode one full Unicode character described using a surrogate.
If an invalid surrogate sequence is found, then the function returns Input::INPUT_ERR.
When the lead surrogate is found, the function returns Input::INPUT_NAC meaning that more data is necessary and the function needs to be called again to proceed.
Definition at line 225 of file stream.cpp.
References as2js::DecodingFilter::f_buffer, as2js::Input::INPUT_ERR, and as2js::Input::INPUT_NAC.
This function pushes exactly one byte in the decoder.
In most cases decoders expects their getc() function to be called right after each putc(), although it is not mandatory.
Definition at line 71 of file stream.cpp.
References as2js::DecodingFilter::f_buffer.
Definition at line 63 of file stream.h.
Referenced by as2js::DecodingFilterISO88591::get_char(), as2js::DecodingFilterUTF8::get_char(), as2js::DecodingFilterUTF16LE::get_char(), get_char(), as2js::DecodingFilterUTF32LE::get_char(), as2js::DecodingFilterUTF32BE::get_char(), as2js::DecodingFilterDetect::get_char(), as2js::DecodingFilter::getc(), as2js::DecodingFilterUTF16::next_char(), and as2js::DecodingFilter::putc().
This document is part of the Snap! Websites Project.
Copyright by Made to Order Software Corp.
Snap! Websites
An Open Source CMS System in C++