Struct ruma_common::RoomOrAliasId
source · pub struct RoomOrAliasId(/* private fields */);
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 server_name(&self) -> Option<&ServerName>
pub fn server_name(&self) -> Option<&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<RoomOrAliasId> for RoomOrAliasId
impl AsRef<RoomOrAliasId> for RoomOrAliasId
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>> for &RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId>> for &RoomOrAliasId
source§impl PartialEq<Box<RoomOrAliasId>> for RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId>> 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 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 PartialEq for RoomOrAliasId
impl PartialEq 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 PartialOrd for RoomOrAliasId
impl PartialOrd 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 moresource§impl Serialize for RoomOrAliasId
impl Serialize for RoomOrAliasId
source§impl ToOwned for RoomOrAliasId
impl ToOwned for RoomOrAliasId
§type Owned = OwnedRoomOrAliasId
type Owned = OwnedRoomOrAliasId
source§fn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::Owned
1.63.0 · source§fn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
source§impl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomAliasId
impl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomAliasId
source§fn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomAliasId, &'a RoomId>
fn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomAliasId, &'a RoomId>
source§impl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomId
impl<'a> TryFrom<&'a RoomOrAliasId> for &'a RoomId
§type Error = &'a RoomAliasId
type Error = &'a RoomAliasId
source§fn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomId, &'a RoomAliasId>
fn try_from(id: &'a RoomOrAliasId) -> Result<&'a RoomId, &'a RoomAliasId>
source§impl<'a> TryFrom<&'a str> for &'a RoomOrAliasId
impl<'a> TryFrom<&'a str> for &'a RoomOrAliasId
impl Eq for RoomOrAliasId
impl StructuralPartialEq for RoomOrAliasId
Auto Trait Implementations§
impl Freeze for RoomOrAliasId
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.