<Type Name="IConcurrentDeque<T>" FullName="Mono.Threading.Tasks.IConcurrentDeque<T>"> <TypeSignature Language="C#" Value="public interface IConcurrentDeque<T>" /> <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IConcurrentDeque`1<T>" /> <AssemblyInfo> <AssemblyName>Mono.Parallel</AssemblyName> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <TypeParameters> <TypeParameter Name="T" /> </TypeParameters> <Interfaces /> <Docs> <typeparam name="T">To be added.</typeparam> <summary>Define a common interface for ABP-type deque data structure used in work-stealing algorithm.</summary> <remarks>To be added.</remarks> </Docs> <Members> <Member MemberName="GetEnumerable"> <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerable<T> GetEnumerable ();" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.Generic.IEnumerable`1<!T> GetEnumerable() cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.Collections.Generic.IEnumerable<T></ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Returns an <see cref="T:System.Collections.Generic.IEnumerable<T>" /> equivalent of the deque to allow enumeration. </summary> <returns>An <see cref="T:System.Collections.Generic.IEnumerable<T>" /> representation of the elements in the deque (can be the object itself). </returns> <remarks>Implementation can return <see langword="null" /> if the operation is not supported.</remarks> </Docs> </Member> <Member MemberName="PopBottom"> <MemberSignature Language="C#" Value="public Mono.Threading.Tasks.PopResult PopBottom (out T obj);" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Mono.Threading.Tasks.PopResult PopBottom(!T obj) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>Mono.Threading.Tasks.PopResult</ReturnType> </ReturnValue> <Parameters> <Parameter Name="obj" Type="T&" RefType="out" /> </Parameters> <Docs> <param name="obj">To be added.</param> <summary>Retrieve an element from one end of the deque.</summary> <returns>The result of the operation.</returns> <remarks>The implementation of this method is NOT supposed to be thread-safe.</remarks> </Docs> </Member> <Member MemberName="PopTop"> <MemberSignature Language="C#" Value="public Mono.Threading.Tasks.PopResult PopTop (out T obj);" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Mono.Threading.Tasks.PopResult PopTop(!T obj) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>Mono.Threading.Tasks.PopResult</ReturnType> </ReturnValue> <Parameters> <Parameter Name="obj" Type="T&" RefType="out" /> </Parameters> <Docs> <param name="obj">The eventually retrieved object.</param> <summary>Retrieve an element from the other end of the deque.</summary> <returns>Result of the operation.</returns> <remarks>The implementation of this method is supposed thread-safe.</remarks> </Docs> </Member> <Member MemberName="PushBottom"> <MemberSignature Language="C#" Value="public void PushBottom (T obj);" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PushBottom(!T obj) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="obj" Type="T" /> </Parameters> <Docs> <param name="obj">To be added.</param> <summary>Push an element at one end of the deque.</summary> <remarks>The implementation of this method is NOT supposed to be thread-safe.</remarks> </Docs> </Member> </Members> </Type>