events: Implement {From,Into}Iterator for DirectEventContent
This commit is contained in:
parent
45857ed6fa
commit
53f9cf52ed
@ -3,7 +3,7 @@
|
||||
//! [`m.direct`]: https://spec.matrix.org/latest/client-server-api/#mdirect
|
||||
|
||||
use std::{
|
||||
collections::BTreeMap,
|
||||
collections::{btree_map, BTreeMap},
|
||||
ops::{Deref, DerefMut},
|
||||
};
|
||||
|
||||
@ -37,6 +37,24 @@ impl DerefMut for DirectEventContent {
|
||||
}
|
||||
}
|
||||
|
||||
impl IntoIterator for DirectEventContent {
|
||||
type Item = (OwnedUserId, Vec<OwnedRoomId>);
|
||||
type IntoIter = btree_map::IntoIter<OwnedUserId, Vec<OwnedRoomId>>;
|
||||
|
||||
fn into_iter(self) -> Self::IntoIter {
|
||||
self.0.into_iter()
|
||||
}
|
||||
}
|
||||
|
||||
impl FromIterator<(OwnedUserId, Vec<OwnedRoomId>)> for DirectEventContent {
|
||||
fn from_iter<T>(iter: T) -> Self
|
||||
where
|
||||
T: IntoIterator<Item = (OwnedUserId, Vec<OwnedRoomId>)>,
|
||||
{
|
||||
Self(BTreeMap::from_iter(iter))
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(all(test, feature = "rand"))]
|
||||
mod tests {
|
||||
use std::collections::BTreeMap;
|
||||
|
Loading…
x
Reference in New Issue
Block a user