All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avsystem.commons.redis.util.FoldingBuilder.scala Maven / Gradle / Ivy

package com.avsystem.commons
package redis.util

import scala.collection.mutable

class FoldingBuilder[A, B](zero: B, fun: (B, A) => B) extends mutable.Builder[A, B] {
  private[this] var res = zero
  def +=(elem: A) = {
    res = fun(res, elem)
    this
  }
  def clear(): Unit = res = zero
  def result(): B = res
}

object UnitBuilder extends mutable.Builder[Any, Unit] {
  def +=(elem: Any) = this
  def clear() = ()
  def result() = ()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy