FixedSizeFactory
for pair
This commit is contained in:
parent
9adf5c771e
commit
656237a4df
@ -7,6 +7,7 @@ use crate::atomic::*;
|
|||||||
use crate::mode::*;
|
use crate::mode::*;
|
||||||
use crate::rcore::*;
|
use crate::rcore::*;
|
||||||
use crate::rstd::inlining::static_pair::*;
|
use crate::rstd::inlining::static_pair::*;
|
||||||
|
use crate::rstd::inlining::*;
|
||||||
|
|
||||||
pub type PairObject<A, B> = StaticPairObject<(A, B)>;
|
pub type PairObject<A, B> = StaticPairObject<(A, B)>;
|
||||||
pub type PairFactory<'a, Ctx, A, B> = StaticPairFactory<'a, Ctx, (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) {
|
impl<A: InliningAtomic, B: AtomicModeParse> AtomicModeParse for (A, B) {
|
||||||
fn ma_deserialize<I: Stream>(stream: I) -> AModeResultM<Self, I> {
|
fn ma_deserialize<I: Stream>(stream: I) -> AModeResultM<Self, I> {
|
||||||
StaticPairObject::<Self>::ma_deserialize_sp(stream)
|
StaticPairObject::<Self>::ma_deserialize_sp(stream)
|
||||||
|
Loading…
Reference in New Issue
Block a user