Struct ruma_identifiers::RoomOrAliasId
source · [−]#[repr(transparent)]pub struct RoomOrAliasId(_);
Expand description
A Matrix room ID or a Matrix room alias ID.
RoomOrAliasId
is useful for APIs that accept either kind of room identifier. It is converted
from a string slice, and can be converted back into a string as needed. When converted from a
string slice, the variant is determined by the leading sigil character.
assert_eq!(<&RoomOrAliasId>::try_from("#ruma:example.com").unwrap(), "#ruma:example.com");
assert_eq!(
<&RoomOrAliasId>::try_from("!n8f893n9:example.com").unwrap(),
"!n8f893n9:example.com"
);
Implementations
sourceimpl RoomOrAliasId
impl RoomOrAliasId
sourcepub fn parse(s: impl AsRef<str> + Into<Box<str>>) -> Result<Box<Self>, Error>
pub fn parse(s: impl AsRef<str> + Into<Box<str>>) -> Result<Box<Self>, Error>
Try parsing a &str
into a Box<RoomOrAliasId>
.
The same can also be done using FromStr
, TryFrom
or TryInto
.
This function is simply more constrained and thus useful in generic contexts.
sourceimpl RoomOrAliasId
impl RoomOrAliasId
sourceimpl RoomOrAliasId
impl RoomOrAliasId
sourcepub fn localpart(&self) -> &str
pub fn localpart(&self) -> &str
Returns the local part (everything after the !
or #
and before the first colon).
sourcepub fn server_name(&self) -> &ServerName
pub fn server_name(&self) -> &ServerName
Returns the server name of the room (alias) ID.
sourcepub fn is_room_id(&self) -> bool
pub fn is_room_id(&self) -> bool
Whether this is a room id (starts with '!'
)
sourcepub fn is_room_alias_id(&self) -> bool
pub fn is_room_alias_id(&self) -> bool
Whether this is a room alias id (starts with '#'
)
sourcepub fn into_either(self: Box<Self>) -> Either<Box<RoomId>, Box<RoomAliasId>>
Available on crate feature either
only.
pub fn into_either(self: Box<Self>) -> Either<Box<RoomId>, Box<RoomAliasId>>
either
only.Turn this RoomOrAliasId
into Either<RoomId, RoomAliasId>
Trait Implementations
sourceimpl AsRef<str> for RoomOrAliasId
impl AsRef<str> for RoomOrAliasId
sourceimpl Debug for RoomOrAliasId
impl Debug for RoomOrAliasId
sourceimpl Display for RoomOrAliasId
impl Display for RoomOrAliasId
sourceimpl From<&'_ RoomOrAliasId> for Box<RoomOrAliasId>
impl From<&'_ RoomOrAliasId> for Box<RoomOrAliasId>
sourcefn from(id: &RoomOrAliasId) -> Self
fn from(id: &RoomOrAliasId) -> Self
Converts to this type from the input type.
sourceimpl From<&'_ RoomOrAliasId> for Rc<RoomOrAliasId>
impl From<&'_ RoomOrAliasId> for Rc<RoomOrAliasId>
sourcefn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
Converts to this type from the input type.
sourceimpl From<&'_ RoomOrAliasId> for Arc<RoomOrAliasId>
impl From<&'_ RoomOrAliasId> for Arc<RoomOrAliasId>
sourcefn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
Converts to this type from the input type.
sourceimpl<'a> From<&'a RoomAliasId> for &'a RoomOrAliasId
impl<'a> From<&'a RoomAliasId> for &'a RoomOrAliasId
sourcefn from(room_alias_id: &'a RoomAliasId) -> Self
fn from(room_alias_id: &'a RoomAliasId) -> Self
Converts to this type from the input type.
sourceimpl<'a> From<&'a RoomId> for &'a RoomOrAliasId
impl<'a> From<&'a RoomId> for &'a RoomOrAliasId
sourceimpl Hash for RoomOrAliasId
impl Hash for RoomOrAliasId
sourceimpl Ord for RoomOrAliasId
impl Ord for RoomOrAliasId
sourceimpl PartialEq<&'_ RoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<&'_ RoomOrAliasId> for Box<RoomOrAliasId>
sourceimpl PartialEq<&'_ str> for RoomOrAliasId
impl PartialEq<&'_ str> for RoomOrAliasId
sourceimpl PartialEq<Box<RoomOrAliasId, Global>> for RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId, Global>> for RoomOrAliasId
sourceimpl PartialEq<Box<RoomOrAliasId, Global>> for &RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId, Global>> for &RoomOrAliasId
sourceimpl PartialEq<RoomOrAliasId> for RoomOrAliasId
impl PartialEq<RoomOrAliasId> for RoomOrAliasId
sourcefn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &RoomOrAliasId) -> bool
fn ne(&self, other: &RoomOrAliasId) -> bool
This method tests for !=
.
sourceimpl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
sourceimpl PartialEq<RoomOrAliasId> for str
impl PartialEq<RoomOrAliasId> for str
sourceimpl PartialEq<RoomOrAliasId> for &str
impl PartialEq<RoomOrAliasId> for &str
sourceimpl PartialEq<RoomOrAliasId> for String
impl PartialEq<RoomOrAliasId> for String
sourceimpl PartialEq<String> for RoomOrAliasId
impl PartialEq<String> for RoomOrAliasId
sourceimpl PartialEq<str> for RoomOrAliasId
impl PartialEq<str> for RoomOrAliasId
sourceimpl PartialOrd<RoomOrAliasId> for RoomOrAliasId
impl PartialOrd<RoomOrAliasId> for RoomOrAliasId
sourcefn partial_cmp(&self, other: &RoomOrAliasId) -> Option<Ordering>
fn partial_cmp(&self, other: &RoomOrAliasId) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Serialize for RoomOrAliasId
Available on crate feature serde
only.
impl Serialize for RoomOrAliasId
serde
only.sourceimpl ToOwned for RoomOrAliasId
impl ToOwned for RoomOrAliasId
type Owned = Box<RoomOrAliasId, Global>
type Owned = Box<RoomOrAliasId, Global>
The resulting type after obtaining ownership.
sourcefn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning. Read more
sourcefn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomId
impl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomId
type Error = &'a RoomAliasId
type Error = &'a RoomAliasId
The type returned in the event of a conversion error.
sourcefn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomId, &'a RoomAliasId>
fn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomId, &'a RoomAliasId>
Performs the conversion.
sourceimpl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomAliasId
impl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomAliasId
sourcefn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomAliasId, &'a RoomId>
fn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomAliasId, &'a RoomId>
Performs the conversion.