Struct ruma_common::RoomOrAliasId
source · 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§
source§impl RoomOrAliasId
impl RoomOrAliasId
source§impl RoomOrAliasId
impl RoomOrAliasId
sourcepub fn parse(s: impl AsRef<str>) -> Result<OwnedRoomOrAliasId, IdParseError>
pub fn parse(s: impl AsRef<str>) -> Result<OwnedRoomOrAliasId, IdParseError>
Try parsing a &str
into an OwnedRoomOrAliasId
.
The same can also be done using FromStr
, TryFrom
or TryInto
.
This function is simply more constrained and thus useful in generic contexts.
sourcepub fn parse_box(
s: impl AsRef<str> + Into<Box<str>>
) -> Result<Box<Self>, IdParseError>
pub fn parse_box( s: impl AsRef<str> + Into<Box<str>> ) -> Result<Box<Self>, IdParseError>
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.
source§impl 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 '#'
)
Trait Implementations§
source§impl AsRef<[u8]> for RoomOrAliasId
impl AsRef<[u8]> for RoomOrAliasId
source§impl AsRef<RoomOrAliasId> for OwnedRoomOrAliasId
impl AsRef<RoomOrAliasId> for OwnedRoomOrAliasId
source§fn as_ref(&self) -> &RoomOrAliasId
fn as_ref(&self) -> &RoomOrAliasId
source§impl AsRef<str> for RoomOrAliasId
impl AsRef<str> for RoomOrAliasId
source§impl Borrow<RoomOrAliasId> for OwnedRoomOrAliasId
impl Borrow<RoomOrAliasId> for OwnedRoomOrAliasId
source§fn borrow(&self) -> &RoomOrAliasId
fn borrow(&self) -> &RoomOrAliasId
source§impl Clone for Box<RoomOrAliasId>
impl Clone for Box<RoomOrAliasId>
source§impl Debug for RoomOrAliasId
impl Debug for RoomOrAliasId
source§impl<'de> Deserialize<'de> for Box<RoomOrAliasId>
impl<'de> Deserialize<'de> for Box<RoomOrAliasId>
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,
source§impl Display for RoomOrAliasId
impl Display for RoomOrAliasId
source§impl<'a> From<&'a RoomAliasId> for &'a RoomOrAliasId
impl<'a> From<&'a RoomAliasId> for &'a RoomOrAliasId
source§fn from(room_alias_id: &'a RoomAliasId) -> Self
fn from(room_alias_id: &'a RoomAliasId) -> Self
source§impl<'a> From<&'a RoomId> for &'a RoomOrAliasId
impl<'a> From<&'a RoomId> for &'a RoomOrAliasId
source§impl From<&RoomOrAliasId> for Arc<RoomOrAliasId>
impl From<&RoomOrAliasId> for Arc<RoomOrAliasId>
source§fn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
source§impl From<&RoomOrAliasId> for Box<RoomOrAliasId>
impl From<&RoomOrAliasId> for Box<RoomOrAliasId>
source§fn from(id: &RoomOrAliasId) -> Self
fn from(id: &RoomOrAliasId) -> Self
source§impl From<&RoomOrAliasId> for OwnedRoomOrAliasId
impl From<&RoomOrAliasId> for OwnedRoomOrAliasId
source§fn from(id: &RoomOrAliasId) -> OwnedRoomOrAliasId
fn from(id: &RoomOrAliasId) -> OwnedRoomOrAliasId
source§impl From<&RoomOrAliasId> for Rc<RoomOrAliasId>
impl From<&RoomOrAliasId> for Rc<RoomOrAliasId>
source§fn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
source§impl From<&RoomOrAliasId> for String
impl From<&RoomOrAliasId> for String
source§fn from(id: &RoomOrAliasId) -> Self
fn from(id: &RoomOrAliasId) -> Self
source§impl From<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
impl From<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
source§fn from(a: OwnedRoomOrAliasId) -> Box<RoomOrAliasId>
fn from(a: OwnedRoomOrAliasId) -> Box<RoomOrAliasId>
source§impl FromStr for Box<RoomOrAliasId>
impl FromStr for Box<RoomOrAliasId>
source§impl Hash for RoomOrAliasId
impl Hash for RoomOrAliasId
source§impl Ord for RoomOrAliasId
impl Ord for RoomOrAliasId
source§impl PartialEq<&RoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<&RoomOrAliasId> for Box<RoomOrAliasId>
source§fn eq(&self, other: &&RoomOrAliasId) -> bool
fn eq(&self, other: &&RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<&RoomOrAliasId> for OwnedRoomOrAliasId
impl PartialEq<&RoomOrAliasId> for OwnedRoomOrAliasId
source§fn eq(&self, other: &&RoomOrAliasId) -> bool
fn eq(&self, other: &&RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<&str> for Box<RoomOrAliasId>
impl PartialEq<&str> for Box<RoomOrAliasId>
source§impl PartialEq<&str> for RoomOrAliasId
impl PartialEq<&str> for RoomOrAliasId
source§impl PartialEq<Box<RoomOrAliasId, Global>> for &RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId, Global>> for &RoomOrAliasId
source§impl PartialEq<Box<RoomOrAliasId, Global>> for RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId, Global>> for RoomOrAliasId
source§impl PartialEq<OwnedRoomOrAliasId> for &RoomOrAliasId
impl PartialEq<OwnedRoomOrAliasId> for &RoomOrAliasId
source§fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
source§fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<OwnedRoomOrAliasId> for RoomOrAliasId
impl PartialEq<OwnedRoomOrAliasId> for RoomOrAliasId
source§fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<RoomOrAliasId> for &str
impl PartialEq<RoomOrAliasId> for &str
source§fn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
source§fn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<RoomOrAliasId> for OwnedRoomOrAliasId
impl PartialEq<RoomOrAliasId> for OwnedRoomOrAliasId
source§fn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<RoomOrAliasId> for RoomOrAliasId
impl PartialEq<RoomOrAliasId> for RoomOrAliasId
source§fn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<RoomOrAliasId> for String
impl PartialEq<RoomOrAliasId> for String
source§fn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<RoomOrAliasId> for str
impl PartialEq<RoomOrAliasId> for str
source§fn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<String> for Box<RoomOrAliasId>
impl PartialEq<String> for Box<RoomOrAliasId>
source§impl PartialEq<String> for RoomOrAliasId
impl PartialEq<String> for RoomOrAliasId
source§impl PartialEq<str> for RoomOrAliasId
impl PartialEq<str> for RoomOrAliasId
source§impl PartialOrd<RoomOrAliasId> for RoomOrAliasId
impl PartialOrd<RoomOrAliasId> for RoomOrAliasId
source§fn partial_cmp(&self, other: &RoomOrAliasId) -> Option<Ordering>
fn partial_cmp(&self, other: &RoomOrAliasId) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more