Class

shapeless.syntax

RecordOps

Related Doc: package syntax

Permalink

final class RecordOps[L <: HList] extends AnyVal with Serializable

Record operations on HList's with field-like elements.

Linear Supertypes
Serializable, Serializable, AnyVal, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RecordOps
  2. Serializable
  3. Serializable
  4. AnyVal
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RecordOps(l: L)

    Permalink

Type Members

  1. type FSL[K] = Selector[L, K]

    Permalink

Value Members

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

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

    Permalink
    Definition Classes
    Any
  3. def +[F](f: F)(implicit updater: Updater[L, F]): Out

    Permalink

    Updates or adds to this record a field of type F.

  4. def -[V, Out <: HList](k: Witness)(implicit remover: ops.record.Remover.Aux[L, T, (V, Out)]): Out

    Permalink

    Remove the field associated with the singleton typed key k, returning the updated record.

    Remove the field associated with the singleton typed key k, returning the updated record. Only available if this record has a field with keyType equal to the singleton type k.T.

  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  6. def apply(k: Witness)(implicit selector: Selector[L, T]): Out

    Permalink

    Returns the value associated with the singleton typed key k.

    Returns the value associated with the singleton typed key k. Only available if this record has a field with with keyType equal to the singleton type k.T.

    Note that this can creates a bogus ambiguity with HListOps#apply as described in https://issues.scala-lang.org/browse/SI-5142. If this method is accessible the conflict can be worked around by using HListOps#at instead of HListOps#apply.

  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def fieldAt(k: Witness)(implicit selector: Selector[L, T]): FieldType[T, Out]

    Permalink

    Returns the value associated with the singleton typed key k.

    Returns the value associated with the singleton typed key k. Only available if this record has a field with with keyType equal to the singleton type k.T.

  9. def fields(implicit fields: Fields[L]): Out

    Permalink

    Returns a HList made of the key-value pairs of this record.

  10. def get(k: Witness)(implicit selector: Selector[L, T]): Out

    Permalink

    Returns the value associated with the singleton typed key k.

    Returns the value associated with the singleton typed key k. Only available if this record has a field with with keyType equal to the singleton type k.T.

  11. def getClass(): Class[_ <: AnyVal]

    Permalink
    Definition Classes
    AnyVal → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. def keys(implicit keys: Keys[L]): Out

    Permalink

    Returns the keys of this record as an HList of singleton typed values.

  14. val l: L

    Permalink
  15. def mapValues(f: Poly)(implicit mapValues: MapValues[f.type, L]): Out

    Permalink

    Maps a higher rank function across the values of this record.

  16. def merge[M <: HList](m: M)(implicit merger: Merger[L, M]): Out

    Permalink

    Returns the union of this record and another record.

  17. def record: DynamicRecordOps[L]

    Permalink

    Returns a wrapped version of this record that provides selectDynamic access to fields.

  18. def remove(k: Witness)(implicit remover: Remover[L, T]): ops.record.Remover.Out

    Permalink

    Remove the field associated with the singleton typed key k, returning both the corresponding value and the updated record.

    Remove the field associated with the singleton typed key k, returning both the corresponding value and the updated record. Only available if this record has a field with keyType equal to the singleton type k.T.

  19. def renameField(oldKey: Witness, newKey: Witness)(implicit renamer: Renamer[L, T, T]): Out

    Permalink

    Rename the field associated with the singleton typed key oldKey.

    Rename the field associated with the singleton typed key oldKey. Only available if this record has a field with keyType equal to the singleton type oldKey.T.

  20. def toMap[K, V](implicit toMap: Aux[L, K, V]): Map[K, V]

    Permalink

    Returns a Map whose keys and values are typed as the Lub of the keys and values of this record.

  21. def toString(): String

    Permalink
    Definition Classes
    Any
  22. def updateWith[W](k: WitnessWith[FSL])(f: (Out) ⇒ W)(implicit modifier: Modifier[L, WitnessWith.T, Out, W]): Out

    Permalink

    Updates a field having a value with type A by given function.

  23. def updated[V](k: Witness, v: V)(implicit updater: Updater[L, FieldType[T, V]]): Out

    Permalink

    Updates or adds to this record a field with key type F and value type F#valueType.

  24. def values(implicit values: Values[L]): Out

    Permalink

    Returns a HList of the values of this record.

Inherited from Serializable

Inherited from Serializable

Inherited from AnyVal

Inherited from Any

Ungrouped