Class

scala.meta.internal.fastparse.utils

IteratorParserInput

Related Doc: package utils

Permalink

case class IteratorParserInput[Elem, Repr](data: Iterator[Repr])(implicit repr: ReprOps[Elem, Repr], converter: ReprOps[Elem, Repr], ct: ClassTag[Elem]) extends ParserInput[Elem, Repr] with Product with Serializable

Contains buffer - queue of elements that extends from given iterator when particular elements are requested; and shrinks by calling dropBuffer method.

Generally, at any specific time this buffer contains "suffix" of given iterator, e.g. some piece of data from past calls of next, which extends by requesting new batches from iterator. Therefore we can denote the same notation of indices as for regular Array or more abstract IndexedSeq. The only difference is when index doesn't fit into the bounds of current buffer either the new batches are requested to extend the buffer, either it's inaccessible at all, so calling of dropBuffer should guarantee that there won't be any attempts to access to the elements in dropped part of input.

Linear Supertypes
Serializable, java.io.Serializable, Product, Equals, ParserInput[Elem, Repr], IsReachable[Elem], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IteratorParserInput
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ParserInput
  7. IsReachable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new IteratorParserInput(data: Iterator[Repr])(implicit repr: ReprOps[Elem, Repr], converter: ReprOps[Elem, Repr], ct: ClassTag[Elem])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(index: Int): Elem

    Permalink

    Requests batches until given index and in case of success returns needed element.

    Requests batches until given index and in case of success returns needed element.

    Definition Classes
    IteratorParserInputParserInputIsReachable
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def checkTraceable(): Nothing

    Permalink
    Definition Classes
    IteratorParserInputParserInput
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. val data: Iterator[Repr]

    Permalink
  9. def dropBuffer(index: Int): Unit

    Permalink

    Drops all elements before index not inclusive.

    Drops all elements before index not inclusive.

    Definition Classes
    IteratorParserInputParserInput
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def innerLength: Int

    Permalink

    returns

    Length of the internal buffer.

    Definition Classes
    IteratorParserInputParserInput
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. def isReachable(index: Int): Boolean

    Permalink

    Requests batches until index of last retrieved element is less than index and, when it's possible, returns true, otherwise false.

    Requests batches until index of last retrieved element is less than index and, when it's possible, returns true, otherwise false.

    Definition Classes
    IteratorParserInputParserInputIsReachable
  16. def length: Int

    Permalink

    returns

    Index of the last element which buffer contains.

    Definition Classes
    IteratorParserInputParserInput
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. implicit val repr: ReprOps[Elem, Repr]

    Permalink
    Definition Classes
    IteratorParserInputParserInput
  21. def slice(from: Int, until: Int): Repr

    Permalink

    Also requests batches to the until.

    Also requests batches to the until. If the current buffer is too small to provide some part of data after from bound, lower bound of slice is cut to the minimum of from and first index of accessible element in the buffer.

    returns

    Slice of internal data. For IndexedSeq mode it works as regular slice, if until overshoots the end of input, it just ignores it and behaves like until equals to the length of input. Same for Iterator mode, but it requests batches while the index of last retrieved element is less than until and if until is farther away than any element, it ignores this too.

    Definition Classes
    IteratorParserInputParserInput
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from java.io.Serializable

Inherited from Product

Inherited from Equals

Inherited from ParserInput[Elem, Repr]

Inherited from IsReachable[Elem]

Inherited from AnyRef

Inherited from Any

Ungrouped