Trait std::ascii::AsciiExt [] [src]

pub trait AsciiExt {
    type Owned;
    fn is_ascii(&self) -> bool;
    fn to_ascii_uppercase(&self) -> Self::Owned;
    fn to_ascii_lowercase(&self) -> Self::Owned;
    fn eq_ignore_ascii_case(&self, other: &Self) -> bool;
    fn make_ascii_uppercase(&mut self);
    fn make_ascii_lowercase(&mut self);
}

Extension methods for ASCII-subset only operations on string slices.

Associated Types

type Owned

Container type for copied ASCII characters.

Required Methods

fn is_ascii(&self) -> bool

Checks if within the ASCII range.

Examples

fn main() { use std::ascii::AsciiExt; let ascii = 'a'; let utf8 = '❤'; assert_eq!(true, ascii.is_ascii()); assert_eq!(false, utf8.is_ascii()) }
use std::ascii::AsciiExt;

let ascii = 'a';
let utf8 = '❤';

assert_eq!(true, ascii.is_ascii());
assert_eq!(false, utf8.is_ascii())

fn to_ascii_uppercase(&self) -> Self::Owned

Makes a copy of the string in ASCII upper case.

ASCII letters 'a' to 'z' are mapped to 'A' to 'Z', but non-ASCII letters are unchanged.

Examples

fn main() { use std::ascii::AsciiExt; let ascii = 'a'; let utf8 = '❤'; assert_eq!('A', ascii.to_ascii_uppercase()); assert_eq!('❤', utf8.to_ascii_uppercase()); }
use std::ascii::AsciiExt;

let ascii = 'a';
let utf8 = '❤';

assert_eq!('A', ascii.to_ascii_uppercase());
assert_eq!('❤', utf8.to_ascii_uppercase());

fn to_ascii_lowercase(&self) -> Self::Owned

Makes a copy of the string in ASCII lower case.

ASCII letters 'A' to 'Z' are mapped to 'a' to 'z', but non-ASCII letters are unchanged.

Examples

fn main() { use std::ascii::AsciiExt; let ascii = 'A'; let utf8 = '❤'; assert_eq!('a', ascii.to_ascii_lowercase()); assert_eq!('❤', utf8.to_ascii_lowercase()); }
use std::ascii::AsciiExt;

let ascii = 'A';
let utf8 = '❤';

assert_eq!('a', ascii.to_ascii_lowercase());
assert_eq!('❤', utf8.to_ascii_lowercase());

fn eq_ignore_ascii_case(&self, other: &Self) -> bool

Checks that two strings are an ASCII case-insensitive match.

Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporary strings.

Examples

fn main() { use std::ascii::AsciiExt; let ascii1 = 'A'; let ascii2 = 'a'; let ascii3 = 'A'; let ascii4 = 'z'; assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii2)); assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii3)); assert_eq!(false, ascii1.eq_ignore_ascii_case(&ascii4)); }
use std::ascii::AsciiExt;

let ascii1 = 'A';
let ascii2 = 'a';
let ascii3 = 'A';
let ascii4 = 'z';

assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii2));
assert_eq!(true, ascii1.eq_ignore_ascii_case(&ascii3));
assert_eq!(false, ascii1.eq_ignore_ascii_case(&ascii4));

fn make_ascii_uppercase(&mut self)

Unstable (ascii #27809)

Converts this type to its ASCII upper case equivalent in-place.

See to_ascii_uppercase for more information.

Examples

#![feature(ascii)] fn main() { use std::ascii::AsciiExt; let mut ascii = 'a'; ascii.make_ascii_uppercase(); assert_eq!('A', ascii); }
#![feature(ascii)]

use std::ascii::AsciiExt;

let mut ascii = 'a';

ascii.make_ascii_uppercase();

assert_eq!('A', ascii);

fn make_ascii_lowercase(&mut self)

Unstable (ascii #27809)

Converts this type to its ASCII lower case equivalent in-place.

See to_ascii_lowercase for more information.

Examples

#![feature(ascii)] fn main() { use std::ascii::AsciiExt; let mut ascii = 'A'; ascii.make_ascii_lowercase(); assert_eq!('a', ascii); }
#![feature(ascii)]

use std::ascii::AsciiExt;

let mut ascii = 'A';

ascii.make_ascii_lowercase();

assert_eq!('a', ascii);

Implementors