Структура EscapeDebug

#![allow(unused)]
fn main() {
pub struct EscapeDebug<'a> { /* приватные поля */ }
}

Тип, возвращаемый методом str::escape_debug.

Реализации трейтов

impl<'a> Clone for EscapeDebug<'a>

ФункцияСинтаксисПримерНазначение
clonefn clone(&self) -> EscapeDebug<'a> ⓘlet cloned = escape_debug.clone();Возвращает копию значения
clone_fromfn clone_from(&mut self, source: &Self)escape_debug.clone_from(&other);Выполняет копирующее присваивание из source

impl<'a> Debug for EscapeDebug<'a>

ФункцияСинтаксисПримерНазначение
fmtfn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>println!("{:?}", escape_debug);Форматирует значение с помощью заданного форматтера

impl<'a> Display for EscapeDebug<'a>

ФункцияСинтаксисПримерНазначение
fmtfn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>println!("{}", escape_debug);Форматирует значение с помощью заданного форматтера

impl<'a> Iterator for EscapeDebug<'a>

ФункцияСинтаксисПримерНазначение
type Itemtype Item = char-Тип элементов, по которым выполняется итерация
nextfn next(&mut self) -> Option<char>let next_char = escape_debug.next();Перемещает итератор и возвращает следующее значение
size_hintfn size_hint(&self) -> (usize, Option<usize>)let hint = escape_debug.size_hint();Возвращает границы оставшейся длины итератора
try_foldfn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R`let sum = escape_debug.try_fold(0,acc, c
foldfn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc`let sum = escape_debug.fold(0,acc, c
next_chunkfn next_chunk<const N: usize>(&mut self) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>let chunk = escape_debug.next_chunk::<3>()?;🔬 Возвращает массив, содержащий следующие N значений
countfn count(self) -> usizelet total = escape_debug.count();Подсчитывает количество итераций и возвращает его
lastfn last(self) -> Option<Self::Item>let last_char = escape_debug.last();Возвращает последний элемент итератора
advance_byfn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>escape_debug.advance_by(3)?;🔬 Перемещает итератор на n элементов
nthfn nth(&mut self, n: usize) -> Option<Self::Item>let third = escape_debug.nth(2);Возвращает n-й элемент итератора
step_byfn step_by(self, step: usize) -> StepBy<Self> ⓘlet stepped = escape_debug.step_by(2);Создает итератор с заданным шагом
chainfn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> ⓘlet combined = escape_debug.chain(other_chars);Объединяет два итератора в последовательный
zipfn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> ⓘlet zipped = escape_debug.zip(other_chars);"Объединяет" два итератора в итератор пар
interspersefn intersperse(self, separator: Self::Item) -> Intersperse<Self> ⓘlet with_spaces = escape_debug.intersperse(' ');🔬 Помещает копию separator между элементами
intersperse_withfn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> ⓘ`let with_sep = escape_debug.intersperse_with(
mapfn map<B, F>(self, f: F) -> Map<Self, F> ⓘ`let uppercased = escape_debug.map(c
for_eachfn for_each<F>(self, f: F)`escape_debug.for_each(c
filterfn filter<P>(self, predicate: P) -> Filter<Self, P> ⓘ`let filtered = escape_debug.filter(c
filter_mapfn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> ⓘ`let digits = escape_debug.filter_map(c
enumeratefn enumerate(self) -> Enumerate<Self> ⓘfor (i, c) in escape_debug.enumerate() { ... }Добавляет индекс к каждому элементу
peekablefn peekable(self) -> Peekable<Self> ⓘlet peekable = escape_debug.peekable();Создает итератор с возможностью просмотра следующего элемента
skip_whilefn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P> ⓘ`let skipped = escape_debug.skip_while(c
take_whilefn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> ⓘ`let taken = escape_debug.take_while(c
map_whilefn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> ⓘ`let mapped = escape_debug.map_while(c
skipfn skip(self, n: usize) -> Skip<Self> ⓘlet skipped = escape_debug.skip(3);Пропускает первые n элементов
takefn take(self, n: usize) -> Take<Self> ⓘlet taken = escape_debug.take(5);Берет первые n элементов
scanfn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> ⓘ`let scanned = escape_debug.scan(0,state, c
flat_mapfn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> ⓘ`let flattened = escape_debug.flat_map(c
flattenfn flatten(self) -> Flatten<Self> ⓘlet flattened = escape_debug.flatten();Сглаживает вложенную структуру
map_windowsfn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> ⓘ`let windows = escape_debug.map_windows::<_, _, 2>(arr
fusefn fuse(self) -> Fuse<Self> ⓘlet fused = escape_debug.fuse();Создает итератор, завершающийся после первого None
inspectfn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘ`let inspected = escape_debug.inspect(c
by_reffn by_ref(&mut self) -> &mut Selflet part = escape_debug.by_ref().take(5).collect::<String>();Создает адаптер "по ссылке" для итератора
collectfn collect<B>(self) -> Blet string: String = escape_debug.collect();Преобразует итератор в коллекцию
try_collectfn try_collect<B>(&mut self) -> <<Self::Item as Try>::Residual as Residual<B>>::TryTypelet result: Result<String, _> = escape_debug.try_collect();🔬 Преобразует итератор в коллекцию с обработкой ошибок
collect_intofn collect_into<E>(self, collection: &mut E) -> &mut Elet mut s = String::new(); escape_debug.collect_into(&mut s);🔬 Собирает все элементы в коллекцию
partitionfn partition<B, F>(self, f: F) -> (B, B)`let (letters, digits): (String, String) = escape_debug.partition(c
partition_in_placefn partition_in_place<'a, T, P>(self, predicate: P) -> usize`let count = escape_debug.partition_in_place(c
is_partitionedfn is_partitioned<P>(self, predicate: P) -> bool`let partitioned = escape_debug.is_partitioned(c
try_for_eachfn try_for_each<F, R>(&mut self, f: F) -> R`let result: Result<(), _> = escape_debug.try_for_each(c
reducefn reduce<F>(self, f: F) -> Option<Self::Item>`let max_char = escape_debug.reduce(a, b
try_reducefn try_reduce<R>(&mut self, f: impl FnMut(Self::Item, Self::Item) -> R) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType`let result: Result<Option, _> = escape_debug.try_reduce(a, b
allfn all<F>(&mut self, f: F) -> bool`let all_letters = escape_debug.all(c
anyfn any<F>(&mut self, f: F) -> bool`let has_digit = escape_debug.any(c
findfn find<P>(&mut self, predicate: P) -> Option<Self::Item>`let first_digit = escape_debug.find(c
find_mapfn find_map<B, F>(&mut self, f: F) -> Option<B>`let digit_value = escape_debug.find_map(c
try_findfn try_find<R>(&mut self, f: impl FnMut(&Self::Item) -> R) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType`let result: Result<Option, _> = escape_debug.try_find(c
positionfn position<P>(&mut self, predicate: P) -> Option<usize>`let pos = escape_debug.position(c
rpositionfn rposition<P>(&mut self, predicate: P) -> Option<usize>`let pos = escape_debug.rposition(c
maxfn max(self) -> Option<Self::Item>let max_char = escape_debug.max();Возвращает максимальный элемент
minfn min(self) -> Option<Self::Item>let min_char = escape_debug.min();Возвращает минимальный элемент
max_by_keyfn max_by_key<B, F>(self, f: F) -> Option<Self::Item>`let max = escape_debug.max_by_key(c
max_byfn max_by<F>(self, compare: F) -> Option<Self::Item>`let max = escape_debug.max_by(a, b
min_by_keyfn min_by_key<B, F>(self, f: F) -> Option<Self::Item>`let min = escape_debug.min_by_key(c
min_byfn min_by<F>(self, compare: F) -> Option<Self::Item>`let min = escape_debug.min_by(a, b
revfn rev(self) -> Rev<Self> ⓘlet reversed = escape_debug.rev();Изменяет направление итератора
unzipfn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)`let (chars, bytes): (Vec, Vec) = escape_debug.map(c
copiedfn copied<'a, T>(self) -> Copied<Self> ⓘlet copied_chars = escape_debug.copied();Создает итератор, который копирует все элементы
clonedfn cloned<'a, T>(self) -> Cloned<Self> ⓘlet cloned_chars = escape_debug.cloned();Создает итератор, который клонирует все элементы
cyclefn cycle(self) -> Cycle<Self> ⓘlet cycled = escape_debug.cycle();Бесконечно повторяет итератор
array_chunksfn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> ⓘfor chunk in escape_debug.array_chunks::<3>() { ... }🔬 Возвращает итератор по N элементов за раз
sumfn sum<S>(self) -> S`let total: u32 = escape_debug.map(c
productfn product<P>(self) -> P`let product: u32 = escape_debug.map(c
cmpfn cmp<I>(self, other: I) -> Orderinglet ordering = escape_debug.cmp(other_chars);Лексикографически сравнивает элементы с другими
cmp_byfn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering`let ordering = escape_debug.cmp_by(other_chars,a, b
partial_cmpfn partial_cmp<I>(self, other: I) -> Option<Ordering>let ordering = escape_debug.partial_cmp(other_chars);Частично сравнивает элементы с другими
partial_cmp_byfn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>`let ordering = escape_debug.partial_cmp_by(other_chars,a, b
eqfn eq<I>(self, other: I) -> boollet equal = escape_debug.eq(other_chars);Проверяет равенство элементов с другими
eq_byfn eq_by<I, F>(self, other: I, eq: F) -> bool`let equal = escape_debug.eq_by(other_chars,a, b
nefn ne<I>(self, other: I) -> boollet not_equal = escape_debug.ne(other_chars);Проверяет неравенство элементов с другими
ltfn lt<I>(self, other: I) -> boollet less = escape_debug.lt(other_chars);Проверяет, меньше ли элементы, чем другие
lefn le<I>(self, other: I) -> boollet less_or_equal = escape_debug.le(other_chars);Проверяет, меньше или равны ли элементы
gtfn gt<I>(self, other: I) -> boollet greater = escape_debug.gt(other_chars);Проверяет, больше ли элементы, чем другие
gefn ge<I>(self, other: I) -> boollet greater_or_equal = escape_debug.ge(other_chars);Проверяет, больше или равны ли элементы
is_sortedfn is_sorted(self) -> boollet sorted = escape_debug.is_sorted();Проверяет, отсортированы ли элементы
is_sorted_byfn is_sorted_by<F>(self, compare: F) -> bool`let sorted = escape_debug.is_sorted_by(a, b
is_sorted_by_keyfn is_sorted_by_key<F, K>(self, f: F) -> bool`let sorted = escape_debug.is_sorted_by_key(c

impl<'a> FusedIterator for EscapeDebug<'a> (с версии 1.34.0)

Автоматические реализации трейтов

#![allow(unused)]
fn main() {
impl<'a> Freeze for EscapeDebug<'a>
impl<'a> RefUnwindSafe for EscapeDebug<'a>
impl<'a> Send for EscapeDebug<'a>
impl<'a> Sync for EscapeDebug<'a>
impl<'a> Unpin for EscapeDebug<'a>
impl<'a> UnwindSafe for EscapeDebug<'a>
}

Общие реализации

#![allow(unused)]
fn main() {
impl<T> Any for T
where
    T: 'static + ?Sized,
}
#![allow(unused)]
fn main() {
impl<T> Borrow<T> for T
where
    T: ?Sized,
}
#![allow(unused)]
fn main() {
impl<T> BorrowMut<T> for T
where
    T: ?Sized,
}
#![allow(unused)]
fn main() {
impl<T> CloneToUninit for T
where
    T: Clone,
}
#![allow(unused)]
fn main() {
impl<T> From<T> for T
}
#![allow(unused)]
fn main() {
impl<T, U> Into<U> for T
where
    U: From<T>,
}
#![allow(unused)]
fn main() {
impl<I> IntoIterator for I
where
    I: Iterator,
}
#![allow(unused)]
fn main() {
impl<T> ToOwned for T
where
    T: Clone,
}
#![allow(unused)]
fn main() {
impl<T> ToString for T
where
    T: Display + ?Sized,
}
#![allow(unused)]
fn main() {
impl<T, U> TryFrom<U> for T
where
    U: Into<T>,
}
#![allow(unused)]
fn main() {
impl<T, U> TryInto<U> for T
where
    U: TryFrom<T>,
}

Обозначения:

  • 🔬 - экспериментальное API, доступное только в ночных сборках
  • - обозначение, что функция возвращает итератор