object Chain
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Chain
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
-
class
ChainIterator[A] extends Iterator[A]
Iterator for a Chain[A].
Iterator for a Chain[A].
This is where the magic happens. To efficiently traverse into Chain.Concat instances, we build our own stack on the heap. When we descend into the LHS of a Concat we push the RHS onto this stack, so that when we exhaust the LHS we will remember to get an iterator from the RHS too.
As mentioned earlier, iterating over ChainIterator[A] is an O(n) operation, that also consumes O(n) heap (the previously-mentioned stack.)
- case class Concat[A](lhs: Chain[A], rhs: Chain[A]) extends Chain[A] with Product with Serializable
- case class Elems[A](values: Iterable[A]) extends Chain[A] with Product with Serializable
-
class
IterableChain[+A] extends Iterable[A]
Wrapper for Chain[A] that provides Iterable[A].
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val Empty: Chain[Nothing]
-
def
all[A](values: Iterable[A], moreValues: Iterable[A]*): Chain[A]
Concatenate many collections together as a Chain.
-
def
apply[A](values: Iterable[A]): Chain[A]
Wrap a collection in a Chain[A].
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
implicit
def
chainOrdering[A](implicit arg0: Ordering[A]): Ordering[Chain[A]]
scala.math.Ordering instance for Chains.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
empty[A]: Chain[A]
Produce an empty Chain[A].
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
single[A](a: A): Chain[A]
Wrap a single A value in a Chain[A].
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )