Struct ruma_common::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
sourceimpl 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.
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 '#'
)
Trait Implementations
sourceimpl AsRef<RoomOrAliasId> for OwnedRoomOrAliasId
impl AsRef<RoomOrAliasId> for OwnedRoomOrAliasId
sourcefn as_ref(&self) -> &RoomOrAliasId
fn as_ref(&self) -> &RoomOrAliasId
sourceimpl AsRef<str> for Box<RoomOrAliasId>
impl AsRef<str> for Box<RoomOrAliasId>
sourceimpl AsRef<str> for RoomOrAliasId
impl AsRef<str> for RoomOrAliasId
sourceimpl Borrow<RoomOrAliasId> for OwnedRoomOrAliasId
impl Borrow<RoomOrAliasId> for OwnedRoomOrAliasId
sourcefn borrow(&self) -> &RoomOrAliasId
fn borrow(&self) -> &RoomOrAliasId
sourceimpl Clone for Box<RoomOrAliasId>
impl Clone for Box<RoomOrAliasId>
sourceimpl Debug for RoomOrAliasId
impl Debug for RoomOrAliasId
sourceimpl<'de> Deserialize<'de> for Box<RoomOrAliasId>
impl<'de> Deserialize<'de> for Box<RoomOrAliasId>
sourcefn 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>,
sourceimpl Display for RoomOrAliasId
impl Display for RoomOrAliasId
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
sourceimpl<'a> From<&'a RoomId> for &'a RoomOrAliasId
impl<'a> From<&'a RoomId> for &'a RoomOrAliasId
sourceimpl From<&RoomOrAliasId> for Arc<RoomOrAliasId>
impl From<&RoomOrAliasId> for Arc<RoomOrAliasId>
sourcefn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
sourceimpl From<&RoomOrAliasId> for Box<RoomOrAliasId>
impl From<&RoomOrAliasId> for Box<RoomOrAliasId>
sourcefn from(id: &RoomOrAliasId) -> Self
fn from(id: &RoomOrAliasId) -> Self
sourceimpl From<&RoomOrAliasId> for OwnedRoomOrAliasId
impl From<&RoomOrAliasId> for OwnedRoomOrAliasId
sourcefn from(id: &RoomOrAliasId) -> OwnedRoomOrAliasId
fn from(id: &RoomOrAliasId) -> OwnedRoomOrAliasId
sourceimpl From<&RoomOrAliasId> for Rc<RoomOrAliasId>
impl From<&RoomOrAliasId> for Rc<RoomOrAliasId>
sourcefn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
sourceimpl From<&RoomOrAliasId> for String
impl From<&RoomOrAliasId> for String
sourcefn from(id: &RoomOrAliasId) -> Self
fn from(id: &RoomOrAliasId) -> Self
sourceimpl From<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
impl From<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
sourcefn from(a: OwnedRoomOrAliasId) -> Box<RoomOrAliasId>
fn from(a: OwnedRoomOrAliasId) -> Box<RoomOrAliasId>
sourceimpl FromStr for Box<RoomOrAliasId>
impl FromStr for Box<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>
sourcefn eq(&self, other: &&RoomOrAliasId) -> bool
fn eq(&self, other: &&RoomOrAliasId) -> bool
sourceimpl PartialEq<&RoomOrAliasId> for OwnedRoomOrAliasId
impl PartialEq<&RoomOrAliasId> for OwnedRoomOrAliasId
sourcefn eq(&self, other: &&RoomOrAliasId) -> bool
fn eq(&self, other: &&RoomOrAliasId) -> bool
sourceimpl PartialEq<Box<RoomOrAliasId, Global>> for &RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId, Global>> for &RoomOrAliasId
sourcefn eq(&self, other: &Box<RoomOrAliasId>) -> bool
fn eq(&self, other: &Box<RoomOrAliasId>) -> bool
sourceimpl PartialEq<Box<RoomOrAliasId, Global>> for RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId, Global>> for RoomOrAliasId
sourcefn eq(&self, other: &Box<RoomOrAliasId>) -> bool
fn eq(&self, other: &Box<RoomOrAliasId>) -> bool
sourceimpl PartialEq<OwnedRoomOrAliasId> for &RoomOrAliasId
impl PartialEq<OwnedRoomOrAliasId> for &RoomOrAliasId
sourcefn eq(&self, other: &OwnedRoomOrAliasId) -> bool
fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
sourceimpl PartialEq<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<OwnedRoomOrAliasId> for Box<RoomOrAliasId>
sourcefn eq(&self, other: &OwnedRoomOrAliasId) -> bool
fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
sourceimpl PartialEq<OwnedRoomOrAliasId> for RoomOrAliasId
impl PartialEq<OwnedRoomOrAliasId> for RoomOrAliasId
sourcefn eq(&self, other: &OwnedRoomOrAliasId) -> bool
fn eq(&self, other: &OwnedRoomOrAliasId) -> bool
sourceimpl PartialEq<RoomOrAliasId> for &str
impl PartialEq<RoomOrAliasId> for &str
sourcefn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
sourceimpl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
sourcefn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
sourceimpl PartialEq<RoomOrAliasId> for OwnedRoomOrAliasId
impl PartialEq<RoomOrAliasId> for OwnedRoomOrAliasId
sourcefn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
sourceimpl PartialEq<RoomOrAliasId> for RoomOrAliasId
impl PartialEq<RoomOrAliasId> for RoomOrAliasId
sourcefn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
sourceimpl PartialEq<RoomOrAliasId> for String
impl PartialEq<RoomOrAliasId> for String
sourcefn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
sourceimpl PartialEq<RoomOrAliasId> for str
impl PartialEq<RoomOrAliasId> for str
sourcefn eq(&self, other: &RoomOrAliasId) -> bool
fn eq(&self, other: &RoomOrAliasId) -> bool
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>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl Serialize for RoomOrAliasId
impl Serialize for RoomOrAliasId
sourceimpl ToOwned for RoomOrAliasId
impl ToOwned for RoomOrAliasId
type Owned = OwnedRoomOrAliasId
type Owned = OwnedRoomOrAliasId
sourcefn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::Owned
1.63.0 · sourcefn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
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>
sourceimpl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomId
impl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomId
type Error = &'a RoomAliasId
type Error = &'a RoomAliasId
sourcefn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomId, &'a RoomAliasId>
fn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomId, &'a RoomAliasId>
sourceimpl<'a> TryFrom<&'a str> for &'a RoomOrAliasId
impl<'a> TryFrom<&'a str> for &'a RoomOrAliasId
sourceimpl TryFrom<&str> for Box<RoomOrAliasId>
impl TryFrom<&str> for Box<RoomOrAliasId>
sourceimpl TryFrom<String> for Box<RoomOrAliasId>
impl TryFrom<String> for Box<RoomOrAliasId>
impl Eq for RoomOrAliasId
impl StructuralEq for RoomOrAliasId
impl StructuralPartialEq for RoomOrAliasId
Auto Trait Implementations
impl RefUnwindSafe for RoomOrAliasId
impl Send for RoomOrAliasId
impl !Sized for RoomOrAliasId
impl Sync for RoomOrAliasId
impl Unpin for RoomOrAliasId
impl UnwindSafe for RoomOrAliasId
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.