com.github.tarao.record4s
package com.github.tarao.record4s
Members list
Type members
Classlikes
Base class for records.
Base class for records.
Example
val r = %(name = "tarao", age = 3)
// val r: com.github.tarao.record4s.%{val name: String; val age: Int} = %(name = tarao, age = 3)
r.name
// val res0: String = tarao
r.age
// val res1: Int = 3
Attributes
- Source
- Record.scala
- Supertypes
- Known subtypes
-
class MapRecord
abstract class ArrayRecord[R] extends ProductRecord, Dynamic
Record class with constant-time field access.
Record class with constant-time field access.
It provides extensible records in a different way than %
. There are following differences compared to %
.
- Field access is faster (constant time)
- Creation is faster
- Update time grows significantly when record size grows
- Compilation is a bit slower
- No implicit upcast
Example
val r = ArrayRecord(name = "tarao", age = 3)
// val r: com.github.tarao.record4s.ArrayRecord[(("name", String), ("age", Int))] = ArrayRecord(name = tarao, age = 3)
r.name
// val res0: String = tarao
r.age
// val res1: Int = 3
Attributes
- Companion
- object
- Source
- ArrayRecord.scala
- Supertypes
-
trait Dynamicclass ProductRecordtrait Producttrait Equalstrait Recordclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class VectorRecord
object ArrayRecord extends Extensible[EmptyTuple], ArrayRecordPlatformSpecific
Attributes
- Companion
- class
- Source
- ArrayRecord.scala
- Supertypes
- Self type
-
ArrayRecord.type
object ArrayRecordMacros
Attributes
- Source
- ArrayRecordMacros.scala
- Supertypes
- Self type
-
ArrayRecordMacros.type
Attributes
- Source
- PlatformSpecific.scala
- Supertypes
- Known subtypes
-
object ArrayRecord.type
Attributes
- Companion
- object
- Source
- Converter.scala
- Supertypes
object Converter
Attributes
- Companion
- trait
- Source
- Converter.scala
- Supertypes
- Self type
-
Converter.type
object Macros
Attributes
- Source
- Macros.scala
- Supertypes
- Self type
-
Macros.type
A concrete record class.
A concrete record class.
This class is exposed due to inlining but not intended to be used directly.
Attributes
- Source
- Record.scala
- Supertypes
abstract class ProductRecord extends Record, Product
Base record class compatible with Product.
Base record class compatible with Product.
Attributes
- Companion
- object
- Source
- ArrayRecord.scala
- Supertypes
- Known subtypes
-
class ArrayRecord[R]class VectorRecord
object ProductRecord
Attributes
- Companion
- class
- Source
- ArrayRecord.scala
- Supertypes
- Self type
-
ProductRecord.type
trait Record
Base trait for record types.
Base trait for record types.
This trait is a placeholder to avoid trouble with defining methods on companion object of %
.
Attributes
- Companion
- object
- Source
- Record.scala
- Supertypes
- Known subtypes
object Record extends RecordPlatformSpecific
Attributes
- Companion
- trait
- Source
- Record.scala
- Supertypes
- Self type
-
Record.type
Attributes
- Companion
- object
- Source
- RecordLike.scala
- Supertypes
- Known subtypes
object RecordLike
Attributes
- Companion
- trait
- Source
- RecordLike.scala
- Supertypes
- Self type
-
RecordLike.type
trait RecordPlatformSpecific
Attributes
- Source
- PlatformSpecific.scala
- Supertypes
- Known subtypes
-
object Record.type
final class Selector[T <: Tuple](val labels: Seq[String]) extends Dynamic
Attributes
- Companion
- object
- Source
- Selector.scala
- Supertypes
object Selector
Attributes
- Companion
- class
- Source
- Selector.scala
- Supertypes
- Self type
-
Selector.type
final class Unselector[T <: Tuple] extends Dynamic
Attributes
- Companion
- object
- Source
- Selector.scala
- Supertypes
object Unselector
Attributes
- Companion
- class
- Source
- Selector.scala
- Supertypes
- Self type
-
Unselector.type
final class VectorRecord extends ArrayRecord[EmptyTuple]
A concrete record class.
A concrete record class.
This class is exposed due to inlining but not intended to be used directly.
Attributes
- Source
- ArrayRecord.scala
- Supertypes
-
class ArrayRecord[EmptyTuple]trait Dynamicclass ProductRecordtrait Producttrait Equalstrait Recordclass Objecttrait Matchableclass AnyShow all
Value members
Concrete fields
Attributes
- Source
- Record.scala
Attributes
- Source
- Selector.scala
Attributes
- Source
- Selector.scala
In this article