#[repr(C)]pub struct pm_encoding_t {
pub char_width: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> usize>,
pub alpha_char: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> usize>,
pub alnum_char: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> usize>,
pub isupper_char: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> bool>,
pub name: *const c_char,
pub multibyte: bool,
}
Expand description
This struct defines the functions necessary to implement the encoding interface so we can determine how many bytes the subsequent character takes. Each callback should return the number of bytes, or 0 if the next bytes are invalid for the encoding and type.
Fields§
§char_width: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> usize>
Return the number of bytes that the next character takes if it is valid in the encoding. Does not read more than n bytes. It is assumed that n is at least 1.
alpha_char: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> usize>
Return the number of bytes that the next character takes if it is valid in the encoding and is alphabetical. Does not read more than n bytes. It is assumed that n is at least 1.
alnum_char: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> usize>
Return the number of bytes that the next character takes if it is valid in the encoding and is alphanumeric. Does not read more than n bytes. It is assumed that n is at least 1.
isupper_char: Option<unsafe extern "C" fn(b: *const u8, n: isize) -> bool>
Return true if the next character is valid in the encoding and is an uppercase character. Does not read more than n bytes. It is assumed that n is at least 1.
name: *const c_char
The name of the encoding. This should correspond to a value that can be passed to Encoding.find in Ruby.
multibyte: bool
Return true if the encoding is a multibyte encoding.
Trait Implementations§
Source§impl Clone for pm_encoding_t
impl Clone for pm_encoding_t
Source§fn clone(&self) -> pm_encoding_t
fn clone(&self) -> pm_encoding_t
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more