[][src]Trait joinery::join::Joinable

pub trait Joinable: Sized {
    type Collection;
    fn join_with<S>(self, sep: S) -> Join<Self::Collection, S>;

    fn join_concat(self) -> Join<Self::Collection, NoSeparator> { ... }
}

A trait for converting collections into Join instances.

This trait is implemented for all referentially iterable types; that is, for all types for which &T: IntoIterator. See join_with for an example of its usage.

Associated Types

Loading content...

Required methods

fn join_with<S>(self, sep: S) -> Join<Self::Collection, S>

Combine this object with a separator to create a new Join instance. Note that the separator does not have to share the same type as the iterator's values.

Examples

use joinery::Joinable;

let parts = vec!["this", "is", "a", "sentence"];
let join = parts.join_with(' ');
assert_eq!(join.to_string(), "this is a sentence");
Loading content...

Provided methods

fn join_concat(self) -> Join<Self::Collection, NoSeparator>

Join this object with an empty separator. When rendered with Display, the underlying elements will be directly concatenated. Note that the separator, while empty, is still present, and will show up if you iterate this instance.

Examples

use joinery::Joinable;

let parts = vec!['a', 'b', 'c', 'd', 'e'];
let join = parts.join_concat();
assert_eq!(join.to_string(), "abcde");
Loading content...

Implementors

impl<T> Joinable for T where
    &'a T: IntoIterator
[src]

type Collection = Self

fn join_concat(self) -> Join<Self::Collection, NoSeparator>[src]

Loading content...