trait
Rec[+Fields] extends AnyRef
Value Members
-
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Base class for all record types. The hidden
__data*
members should only be defined and referred to by macro implementations. The specialized versions should be preferred in both cases. A concrete implementation of Rec (generated by a macro) must provide overrides for either__data
or all__data*
members.Callers may choose either of
__data
or the specialized versions, but should prefer the specialized versions whenever possible to avoid boxing.The Fields member describes the static fields of a record as a structural type. The implicit conversion Rec.fld gives access to them.
While you may extend this class normally, you probably want to use the macros provided by Macros.RecordMacros to tie the records to your backend. These macros will implement all methods on Rec. Additionaly, they provide capabilities to extend other traits (such as Serializable or a trait defined by your project) and add custom fields if required.
If you just want to create a record, use Rec.applyDynamic or Rec.applyDynamicNamed.