W3cubDocs

/Rust

Trait std::slice::SliceConcatExt

pub trait SliceConcatExt<T> where    T: ?Sized, {
    type Output;
    fn concat(&self) -> Self::Output;
    fn join(&self, sep: &T) -> Self::Output;

    fn connect(&self, sep: &T) -> Self::Output { ... }
}
🔬 This is a nightly-only experimental API. (slice_concat_ext #27747)trait should not have to exist

An extension trait for concatenating slices

While this trait is unstable, the methods are stable. SliceConcatExt is included in the standard library prelude, so you can use join() and concat() as if they existed on [T] itself.

Associated Types

type Output

🔬 This is a nightly-only experimental API. (slice_concat_ext #27747)trait should not have to exist

The resulting type after concatenation

Loading content...

Required methods

fn concat(&self) -> Self::Output1.0.0

Flattens a slice of T into a single value Self::Output.

Examples

assert_eq!(["hello", "world"].concat(), "helloworld");
assert_eq!([[1, 2], [3, 4]].concat(), [1, 2, 3, 4]);

fn join(&self, sep: &T) -> Self::Output1.3.0

Flattens a slice of T into a single value Self::Output, placing a given separator between each.

Examples

assert_eq!(["hello", "world"].join(" "), "hello world");
assert_eq!([[1, 2], [3, 4]].join(&0), [1, 2, 0, 3, 4]);
Loading content...

Provided methods

fn connect(&self, sep: &T) -> Self::Output1.0.0

Deprecated since 1.3.0: renamed to join

Flattens a slice of T into a single value Self::Output, placing a given separator between each.

Examples

assert_eq!(["hello", "world"].connect(" "), "hello world");
assert_eq!([[1, 2], [3, 4]].connect(&0), [1, 2, 0, 3, 4]);
Loading content...

Implementors

impl<S> SliceConcatExt<str> for [S] where
    S: Borrow<str>, 
[src]

type Output = String

🔬 This is a nightly-only experimental API. (slice_concat_ext #27747)trait should not have to exist

impl<T, V> SliceConcatExt<T> for [V] where
    T: Clone,
    V: Borrow<[T]>, 
[src]

type Output = Vec<T>

🔬 This is a nightly-only experimental API. (slice_concat_ext #27747)trait should not have to exist
ⓘImportant traits for Vec<u8>
impl Write for Vec<u8>
ⓘImportant traits for Vec<u8>
impl Write for Vec<u8>
Loading content...

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/slice/trait.SliceConcatExt.html