FreeObjectOutput

final class FreeObjectOutput[R, Ptr[_], A]
Companion:
object
class Object
trait Matchable
class Any

Value members

Concrete methods

def ++[B](that: FreeObjectOutput[R, Ptr, B])(implicit ev: A =:= Unit): FreeObjectOutput[R, Ptr, B]
def +:(r: R): FreeObjectOutput[R, Ptr, A]
def :+(r: R)(implicit ev: A =:= Unit): FreeObjectOutput[R, Ptr, Unit]
def ::(r: R): FreeObjectOutput[R, Ptr, A]
def :::(that: FreeObjectOutput[R, Ptr, Unit]): FreeObjectOutput[R, Ptr, A]
def appendTo[B](b: B, showReference: NaturalTransformation[Ptr, [α] =>> R])(implicit agg: Aggregator[B, R]): B
def appendTo[B, M[_]](b: B, deref: NaturalTransformation[Ptr, M], decorateReferenced: NaturalTransformation[Ptr, [α] =>> Decoration[R]], decorateUnreferenced: NaturalTransformation[Ptr, [α] =>> Decoration[R]], showReference: NaturalTransformation[Ptr, [α] =>> R])(implicit agg: Aggregator[B, R], E: HEqualK[Ptr], M0: BindRec[M], M1: Applicative[M]): M[B]
def appendTo[B, M[_]](b: B, deref: NaturalTransformation[Ptr, M], decorateContent: NaturalTransformation[Ptr, [α] =>> Decoration[R]], showReference: NaturalTransformation[Ptr, [α] =>> R])(implicit agg: Aggregator[B, R], E: HEqualK[Ptr], M0: BindRec[M], M1: Applicative[M]): M[B]
def eval(showReference: NaturalTransformation[Ptr, [α] =>> R]): Lst[R]
def eval[M[_]](deref: NaturalTransformation[Ptr, M], decorateReferenced: NaturalTransformation[Ptr, [α] =>> Decoration[R]], decorateUnreferenced: NaturalTransformation[Ptr, [α] =>> Decoration[R]], showReference: NaturalTransformation[Ptr, [α] =>> R])(implicit E: HEqualK[Ptr], M0: BindRec[M], M1: Applicative[M]): M[Tree[R]]

Serialize, cutting off cycles. Pointers that would cause cycles will be handled by showReference.

Serialize, cutting off cycles. Pointers that would cause cycles will be handled by showReference.

def eval[M[_]](deref: NaturalTransformation[Ptr, M], decorateContent: NaturalTransformation[Ptr, [α] =>> Decoration[R]], showReference: NaturalTransformation[Ptr, [α] =>> R])(implicit E: HEqualK[Ptr], M0: BindRec[M], M1: Applicative[M]): M[Tree[R]]

Serialize, cutting off cycles. Pointers that would cause cycles will be handled by showReference.

Serialize, cutting off cycles. Pointers that would cause cycles will be handled by showReference.

def flatMap[B](f: A => FreeObjectOutput[R, Ptr, B]): FreeObjectOutput[R, Ptr, B]
def printTree[M[_]](deref: NaturalTransformation[Ptr, M], showRef: NaturalTransformation[Ptr, [α] =>> String], lineLimit: Int, tab: String, newLine: String)(decorateReferenced: NaturalTransformation[Ptr, [α] =>> Decoration[String]], decorateUnreferenced: NaturalTransformation[Ptr, [α] =>> Decoration[String]], decorateReference: String => String)(implicit E: HEqualK[Ptr], M0: BindRec[M], M1: Applicative[M], ev: R === String): M[String]
def serialize[M[_]](implicit M: MonadObjectOutput[M, R, Ptr]): M[A]
def showAutoLabeled[M[_]](deref: NaturalTransformation[Ptr, M], showRef: NaturalTransformation[Ptr, [α] =>> String])(decorateReferenced: NaturalTransformation[Ptr, [α] =>> Decoration[String]], decorateUnreferenced: NaturalTransformation[Ptr, [α] =>> Decoration[String]], decorateReference: String => String)(implicit E: HEqualK[Ptr], M0: BindRec[M], M1: Applicative[M], ev: R === String): M[String]
def showLabeled[M[_]](deref: NaturalTransformation[Ptr, M], decorateContent: NaturalTransformation[Ptr, [α] =>> Decoration[R]], showReference: NaturalTransformation[Ptr, [α] =>> R])(implicit agg: Aggregator[StringBuilder, R], E: HEqualK[Ptr], M0: BindRec[M], M1: Applicative[M]): M[String]
def showShallow(showReference: NaturalTransformation[Ptr, [α] =>> R])(implicit agg: Aggregator[StringBuilder, R]): String
def writeTo[O](out: O)(implicit O: ObjectOutput[O, R, Ptr]): O