IterableAsyncShift

class IterableAsyncShift[A, CA <: Iterable[A]]() extends AsyncShift[CA]
trait AsyncShift[CA]
class Object
trait Matchable
class Any
class IterableOpsAsyncShift[A, C, CA]
class MapOpsAsyncShift[K, V, CC, CI, CKV]
class SeqAsyncShift[A, C, CA]
class IndexedSeqAsyncShift[A, C, CA]

Value members

Concrete methods

def collectFirst[F[_], B](c: CA, monad: CpsMonad[F])(pf: PartialFunction[A, F[B]]): F[Option[B]]
def corresponds[F[_], B](c: CA, monad: CpsMonad[F])(that: IterableOnce[B])(p: (A, B) => F[Boolean]): F[Boolean]
def count[F[_]](c: CA, monad: CpsMonad[F])(p: A => F[Boolean]): F[Int]
def exists[F[_]](c: CA, monad: CpsMonad[F])(p: A => F[Boolean]): F[Boolean]
def find[F[_]](c: CA, monad: CpsMonad[F])(p: A => F[Boolean]): F[Option[A]]
def fold[F[_], A1 >: A](c: CA, monad: CpsMonad[F])(z: A1)(op: (A1, A1) => F[A1]): F[A1]
def foldLeft[F[_], B](c: CA, monad: CpsMonad[F])(z: B)(op: (B, A) => F[B]): F[B]
def foldRight[F[_], B](c: CA, monad: CpsMonad[F])(z: B)(op: (A, B) => F[B]): F[B]
def forall[F[_]](c: CA, monad: CpsMonad[F])(p: A => F[Boolean]): F[Boolean]
def foreach[F[_], U](c: CA, monad: CpsMonad[F])(f: A => F[U]): F[Unit]
def groupMapReduce[F[_], K, B](c: CA, monad: CpsMonad[F])(key: A => F[K])(f: A => F[B])(reduce: (B, B) => F[B]): F[Map[K, B]]
def maxBy[F[_], B](c: CA, monad: CpsTryMonad[F])(f: A => F[B])(cmp: Ordering[B]): F[A]
def maxByOpOption[F[_], B](c: CA, monad: CpsMonad[F])(f: A => F[B])(cmp: (B, B) => Int): F[Option[A]]
def maxByOption[F[_], B](c: CA, monad: CpsMonad[F])(f: A => F[B])(cmp: Ordering[B]): F[Option[A]]
def minBy[F[_], B](c: CA, monad: CpsTryMonad[F])(f: A => F[B])(cmp: Ordering[B]): F[A]
def minByOption[F[_], B](c: CA, monad: CpsMonad[F])(f: A => F[B])(cmp: Ordering[B]): F[Option[A]]
def reduce[F[_], B >: A](c: CA, monad: CpsTryMonad[F])(op: (B, B) => F[B]): F[B]
def reduceLeft[F[_], B >: A](c: CA, monad: CpsTryMonad[F])(op: (B, A) => F[B]): F[B]
def reduceLeftOption[F[_], B >: A](c: CA, monad: CpsTryMonad[F])(op: (B, A) => F[B]): F[Option[B]]
def reduceOption[F[_], B >: A](c: CA, monad: CpsTryMonad[F])(op: (B, B) => F[B]): F[Option[B]]
def reduceRight[F[_], B >: A](c: CA, monad: CpsTryMonad[F])(op: (A, B) => F[B]): F[B]
def reduceRightOption[F[_], B >: A](c: CA, monad: CpsTryMonad[F])(op: (A, B) => F[B]): F[Option[B]]
def shiftedFold[F[_], S, B, R](c: CA, monad: CpsMonad[F])(prolog: S, action: A => F[B], acc: (S, A, B) => S, epilog: S => R): F[R]

sequentially do action. each action is started after prev. is finished

sequentially do action. each action is started after prev. is finished

def shiftedStateFold[F[_], S, R](c: CA, monad: CpsMonad[F])(prolog: S, acc: (S, A) => F[S], epilog: S => R): F[R]
def shiftedWhile[F[_], S, R](c: CA, monad: CpsMonad[F])(prolog: S, condition: A => F[Boolean], acc: (S, Boolean, A) => S, epilog: S => R): F[R]