Struct fil_ocl::FutureMemMap [−][src]
A future which resolves to a MemMap
as soon as its creating command
completes.
[UNSTABLE]: This type’s methods may be renamed or otherwise changed at any time.
Implementations
impl<T: OclPrm> FutureMemMap<T>
[src]
pub unsafe fn new(
core: MemMapCore<T>,
len: usize,
map_event: Event,
buffer: Mem,
queue: Queue
) -> FutureMemMap<T>
[src]
core: MemMapCore<T>,
len: usize,
map_event: Event,
buffer: Mem,
queue: Queue
) -> FutureMemMap<T>
Returns a new FutureMemMap
.
pub fn set_unmap_wait_events<El>(&mut self, wait_events: El) where
El: Into<EventList>,
[src]
El: Into<EventList>,
Set an event wait list for the unmap command.
Setting a wait list here will disallow any wait list from being set later if/when calling unmap manually.
[UNSTABLE]: This method may be renamed or otherwise changed.
pub fn ewait_unmap<L: Into<EventList>>(self, wait_events: L) -> FutureMemMap<T>
[src]
Set an event wait list for the unmap command.
See ::set_unmap_wait_events
.
pub fn create_unmap_event(&mut self) -> OclResult<&mut Event>
[src]
Create an event which will be triggered (set complete) after this
future resolves into a MemMap
and after that MemMap
is dropped
or manually unmapped.
The returned event can be added to the wait list of subsequent OpenCL commands with the expectation that when all preceeding futures are complete, the event will automatically be ‘triggered’ by having its status set to complete, causing those commands to execute. This can be used to inject host side code in amongst OpenCL commands without thread blocking or extra delays of any kind.
[UNSTABLE]: This method may be renamed or otherwise changed.
pub fn enew_unmap<En>(self, enew: En) -> FutureMemMap<T> where
En: ClNullEventPtr,
[src]
En: ClNullEventPtr,
Specifies an event which will be triggered (set complete) after this
future resolves into a MemMap
and after that MemMap
is dropped
or manually unmapped.
See ::create_unmap_event
.
pub fn set_unmap_queue(&mut self, queue: Queue)
[src]
Specifies the queue to be used for the unmap command.
pub fn with_unmap_queue(self, queue: Queue) -> FutureMemMap<T>
[src]
Specifies the queue to be used for the unmap command.
pub fn unmap_event(&self) -> Option<&Event>
[src]
Returns the unmap event if it has been created.
[UNSTABLE]: This method may be renamed or otherwise changed.
pub fn wait(self) -> OclResult<MemMap<T>>
[src]
Blocks the current thread until the OpenCL command is complete and an appropriate lock can be obtained on the underlying data.
Trait Implementations
impl<T: Debug + OclPrm> Debug for FutureMemMap<T>
[src]
impl<T> Future for FutureMemMap<T> where
T: OclPrm + 'static,
[src]
T: OclPrm + 'static,
type Item = MemMap<T>
The type of value that this future will resolved with if it is successful. Read more
type Error = OclError
The type of error that this future will resolve with if it fails in a normal fashion. Read more
fn poll(&mut self) -> Poll<Self::Item, Self::Error>
[src]
pub fn wait(self) -> Result<Self::Item, Self::Error>
[src]
pub fn map<F, U>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Item) -> U,
[src]
F: FnOnce(Self::Item) -> U,
pub fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
[src]
F: FnOnce(Self::Error) -> E,
pub fn from_err<E>(self) -> FromErr<Self, E> where
E: From<Self::Error>,
[src]
E: From<Self::Error>,
pub fn then<F, B>(self, f: F) -> Then<Self, B, F> where
B: IntoFuture,
F: FnOnce(Result<Self::Item, Self::Error>) -> B,
[src]
B: IntoFuture,
F: FnOnce(Result<Self::Item, Self::Error>) -> B,
pub fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F> where
B: IntoFuture<Error = Self::Error>,
F: FnOnce(Self::Item) -> B,
[src]
B: IntoFuture<Error = Self::Error>,
F: FnOnce(Self::Item) -> B,
pub fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F> where
B: IntoFuture<Item = Self::Item>,
F: FnOnce(Self::Error) -> B,
[src]
B: IntoFuture<Item = Self::Item>,
F: FnOnce(Self::Error) -> B,
pub fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future> where
B: IntoFuture<Item = Self::Item, Error = Self::Error>,
[src]
B: IntoFuture<Item = Self::Item, Error = Self::Error>,
pub fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future> where
B: IntoFuture,
[src]
B: IntoFuture,
pub fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future> where
B: IntoFuture<Error = Self::Error>,
[src]
B: IntoFuture<Error = Self::Error>,
pub fn join3<B, C>(
self,
b: B,
c: C
) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future> where
C: IntoFuture<Error = Self::Error>,
B: IntoFuture<Error = Self::Error>,
[src]
self,
b: B,
c: C
) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future> where
C: IntoFuture<Error = Self::Error>,
B: IntoFuture<Error = Self::Error>,
pub fn join4<B, C, D>(
self,
b: B,
c: C,
d: D
) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future> where
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
B: IntoFuture<Error = Self::Error>,
[src]
self,
b: B,
c: C,
d: D
) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future> where
C: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
B: IntoFuture<Error = Self::Error>,
pub fn join5<B, C, D, E>(
self,
b: B,
c: C,
d: D,
e: E
) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future> where
C: IntoFuture<Error = Self::Error>,
E: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
B: IntoFuture<Error = Self::Error>,
[src]
self,
b: B,
c: C,
d: D,
e: E
) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future> where
C: IntoFuture<Error = Self::Error>,
E: IntoFuture<Error = Self::Error>,
D: IntoFuture<Error = Self::Error>,
B: IntoFuture<Error = Self::Error>,
pub fn into_stream(self) -> IntoStream<Self>
[src]
pub fn flatten(self) -> Flatten<Self> where
Self::Item: IntoFuture,
<Self::Item as IntoFuture>::Error: From<Self::Error>,
[src]
Self::Item: IntoFuture,
<Self::Item as IntoFuture>::Error: From<Self::Error>,
pub fn flatten_stream(self) -> FlattenStream<Self> where
Self::Item: Stream,
<Self::Item as Stream>::Error == Self::Error,
[src]
Self::Item: Stream,
<Self::Item as Stream>::Error == Self::Error,
pub fn fuse(self) -> Fuse<Self>
[src]
pub fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnOnce(&Self::Item),
[src]
F: FnOnce(&Self::Item),
pub fn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
[src]
Self: UnwindSafe,
pub fn shared(self) -> Shared<Self>
[src]
impl<T: OclPrm> Send for FutureMemMap<T>
[src]
impl<T: OclPrm> Sync for FutureMemMap<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for FutureMemMap<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Unpin for FutureMemMap<T>
impl<T> UnwindSafe for FutureMemMap<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<F> IntoFuture for F where
F: Future,
[src]
F: Future,
type Future = F
The future that this type can be converted into.
type Item = <F as Future>::Item
The item that the future may resolve with.
type Error = <F as Future>::Error
The error that the future may resolve with.
pub fn into_future(self) -> F
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,