pub trait StaticPairAtomic: 'static + Send + Sync + Clone + Sized + StaticPairSerializable<SA = Self::A, SB = Self::B> {
    type A: AtomicBase + ParseMode;
    type B: AtomicBase + ParseMode;
    type AParseError: Error + Send;

    // Required methods
    fn from_parsed(a: Self::A, b: Self::B) -> Result<Self, Self::AParseError>;
    fn from_error_a(error: AParseError<Self::A>) -> Self::AParseError;
    fn from_error_b(error: AParseError<Self::B>) -> Self::AParseError;
}
Expand description

Atomic equivalent of StaticPair.

Note: StaticPairAtomic::A requires InliningAtomic be implemented.

Required Associated Types§

source

type A: AtomicBase + ParseMode

First element’s type. Must equal StaticPairSerializable::SA.

source

type B: AtomicBase + ParseMode

Second element’s type. Must equal StaticPairSerializable::SB.

source

type AParseError: Error + Send

Required Methods§

source

fn from_parsed(a: Self::A, b: Self::B) -> Result<Self, Self::AParseError>

Construct the atomic from the elements.

source

fn from_error_a(error: AParseError<Self::A>) -> Self::AParseError

Regularise the error returned while parsing the first element.

source

fn from_error_b(error: AParseError<Self::B>) -> Self::AParseError

Regularise the error returned while parsing the second element.

Implementations on Foreign Types§

source§

impl<A: AtomicBase + ParseMode, B: AtomicBase + ParseMode> StaticPairAtomic for (A, B)

§

type A = A

§

type B = B

§

type AParseError = PairParseError<<A as AtomicBase>::AParseError, <B as AtomicBase>::AParseError>

source§

fn from_parsed(a: Self::A, b: Self::B) -> Result<Self, Self::AParseError>

source§

fn from_error_a(error: AParseError<Self::A>) -> Self::AParseError

source§

fn from_error_b(error: AParseError<Self::B>) -> Self::AParseError

Implementors§