package tag
Use Shapeless tags to refine int/long values as tag.Signed, tag.Unsigned or tag.Fixed.
- Source
- package.scala
- Alphabetic
- By Inheritance
- tag
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
@@[+T, U] = T with Tagged[U]
Shadow shapeless tag type
-
sealed
trait
Fixed extends AnyRef
Always four/height bytes.
Always four/height bytes. More efficient than uint32/uint64 if values are often greater than 228/264 (fixed32, fixed64)
-
sealed
trait
Signed extends AnyRef
Uses variable-length encoding.
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32/64s (sint32, sint64)
-
sealed
trait
Unsigned extends AnyRef
Uses variable-length encoding for Unsigned values (uint32, uint64).
Value Members
-
def
fixed[T](t: T)(implicit arg0: NumericTagRestriction[T]): @@[T, Fixed]
Tag a numeric field with a
Fixed
tag -
def
signed[T](t: T)(implicit arg0: NumericTagRestriction[T]): @@[T, Signed]
Tag a numeric field with a
Signed
tag -
def
signedFixed[T](t: T)(implicit arg0: NumericTagRestriction[T]): @@[T, Signed with Fixed]
Tag a numeric field with a
Signed
andFixed
tag -
def
unsigned[T](t: T)(implicit arg0: NumericTagRestriction[T]): @@[T, Unsigned]
Tag a numeric field with a
Unsigned
tag
This is the API documentation for Protoless, a Protobuf library for Scala.
The main entry point to use protoless is the io.protoless.generic package object, which allow to derive encoders and decoders for your case classes.
The library is split in several modules:
Please see the guide for more information on how to use protoless.