std::ascii::AsciiExt - Rust
Description: API documentation for the Rust `AsciiExt` trait in crate `std`.
Keywords: rust, rustlang, rust-lang, AsciiExt

# 1.0.0[−][src]Trait std::ascii::AsciiExt

    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);
    }

Deprecated since 1.26.0:

use inherent methods instead

Extension methods for ASCII-subset only operations.

Be aware that operations on seemingly non-ASCII characters can sometimes have unexpected results. Consider this example:

    use std::ascii::AsciiExt;

    assert_eq!(AsciiExt::to_ascii_uppercase("café"), "CAFÉ");
    assert_eq!(AsciiExt::to_ascii_uppercase("café"), "CAFé");Run

In the first example, the lowercased string is represented `"cafe\u{301}"` (the last character is an acute accent combining character). Unlike the other characters in the string, the combining character will not get mapped to an uppercase variant, resulting in `"CAFE\u{301}"`. In the second example, the lowercased string is represented `"caf\u{e9}"` (the last character is a single Unicode character representing an 'e' with an acute accent). Since the last character is defined outside the scope of ASCII, it will not get mapped to an uppercase variant, resulting in `"CAF\u{e9}"`.

## Associated Types

### `type Owned`

Deprecated since 1.26.0:

use inherent methods instead

Container type for copied ASCII characters.

Loading content...

## Required methods

### `fn is_ascii(&self) -> bool`

Deprecated since 1.26.0:

use inherent methods instead

Checks if the value is within the ASCII range.

# Note

This method will be deprecated in favor of the identically-named inherent methods on `u8`, `char`, `[u8]` and `str`.

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

Deprecated since 1.26.0:

use inherent methods instead

Makes a copy of the value in its ASCII upper case equivalent.

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

To uppercase the value in-place, use `make_ascii_uppercase`.

To uppercase ASCII characters in addition to non-ASCII characters, use `str::to_uppercase`.

# Note

This method will be deprecated in favor of the identically-named inherent methods on `u8`, `char`, `[u8]` and `str`.

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

Deprecated since 1.26.0:

use inherent methods instead

Makes a copy of the value in its ASCII lower case equivalent.

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

To lowercase the value in-place, use `make_ascii_lowercase`.

To lowercase ASCII characters in addition to non-ASCII characters, use `str::to_lowercase`.

# Note

This method will be deprecated in favor of the identically-named inherent methods on `u8`, `char`, `[u8]` and `str`.

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

Deprecated since 1.26.0:

use inherent methods instead

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

Same as `to_ascii_lowercase(a) == to_ascii_lowercase(b)`, but without allocating and copying temporaries.

# Note

This method will be deprecated in favor of the identically-named inherent methods on `u8`, `char`, `[u8]` and `str`.

### `fn make_ascii_uppercase(&mut self)`
1.9.0

Deprecated since 1.26.0:

use inherent methods instead

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

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

To return a new uppercased value without modifying the existing one, use `to_ascii_uppercase`.

# Note

This method will be deprecated in favor of the identically-named inherent methods on `u8`, `char`, `[u8]` and `str`.

### `fn make_ascii_lowercase(&mut self)`
1.9.0

Deprecated since 1.26.0:

use inherent methods instead

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

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

To return a new lowercased value without modifying the existing one, use `to_ascii_lowercase`.

# Note

This method will be deprecated in favor of the identically-named inherent methods on `u8`, `char`, `[u8]` and `str`.

Loading content...

## Implementors

### `impl AsciiExt for char`[src]

#### `type Owned = char`

Deprecated since 1.26.0:

use inherent methods instead

#### `fn is_ascii(&self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_uppercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_lowercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn eq_ignore_ascii_case(&self, o: &Self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_uppercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_lowercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

### `impl AsciiExt for [u8]`[src]

#### `type Owned = Vec<u8>`

Deprecated since 1.26.0:

use inherent methods instead

#### `fn is_ascii(&self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_uppercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_lowercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn eq_ignore_ascii_case(&self, o: &Self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_uppercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_lowercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

### `impl AsciiExt for str`[src]

#### `type Owned = String`

Deprecated since 1.26.0:

use inherent methods instead

#### `fn is_ascii(&self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_uppercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_lowercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn eq_ignore_ascii_case(&self, o: &Self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_uppercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_lowercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

### `impl AsciiExt for u8`[src]

#### `type Owned = u8`

Deprecated since 1.26.0:

use inherent methods instead

#### `fn is_ascii(&self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_uppercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn to_ascii_lowercase(&self) -> Self::Owned`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn eq_ignore_ascii_case(&self, o: &Self) -> bool`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_uppercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

#### `fn make_ascii_lowercase(&mut self)`[src]

Deprecated since 1.26.0:

use inherent methods instead

Loading content...

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)