# AsyncEnumeratorAwaitSelectorBase<TSource, TResult, TAwait> Class | UniTask

Show / Hide Table of Contents

# AsyncEnumeratorAwaitSelectorBase<TSource, TResult, TAwait> Class

###### Namespace: Cysharp.Threading.Tasks.Linq

###### Assembly: cs.temp.dll.dll

    public abstract class AsyncEnumeratorAwaitSelectorBase<TSource, TResult, TAwait> : MoveNextSource, IUniTaskSource<bool>, IUniTaskSource, IUniTaskAsyncEnumerator<TResult>, IUniTaskAsyncDisposable

##### Inheritance

System.Object → MoveNextSource → AsyncEnumeratorAwaitSelectorBase<TSource, TResult, TAwait>

##### Implements

IUniTaskSource<System.Boolean>
IUniTaskSource
IUniTaskAsyncEnumerator<TResult>
IUniTaskAsyncDisposable

#### Type Parameters

`TSource`
`TResult`
`TAwait`

### Members

#### Constructors

Name | Description
--- | ---
AsyncEnumeratorAwaitSelectorBase(IUniTaskAsyncEnumerable<TSource>, CancellationToken) |

#### Fields

Name | Description
--- | ---
cancellationToken |

#### Properties

Name | Description
--- | ---
Current |
SourceCurrent |

#### Methods

Name | Description
--- | ---
ActionCompleted(Boolean, out Boolean) |
DisposeAsync() |
IterateFinished(out Boolean) |
MoveNextAsync() |
SourceMoveNext() |
TransformAsync(TSource) |
TrySetCurrentCore(TAwait, out Boolean) |
UnwarapTask(UniTask<TAwait>, out TAwait) |
WaitAwaitCallback(out Boolean) |

### Constructors

#### AsyncEnumeratorAwaitSelectorBase(IUniTaskAsyncEnumerable<TSource>, CancellationToken)

    public AsyncEnumeratorAwaitSelectorBase(IUniTaskAsyncEnumerable<TSource> source, CancellationToken cancellationToken)

##### Parameters

`source` IUniTaskAsyncEnumerable<TSource>
`cancellationToken` System.Threading.CancellationToken

### Fields

#### cancellationToken

    protected CancellationToken cancellationToken

##### Field Value

System.Threading.CancellationToken

### Properties

#### Current

    public TResult Current { get; protected set; }

##### Property Value

TResult

#### SourceCurrent

    protected TSource SourceCurrent { get; }

##### Property Value

TSource

### Methods

#### ActionCompleted(Boolean, out Boolean)

    protected (bool waitCallback, bool requireNextIteration) ActionCompleted(bool trySetCurrentResult, out bool moveNextResult)

##### Parameters

`trySetCurrentResult` System.Boolean
`moveNextResult` System.Boolean

##### Returns

System.ValueTuple<System.Boolean, System.Boolean>

#### DisposeAsync()

    public virtual UniTask DisposeAsync()

##### Returns

UniTask

#### IterateFinished(out Boolean)

    protected (bool waitCallback, bool requireNextIteration) IterateFinished(out bool moveNextResult)

##### Parameters

`moveNextResult` System.Boolean

##### Returns

System.ValueTuple<System.Boolean, System.Boolean>

#### MoveNextAsync()

    public UniTask<bool> MoveNextAsync()

##### Returns

UniTask<System.Boolean>

#### SourceMoveNext()

    protected void SourceMoveNext()

#### TransformAsync(TSource)

    protected abstract UniTask<TAwait> TransformAsync(TSource sourceCurrent)

##### Parameters

`sourceCurrent` TSource

##### Returns

UniTask<TAwait>

#### TrySetCurrentCore(TAwait, out Boolean)

    protected abstract bool TrySetCurrentCore(TAwait awaitResult, out bool terminateIteration)

##### Parameters

`awaitResult` TAwait
`terminateIteration` System.Boolean

##### Returns

System.Boolean

#### UnwarapTask(UniTask<TAwait>, out TAwait)

    protected bool UnwarapTask(UniTask<TAwait> taskResult, out TAwait result)

##### Parameters

`taskResult` UniTask<TAwait>
`result` TAwait

##### Returns

System.Boolean

#### WaitAwaitCallback(out Boolean)

    protected (bool waitCallback, bool requireNextIteration) WaitAwaitCallback(out bool moveNextResult)

##### Parameters

`moveNextResult` System.Boolean

##### Returns

System.ValueTuple<System.Boolean, System.Boolean>

### Implements

IUniTaskSource<T>
IUniTaskSource
IUniTaskAsyncEnumerator<T>
IUniTaskAsyncDisposable