Struct dacquiri::prelude::EntityProof
source · pub struct EntityProof<const TAG: EntityTag, EntityType, Next> { /* private fields */ }
Trait Implementations§
source§impl<Next, EntityType, const ETAG: EntityTag> ConstraintT for EntityProof<ETAG, EntityType, Next>where
Next: ConstraintT,
impl<Next, EntityType, const ETAG: EntityTag> ConstraintT for EntityProof<ETAG, EntityType, Next>where Next: ConstraintT,
fn add_entity<T, const TAG: EntityTag>( self, entity: T ) -> ConstraintResult<EntityProof<TAG, T, Self>>where T: ConstraintEntity + 'static,
fn get_entity<T, const TAG: EntityTag>(&self) -> &Twhere T: ConstraintEntity + 'static, Self: HasEntityWithType<TAG, T>,
fn get_entity_mut<T, const TAG: EntityTag>(&mut self) -> &mut Twhere T: ConstraintEntity + 'static, Self: HasEntityWithType<TAG, T>,
fn try_get_entity<T, const TAG: EntityTag>(&self) -> ConstraintResult<&T>where T: ConstraintEntity + 'static,
fn try_get_entity_mut<T, const TAG: EntityTag>( &mut self ) -> ConstraintResult<&mut T>where T: ConstraintEntity + 'static,
source§impl<Next, EntityType, const ETAG: EntityTag> ShedNext<ETAG, EntityType, Next> for EntityProof<ETAG, EntityType, Next>where
Next: ConstraintT,
EntityType: ConstraintEntity + 'static,
impl<Next, EntityType, const ETAG: EntityTag> ShedNext<ETAG, EntityType, Next> for EntityProof<ETAG, EntityType, Next>where Next: ConstraintT, EntityType: ConstraintEntity + 'static,
fn shed(self) -> (EntityType, Next)
impl<Next, EntityType, Attr, const ETAG: EntityTag, const STAG: EntityTag, const RTAG: EntityTag> HasConstraint<Attr, STAG, RTAG> for EntityProof<ETAG, EntityType, Next>where Attr: BaseAttribute, Next: HasConstraint<Attr, STAG, RTAG>,
Prove EntityProof<_, _, HasConstraint<Attr, STAG, RTAG>> => HasConstraint<Attr, STAG, RTAG>
impl<Next, EntityType, const TAG: EntityTag> HasEntity<TAG> for EntityProof<TAG, EntityType, Next>
Prove EntityProof<TAG, EntityType, _> => HasEntity
impl<Next, EntityType, const TAG1: EntityTag, const TAG2: EntityTag> HasEntity<TAG2> for EntityProof<TAG1, EntityType, Next>where Next: HasEntity<TAG2>,
Prove EntityProof<_, _, HasEntity
impl<Next, EntityType, const TAG: EntityTag> HasEntityWithType<TAG, EntityType> for EntityProof<TAG, EntityType, Next>
Prove EntityProof<TAG, EntityType, _> => HasEntityWithType<TAG, EntityType>
impl<Next, EntityType1, EntityType2, const TAG1: EntityTag, const TAG2: EntityTag> HasEntityWithType<TAG2, EntityType2> for EntityProof<TAG1, EntityType1, Next>where Next: HasEntityWithType<TAG2, EntityType2>,
Prove EntityProof<_, _, HasEntity<TAG2, EntityType2>> => HasEntity<TAG2, EntityType2>
Auto Trait Implementations§
impl<const TAG: &'static str, EntityType, Next> RefUnwindSafe for EntityProof<TAG, EntityType, Next>where EntityType: RefUnwindSafe, Next: RefUnwindSafe,
impl<const TAG: &'static str, EntityType, Next> Send for EntityProof<TAG, EntityType, Next>where EntityType: Send, Next: Send,
impl<const TAG: &'static str, EntityType, Next> Sync for EntityProof<TAG, EntityType, Next>where EntityType: Sync, Next: Sync,
impl<const TAG: &'static str, EntityType, Next> Unpin for EntityProof<TAG, EntityType, Next>where EntityType: Unpin, Next: Unpin,
impl<const TAG: &'static str, EntityType, Next> UnwindSafe for EntityProof<TAG, EntityType, Next>where EntityType: UnwindSafe, Next: UnwindSafe,
Blanket Implementations§
source§impl<T> AcquireAttribute for Twhere
T: AcquireAttributeWithResourceAndContext<()>,
impl<T> AcquireAttribute for Twhere T: AcquireAttributeWithResourceAndContext<()>,
fn prove_async<'ctx, 'async_trait, Attr, const STAG: EntityTag>( self ) -> Pin<Box<dyn Future<Output = Result<ConstraintChain<STAG, DEFAULT_ELEMENT_TAG, Attr, Self>, Attr::Error>> + Send + 'async_trait>>where Attr::Subject: ConstraintEntity + 'static, Self: HasEntityWithType<STAG, Attr::Subject> + Send + 'async_trait, Attr: AsyncAttribute<Resource = (), Context<'ctx> = ()> + 'async_trait, 'ctx: 'async_trait,
fn prove<'ctx, Attr, const STAG: EntityTag>( self ) -> Result<ConstraintChain<STAG, DEFAULT_ELEMENT_TAG, Attr, Self>, Attr::Error>where Attr::Subject: ConstraintEntity + 'static, Self: HasEntityWithType<STAG, Attr::Subject>, Attr: SyncAttribute<Resource = (), Context<'ctx> = ()>,
source§impl<T, C> AcquireAttributeWithContext<C> for Twhere
T: AcquireAttributeWithResourceAndContext<C>,
C: Send,
impl<T, C> AcquireAttributeWithContext<C> for Twhere T: AcquireAttributeWithResourceAndContext<C>, C: Send,
fn prove_with_context_async<'ctx, 'async_trait, Attr, const STAG: EntityTag>( self, context: C ) -> Pin<Box<dyn Future<Output = Result<ConstraintChain<STAG, DEFAULT_ELEMENT_TAG, Attr, Self>, Attr::Error>> + Send + 'async_trait>>where Attr::Subject: ConstraintEntity + 'static, C: 'async_trait, Self: HasEntityWithType<STAG, Attr::Subject> + Send + 'async_trait, Attr: AsyncAttribute<Resource = (), Context<'ctx> = C> + 'async_trait, 'ctx: 'async_trait,
fn prove_with_context<'ctx, Attr, const STAG: EntityTag>( self, context: C ) -> Result<ConstraintChain<STAG, DEFAULT_ELEMENT_TAG, Attr, Self>, Attr::Error>where Attr::Subject: ConstraintEntity + 'static, Self: HasEntityWithType<STAG, Attr::Subject>, Attr: SyncAttribute<Resource = (), Context<'ctx> = C>,
source§impl<T> AcquireAttributeWithResource for Twhere
T: AcquireAttributeWithResourceAndContext<()>,
impl<T> AcquireAttributeWithResource for Twhere T: AcquireAttributeWithResourceAndContext<()>,
fn prove_with_resource_async<'ctx, 'async_trait, Attr, const STAG: EntityTag, const RTAG: EntityTag>( self ) -> Pin<Box<dyn Future<Output = Result<ConstraintChain<STAG, RTAG, Attr, Self>, Attr::Error>> + Send + 'async_trait>>where Attr::Subject: ConstraintEntity + 'static, Attr::Resource: ConstraintEntity + 'static, Self: HasEntityWithType<STAG, Attr::Subject> + HasEntityWithType<RTAG, Attr::Resource> + Send + 'async_trait, Attr: AsyncAttribute<Context<'ctx> = ()> + 'async_trait, 'ctx: 'async_trait,
fn prove_with_resource<'ctx, Attr, const STAG: EntityTag, const RTAG: EntityTag>( self ) -> Result<ConstraintChain<STAG, RTAG, Attr, Self>, Attr::Error>where Attr::Subject: ConstraintEntity + 'static, Attr::Resource: ConstraintEntity + 'static, Self: HasEntityWithType<STAG, Attr::Subject> + HasEntityWithType<RTAG, Attr::Resource>, Attr: SyncAttribute<Context<'ctx> = ()>,
source§impl<T, C> AcquireAttributeWithResourceAndContext<C> for Twhere
T: ConstraintT,
C: Send,
impl<T, C> AcquireAttributeWithResourceAndContext<C> for Twhere T: ConstraintT, C: Send,
fn prove_with_resource_and_context_async<'ctx, 'async_trait, Attr, const STAG: EntityTag, const RTAG: EntityTag>( self, context: C ) -> Pin<Box<dyn Future<Output = Result<ConstraintChain<STAG, RTAG, Attr, Self>, Attr::Error>> + Send + 'async_trait>>where Attr::Subject: ConstraintEntity + 'static, Attr::Resource: ConstraintEntity + 'static, C: 'async_trait, Self: HasEntityWithType<STAG, Attr::Subject> + HasEntityWithType<RTAG, Attr::Resource> + Send + 'async_trait, Attr: AsyncAttribute<Context<'ctx> = C> + 'async_trait, 'ctx: 'async_trait,
fn prove_with_resource_and_context<'ctx, Attr, const STAG: EntityTag, const RTAG: EntityTag>( self, context: C ) -> Result<ConstraintChain<STAG, RTAG, Attr, Self>, Attr::Error>where Attr::Subject: ConstraintEntity + 'static, Attr::Resource: ConstraintEntity + 'static, Self: HasEntityWithType<STAG, Attr::Subject> + HasEntityWithType<RTAG, Attr::Resource>, Attr: SyncAttribute<Context<'ctx> = C>,
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