FixedSizeFactory for pair
All checks were successful
buildbot/fmt-check Build done.
buildbot/runtests Build done.
buildbot/clippy Build done.
buildbot/rustdoc Build done.

This commit is contained in:
AF 2023-08-05 15:28:00 +00:00
parent 9adf5c771e
commit 656237a4df

View File

@ -7,6 +7,7 @@ use crate::atomic::*;
use crate::mode::*;
use crate::rcore::*;
use crate::rstd::inlining::static_pair::*;
use crate::rstd::inlining::*;
pub type PairObject<A, B> = StaticPairObject<(A, B)>;
pub type PairFactory<'a, Ctx, A, B> = StaticPairFactory<'a, Ctx, (A, B)>;
@ -173,6 +174,16 @@ impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>, B: Mentionable<'a, Ctx>> Men
}
}
impl<'a, Ctx: Context<'a>, FA, FB> FixedSizeFactory<'a, Ctx> for (FA, FB)
where
FA: FixedSizeFactory<'a, Ctx>,
FB: FixedSizeFactory<'a, Ctx> + FactoryModeParse<'a, Ctx>,
{
fn size(&self) -> usize {
self.0.size() + self.1.size()
}
}
impl<A: InliningAtomic, B: AtomicModeParse> AtomicModeParse for (A, B) {
fn ma_deserialize<I: Stream>(stream: I) -> AModeResultM<Self, I> {
StaticPairObject::<Self>::ma_deserialize_sp(stream)