pub enum EitherProvider<P0, P1> {
A(P0),
B(P1),
}Expand description
A provider that is one of two types determined at runtime.
Data provider traits implemented by both P0 and P1 are implemented on
EitherProvider<P0, P1>.
Variants§
Trait Implementations§
Source§impl<M: DataMarker, P0: DataProvider<M>, P1: DataProvider<M>> DataProvider<M> for EitherProvider<P0, P1>
impl<M: DataMarker, P0: DataProvider<M>, P1: DataProvider<M>> DataProvider<M> for EitherProvider<P0, P1>
Source§fn load(&self, req: DataRequest<'_>) -> Result<DataResponse<M>, DataError>
fn load(&self, req: DataRequest<'_>) -> Result<DataResponse<M>, DataError>
Query the provider for data, returning the result. Read more
Source§impl<M: DataMarker, P0: DryDataProvider<M>, P1: DryDataProvider<M>> DryDataProvider<M> for EitherProvider<P0, P1>
impl<M: DataMarker, P0: DryDataProvider<M>, P1: DryDataProvider<M>> DryDataProvider<M> for EitherProvider<P0, P1>
Source§fn dry_load(
&self,
req: DataRequest<'_>,
) -> Result<DataResponseMetadata, DataError>
fn dry_load( &self, req: DataRequest<'_>, ) -> Result<DataResponseMetadata, DataError>
Source§impl<M: DynamicDataMarker, P0: DynamicDataProvider<M>, P1: DynamicDataProvider<M>> DynamicDataProvider<M> for EitherProvider<P0, P1>
impl<M: DynamicDataMarker, P0: DynamicDataProvider<M>, P1: DynamicDataProvider<M>> DynamicDataProvider<M> for EitherProvider<P0, P1>
Source§fn load_data(
&self,
marker: DataMarkerInfo,
req: DataRequest<'_>,
) -> Result<DataResponse<M>, DataError>
fn load_data( &self, marker: DataMarkerInfo, req: DataRequest<'_>, ) -> Result<DataResponse<M>, DataError>
Query the provider for data, returning the result. Read more
Source§impl<M: DynamicDataMarker, P0: DynamicDryDataProvider<M>, P1: DynamicDryDataProvider<M>> DynamicDryDataProvider<M> for EitherProvider<P0, P1>
impl<M: DynamicDataMarker, P0: DynamicDryDataProvider<M>, P1: DynamicDryDataProvider<M>> DynamicDryDataProvider<M> for EitherProvider<P0, P1>
Source§fn dry_load_data(
&self,
marker: DataMarkerInfo,
req: DataRequest<'_>,
) -> Result<DataResponseMetadata, DataError>
fn dry_load_data( &self, marker: DataMarkerInfo, req: DataRequest<'_>, ) -> Result<DataResponseMetadata, DataError>
Source§impl<M: DataMarker, P0: IterableDataProvider<M>, P1: IterableDataProvider<M>> IterableDataProvider<M> for EitherProvider<P0, P1>
impl<M: DataMarker, P0: IterableDataProvider<M>, P1: IterableDataProvider<M>> IterableDataProvider<M> for EitherProvider<P0, P1>
Source§fn iter_ids(&self) -> Result<BTreeSet<DataIdentifierCow<'_>>, DataError>
fn iter_ids(&self) -> Result<BTreeSet<DataIdentifierCow<'_>>, DataError>
Returns a set of
DataIdentifierCow.Source§impl<M: DynamicDataMarker, P0: IterableDynamicDataProvider<M>, P1: IterableDynamicDataProvider<M>> IterableDynamicDataProvider<M> for EitherProvider<P0, P1>
impl<M: DynamicDataMarker, P0: IterableDynamicDataProvider<M>, P1: IterableDynamicDataProvider<M>> IterableDynamicDataProvider<M> for EitherProvider<P0, P1>
Source§fn iter_ids_for_marker(
&self,
marker: DataMarkerInfo,
) -> Result<BTreeSet<DataIdentifierCow<'_>>, DataError>
fn iter_ids_for_marker( &self, marker: DataMarkerInfo, ) -> Result<BTreeSet<DataIdentifierCow<'_>>, DataError>
Given a
DataMarkerInfo, returns a set of DataIdentifierCow.Auto Trait Implementations§
impl<P0, P1> Freeze for EitherProvider<P0, P1>
impl<P0, P1> RefUnwindSafe for EitherProvider<P0, P1>where
P0: RefUnwindSafe,
P1: RefUnwindSafe,
impl<P0, P1> Send for EitherProvider<P0, P1>
impl<P0, P1> Sync for EitherProvider<P0, P1>
impl<P0, P1> Unpin for EitherProvider<P0, P1>
impl<P0, P1> UnsafeUnpin for EitherProvider<P0, P1>where
P0: UnsafeUnpin,
P1: UnsafeUnpin,
impl<P0, P1> UnwindSafe for EitherProvider<P0, P1>where
P0: UnwindSafe,
P1: UnwindSafe,
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
Mutably borrows from an owned value. Read more