[][src]Trait twitchchat::Conversion

pub trait Conversion<'a> {
    type Borrowed: 'a;
    type Owned;
    fn as_borrowed(&'a self) -> Self::Borrowed;
fn as_owned(&self) -> Self::Owned; }

A trait for converting crate types between Owned and Borrowed representations

Example

let input = ":test!test@test JOIN #museun\r\n";
let message : Raw<&str> = decode::decode(&input).next().unwrap().unwrap();
let message_owned : Raw<String> = message.as_owned();

let join : Join<&str> = Join::parse(&message).unwrap();
let owned : Join<String> = join.as_owned();
let borrowed : Join<&str> = join.as_borrowed();

assert_eq!(borrowed, join);

Associated Types

type Borrowed: 'a

The borrowed type

type Owned

The owned type

Loading content...

Required methods

fn as_borrowed(&'a self) -> Self::Borrowed

Get a borrowed version

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

Get an owned version

Loading content...

Implementations on Foreign Types

impl<'a> Conversion<'a> for bool[src]

type Borrowed = bool

type Owned = bool

impl<'a> Conversion<'a> for usize[src]

type Borrowed = usize

type Owned = usize

impl<'a> Conversion<'a> for &'a str[src]

type Borrowed = &'a str

type Owned = String

impl<'a> Conversion<'a> for String[src]

type Borrowed = &'a str

type Owned = String

impl<'a, T> Conversion<'a> for Option<T> where
    T: Conversion<'a>, 
[src]

type Borrowed = Option<T::Borrowed>

type Owned = Option<T::Owned>

impl<'a, T> Conversion<'a> for Vec<T> where
    T: Conversion<'a>, 
[src]

type Borrowed = Vec<T::Borrowed>

type Owned = Vec<T::Owned>

Loading content...

Implementors

impl<'a> Conversion<'a> for ModeStatus[src]

type Borrowed = ModeStatus

type Owned = ModeStatus

impl<'a> Conversion<'a> for Color[src]

type Borrowed = Color

type Owned = Color

impl<'a> Conversion<'a> for Reconnect[src]

type Owned = Reconnect

type Borrowed = Reconnect

impl<'a, T> Conversion<'a> for Prefix<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Borrowed = Prefix<T::Borrowed>

type Owned = Prefix<T::Owned>

impl<'a, T> Conversion<'a> for BadgeKind<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Borrowed = BadgeKind<T::Borrowed>

type Owned = BadgeKind<T::Owned>

impl<'a, T> Conversion<'a> for HostTargetKind<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Borrowed = HostTargetKind<T::Borrowed>

type Owned = HostTargetKind<T::Owned>

impl<'a, T> Conversion<'a> for NamesKind<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Borrowed = NamesKind<T::Borrowed>

type Owned = NamesKind<T::Owned>

impl<'a, T> Conversion<'a> for Message<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Borrowed = Message<T::Borrowed>

type Owned = Message<T::Owned>

impl<'a, T> Conversion<'a> for Cap<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Cap<T::Owned>

type Borrowed = Cap<T::Borrowed>

impl<'a, T> Conversion<'a> for ClearChat<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = ClearChat<T::Owned>

type Borrowed = ClearChat<T::Borrowed>

impl<'a, T> Conversion<'a> for ClearMsg<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = ClearMsg<T::Owned>

type Borrowed = ClearMsg<T::Borrowed>

impl<'a, T> Conversion<'a> for GlobalUserState<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = GlobalUserState<T::Owned>

type Borrowed = GlobalUserState<T::Borrowed>

impl<'a, T> Conversion<'a> for HostTarget<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = HostTarget<T::Owned>

type Borrowed = HostTarget<T::Borrowed>

impl<'a, T> Conversion<'a> for IrcReady<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = IrcReady<T::Owned>

type Borrowed = IrcReady<T::Borrowed>

impl<'a, T> Conversion<'a> for Join<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Join<T::Owned>

type Borrowed = Join<T::Borrowed>

impl<'a, T> Conversion<'a> for Mode<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Mode<T::Owned>

type Borrowed = Mode<T::Borrowed>

impl<'a, T> Conversion<'a> for Names<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Names<T::Owned>

type Borrowed = Names<T::Borrowed>

impl<'a, T> Conversion<'a> for Notice<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Notice<T::Owned>

type Borrowed = Notice<T::Borrowed>

impl<'a, T> Conversion<'a> for Part<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Part<T::Owned>

type Borrowed = Part<T::Borrowed>

impl<'a, T> Conversion<'a> for Ping<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Ping<T::Owned>

type Borrowed = Ping<T::Borrowed>

impl<'a, T> Conversion<'a> for Pong<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Pong<T::Owned>

type Borrowed = Pong<T::Borrowed>

impl<'a, T> Conversion<'a> for Privmsg<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Privmsg<T::Owned>

type Borrowed = Privmsg<T::Borrowed>

impl<'a, T> Conversion<'a> for Ready<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = Ready<T::Owned>

type Borrowed = Ready<T::Borrowed>

impl<'a, T> Conversion<'a> for RoomState<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = RoomState<T::Owned>

type Borrowed = RoomState<T::Borrowed>

impl<'a, T> Conversion<'a> for UserNotice<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = UserNotice<T::Owned>

type Borrowed = UserNotice<T::Borrowed>

impl<'a, T> Conversion<'a> for UserState<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Owned = UserState<T::Owned>

type Borrowed = UserState<T::Borrowed>

impl<'a, T> Conversion<'a> for Badge<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Borrowed = Badge<T::Borrowed>

type Owned = Badge<T::Owned>

impl<'a, T> Conversion<'a> for Tags<T> where
    T: StringMarker + Conversion<'a>,
    <T as Conversion<'a>>::Borrowed: StringMarker,
    <T as Conversion<'a>>::Owned: StringMarker
[src]

type Borrowed = Tags<T::Borrowed>

type Owned = Tags<T::Owned>

Loading content...