sealed trait InvertibleRemove[L <: HList, A] extends AnyRef
Similar to Shapeless's remove support for HLists but supports inverting the removal.
- Source
- InvertibleRemove.scala
- Grouped
- Alphabetic
- By Inheritance
- InvertibleRemove
- AnyRef
- Any
- by ValueEnrichedWithTuplingSupport
- by TransformSyntax
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
- abstract type Out <: HList
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toany2stringadd[InvertibleRemove[L, A]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (InvertibleRemove[L, A], B)
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toArrowAssoc[InvertibleRemove[L, A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val a: InvertibleRemove[L, A]
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toValueEnrichedWithTuplingSupport[InvertibleRemove[L, A]] performed by method ValueEnrichedWithTuplingSupport in scodec.codecs.
- Definition Classes
- ValueEnrichedWithTuplingSupport
- def as[B](implicit as: Transformer[A, B]): InvertibleRemove[L, B]
Transforms using implicitly available evidence that such a transformation is possible.
Transforms using implicitly available evidence that such a transformation is possible.
Typical transformations include converting:
- an
F[L]
for someL <: HList
to/from anF[CC]
for some case classCC
, where the types in the case class are aligned with the types inL
- an
F[C]
for someC <: Coproduct
to/from anF[SC]
for some sealed classSC
, where the component types in the coproduct are the leaf subtypes of the sealed class.
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- an
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws(classOf[java.lang.CloneNotSupportedException])
- def ensuring(cond: (InvertibleRemove[L, A]) ⇒ Boolean, msg: ⇒ Any): InvertibleRemove[L, A]
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toEnsuring[InvertibleRemove[L, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (InvertibleRemove[L, A]) ⇒ Boolean): InvertibleRemove[L, A]
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toEnsuring[InvertibleRemove[L, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: ⇒ Any): InvertibleRemove[L, A]
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toEnsuring[InvertibleRemove[L, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): InvertibleRemove[L, A]
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toEnsuring[InvertibleRemove[L, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def exmap[B](f: (A) ⇒ Attempt[B], g: (B) ⇒ Attempt[A]): InvertibleRemove[L, B]
Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def exmapc[B](f: (A) ⇒ Attempt[B])(g: (B) ⇒ Attempt[A]): InvertibleRemove[L, B]
Curried version of
exmap
.Curried version of
exmap
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toStringFormat[InvertibleRemove[L, A]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- 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
- def narrow[B](f: (A) ⇒ Attempt[B], g: (B) ⇒ A): InvertibleRemove[L, B]
Transforms using two functions,
A => Attempt[B]
andB => A
.Transforms using two functions,
A => Attempt[B]
andB => A
.The supplied functions form an injection from
B
toA
. Hence, this method converts from a larger to a smaller type. Hence, the namenarrow
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def narrowc[B](f: (A) ⇒ Attempt[B])(g: (B) ⇒ A): InvertibleRemove[L, B]
Curried version of
narrow
.Curried version of
narrow
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- 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()
- val self: InvertibleRemove[L, A]
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws(classOf[java.lang.InterruptedException])
- def widen[B](f: (A) ⇒ B, g: (B) ⇒ Attempt[A]): InvertibleRemove[L, B]
Transforms using two functions,
A => B
andB => Attempt[A]
.Transforms using two functions,
A => B
andB => Attempt[A]
.The supplied functions form an injection from
A
toB
. Hence, this method converts from a smaller to a larger type. Hence, the namewiden
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def widenOpt[B](f: (A) ⇒ B, g: (B) ⇒ Option[A]): InvertibleRemove[L, B]
Transforms using two functions,
A => B
andB => Option[A]
.Transforms using two functions,
A => B
andB => Option[A]
.Particularly useful when combined with case class apply/unapply. E.g.,
widenOpt(fa, Foo.apply, Foo.unapply)
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def widenOptc[B](f: (A) ⇒ B)(g: (B) ⇒ Option[A]): InvertibleRemove[L, B]
Curried version of
widenOpt
.Curried version of
widenOpt
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def widenc[B](f: (A) ⇒ B)(g: (B) ⇒ Attempt[A]): InvertibleRemove[L, B]
Curried version of
widen
.Curried version of
widen
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def xmap[B](f: (A) ⇒ B, g: (B) ⇒ A): InvertibleRemove[L, B]
Transforms using the isomorphism described by two functions,
A => B
andB => A
.Transforms using the isomorphism described by two functions,
A => B
andB => A
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def xmapc[B](f: (A) ⇒ B)(g: (B) ⇒ A): InvertibleRemove[L, B]
Curried version of
xmap
.Curried version of
xmap
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- def ~[B](b: B): (InvertibleRemove[L, A], B)
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toValueEnrichedWithTuplingSupport[InvertibleRemove[L, A]] performed by method ValueEnrichedWithTuplingSupport in scodec.codecs.
- Definition Classes
- ValueEnrichedWithTuplingSupport
- def →[B](y: B): (InvertibleRemove[L, A], B)
- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toArrowAssoc[InvertibleRemove[L, A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Deprecated Value Members
- def pxmap[B](f: (A) ⇒ B, g: (B) ⇒ Option[A]): InvertibleRemove[L, B]
Transforms using two functions,
A => B
andB => Option[A]
.Transforms using two functions,
A => B
andB => Option[A]
.Particularly useful when combined with case class apply/unapply. E.g.,
pxmap(fa, Foo.apply, Foo.unapply)
.- Implicit
- This member is added by an implicit conversion from InvertibleRemove[L, A] toTransformSyntax[[A]InvertibleRemove[L, A], A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[[A]InvertibleRemove[L, A]] is in scope.
- Definition Classes
- TransformSyntax
- Annotations
- @deprecated
- Deprecated
(Since version 1.7.0) Use widenOpt instead