object HList
Contains implementations for HList and implicit definitions to build the constraint typeclasses necessary for operations.
Author:
Harshad Deo
- Since
0.1
- Grouped
- Alphabetic
- By Inheritance
- HList
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
HCons
[+H, +T <: HList](head: H, tail: T) extends HList with Product with Serializable
Cons cell of a HList
Cons cell of a HList
Author:
Harshad Deo
- H
Type of the head of the HList
- T
Type of the tail if the HList
- Since
0.1
- sealed trait HReverseResult [A, C, R] extends AnyRef
-
class
IndexedOps
[HL <: HList, Before <: HList, At, After <: HList] extends AnyRef
Scala collection like operations on HLists given an Indexer
Scala collection like operations on HLists given an Indexer
Author:
Harshad Deo
- HL
Type of the HList
- Before
Type of the sublist before the index
- At
Type of element at the index
- After
Type of the sublist after the index
- Since
0.1
-
sealed
trait
Indexer
[HL, Before, At, After] extends AnyRef
Factorizes a HList into sublists of elemets before, the element at, and the element after, as per some indexation scheme.
Factorizes a HList into sublists of elemets before, the element at, and the element after, as per some indexation scheme.
Author:
Harshad Deo
- HL
HList being factorized
- Before
Type of the sublist before the index position
- At
Type of the element at the index position
- After
Type of the sublist after the index position
- Since
0.1
-
class
LazyZipper
[PHL <: HList, FHL <: HList] extends AnyRef
Arbitrary arity zipper in which the common context for all the elements is scala.collection.immutable.Stream
Arbitrary arity zipper in which the common context for all the elements is scala.collection.immutable.Stream
Author:
Harshad Deo
- PHL
Input HList
- FHL
Downtransformed type of PHL. For details, see constraint.DownTransformConstraint
- Since
0.1
-
sealed
trait
PIndexer
[N, HL, Before, At, After] extends Indexer[HL, Before, At, After]
Indexed based on position from the head of the HList.
Indexed based on position from the head of the HList. Indices are, by convention, 0-based
Author:
Harshad Deo
- N
TypeIndex at which to Index
- HL
Type of the HList being indexed
- Before
Type of the sublist before the index position
- At
Type of the element at the index position
- After
Type of the sublist after the index position
- Since
0.1
-
class
StrictZipper
[PHL <: HList, M[_] <: Traversable[_], FHL <: HList, THL <: HList] extends AnyRef
Arbitrary arity zipper in which the elements share common context that is a subtype of Traversable and has strict evaluation semantics (not a scala.collection.immutable.Stream)
Arbitrary arity zipper in which the elements share common context that is a subtype of Traversable and has strict evaluation semantics (not a scala.collection.immutable.Stream)
Author:
Harshad Deo
- PHL
Input HList
- M
Common context of the types of the HList
- FHL
Downconverted type of PHL. For details, see constraint.DownTransformConstraint
- THL
Result of applying a M ~> Traversable transformation on PHL
- Since
0.1
-
sealed
trait
TIndexer
[HL <: HList, Before <: HList, At, After <: HList] extends Indexer[HL, Before, At, After]
Index based on type.
Index based on type. Requesters should constrain the At type. If multiple elements have the same type as the constraint, the one furthest from the head will be chosen.
Author:
Harshad Deo
- HL
HList being indexed
- Before
Type of the sublist before the index
- At
Type of the index constraint
- After
Type of the sublist after the index
- Since
0.1
-
class
Tip
[S, HL <: HList] extends AnyRef
Marker trait for a type indexed on an hlist.
Marker trait for a type indexed on an hlist.
Author:
Harshad Deo
- S
Type on which the HList is indexed
- HL
Type of the HList
- Since
0.1
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
implicit
def
hAtConstraint[N, HL <: HList, At](implicit ev: PIndexer[N, HL, _, At, _]): AtConstraint[N, HL, At]
Builder of constraint.AtConstraint for HLists
Builder of constraint.AtConstraint for HLists
Author:
Harshad Deo
- N
Type Index to get
- HL
HList from which to get
- At
Type of the result
- Since
0.1
-
implicit
def
hAtRightConstraint[L <: Dense, HL <: HList, N <: Dense, D, A](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, +[N, _1], D], ev2: PIndexer[D, HL, _, A, _]): AtRightConstraint[N, HL, A]
Builder of constraint.AtRightConstraint for HLists
Builder of constraint.AtRightConstraint for HLists
Author:
Harshad Deo
- L
Lenght of the HList
- HL
HList from which to get
- N
type Index at which to get, from the right
- D
Type index at which to get, from the left
- A
Type of the result
- Since
0.1
-
implicit
def
hBaseToListConstraint[H, T](implicit ev: <:<[H, T]): ListBuilderConstraint[:+:[H, HNil], T]
Base case of constraint.ListBuilderConstraint for HLists
Base case of constraint.ListBuilderConstraint for HLists
Author:
Harshad Deo
- H
Type of the head of the HList
- T
LUB of the HList
- Since
0.1
-
implicit
def
hConsAppendConstraint[H, T <: HList, B <: HList, R <: HList](implicit ev: AppendConstraint[T, B, R]): AppendConstraint[:+:[H, T], B, :+:[H, R]]
Induction case constraint.AppendConstraint for HLists
Induction case constraint.AppendConstraint for HLists
Author:
Harshad Deo
- H
head of the left hand operand
- T
tail of the left hand operand
- B
list being appended
- R
result of appending B to T
- Since
0.1
-
implicit
def
hConsApplyConstraint[I, O, FTL <: HList, InTl <: HList, OutTl <: HList](implicit ev: ApplyConstraint[FTL, InTl, OutTl]): ApplyConstraint[:+:[(I) ⇒ O, FTL], :+:[I, InTl], :+:[O, OutTl]]
Induction case for constraint.ApplyConstraint for HLists
Induction case for constraint.ApplyConstraint for HLists
If the head of the hlist of functions is of type I => O and the head of the hlist of inputs is of type I, the head of the hlist of outputs of type O
Author:
Harshad Deo
- I
head of hlist of inputs
- O
head of hlist of outputs
- FTL
tail of the hlist of functions
- InTl
tail of the hlist of inputs
- OutTl
tail of the hlist of outputs
- Since
0.1
-
implicit
def
hConsDownTransformConstraint[M[_], X, TL <: HList, TlOp <: HList, H](implicit ev0: DownTransformConstraint[TL, TlOp, M], ev1: (H) ⇒ M[X]): DownTransformConstraint[:+:[H, TL], :+:[X, TlOp], M]
Induction case for constraint.DownTransformConstraint for HLists
Induction case for constraint.DownTransformConstraint for HLists
Author:
Harshad Deo
- M
Context from which to downconvert
- X
Down converted type at the head
- TL
Tail of the input HList
- TlOp
Tail of the downconverted result
- H
Head of the input HList
- Since
0.1
-
implicit
def
hConsExternalUnzipConstraint[H1, H2, T <: HList, TR1 <: HList, TR2 <: HList](implicit unzipTail: ExternalUnzipConstraint[T, TR1, TR2]): ExternalUnzipConstraint[:+:[(H1, H2), T], :+:[H1, TR1], :+:[H2, TR2]]
Induction case for constraint.ExternalUnzipConstraint for HLists
Induction case for constraint.ExternalUnzipConstraint for HLists
Author:
Harshad Deo
- H1
Type of the first element of the tuple at the head of the input list
- H2
Type of the second element of the tuple at the head of the input list
- T
Type of the tail of the input hlist
- TR1
Type of the first unzip result of the tail
- TR2
Type of the second unzip result of the tail
- Since
0.1
-
implicit
def
hConsExternalZipConstraintNil0[HA, HB, TA <: HList, TB <: HList, TR <: HList](implicit ev: ExternalZipConstraint[TA, TB, TR]): ExternalZipConstraint[:+:[HA, TA], :+:[HB, TB], :+:[(HA, HB), TR]]
Induction case for constraint.ExternalZipConstraint for HLists, given that both tails are non-empty
Induction case for constraint.ExternalZipConstraint for HLists, given that both tails are non-empty
Author:
Harshad Deo
- HA
Type of the head of the first HList to be zipped
- HB
Type of the head of the second HList to be zipped
- TA
Type of the tail of first HList to be zipped
- TB
Type of the tail of the second HList to be zipped
- TR
Type of the result of zipping TA and TB
- Since
0.1
-
implicit
def
hConsExternalZipConstraintNil1[H, T <: HList]: ExternalZipConstraint[HNil, :+:[H, T], HNil]
Induction case for constraint.ExternalZipConstraint for HLists, given that the tail of the first HList is empty
Induction case for constraint.ExternalZipConstraint for HLists, given that the tail of the first HList is empty
Author:
Harshad Deo
- H
Head of the non-empty HList
- T
Tail of the non-empty HList
- Since
0.1
-
implicit
def
hConsExternalZipConstraintNil2[H, T <: HList]: ExternalZipConstraint[:+:[H, T], HNil, HNil]
Induction case for constraint.ExternalZipConstraint for HLists, given that the tail of the second HList is empty
Induction case for constraint.ExternalZipConstraint for HLists, given that the tail of the second HList is empty
Author:
Harshad Deo
- H
Type of the head of the non-empty HList
- T
Type of the tail of the non-empty HList
- Since
0.1
-
implicit
def
hConsLengthConstraint[H, T <: HList, L <: Dense](implicit ev: LengthConstraint[T, L]): LengthConstraint[:+:[H, T], +[L, _1]]
Induction case for constraint.LengthConstraint for HLists
Induction case for constraint.LengthConstraint for HLists
Author:
Harshad Deo
- H
Type of the head
- T
Type of the tail
- L
Length of the tail
- Since
0.1
-
implicit
def
hConsReverseAppendResult[H, T <: HList, CP <: HList, R <: HList](implicit ev: HReverseResult[T, :+:[H, CP], R]): HReverseResult[:+:[H, T], CP, R]
Induction case of HReverseResult for HLists
Induction case of HReverseResult for HLists
Author:
Harshad Deo
- H
Type of the head of the list being reversed
- T
Type of the tail of the list being reversed
- CP
Type of intermediate reversal result
- R
Type of Reversed HList
- Since
0.1
-
implicit
def
hConsToListConsConstraint[H, TL <: HList, T](implicit ev0: <:<[H, T], ev1: ListBuilderConstraint[TL, T]): ListBuilderConstraint[:+:[H, TL], T]
Induction case of constraint.ListBuilderConstraint for HLists
Induction case of constraint.ListBuilderConstraint for HLists
Author:
Harshad Deo
- H
Type of the head of the input HList
- TL
Type of the tail of the input HList
- T
LUB of the types of the HList
- Since
0.1
-
implicit
def
hConsTransformerConstraint[M[_], N[_], X, TL <: HList, TlOp <: HList, H](implicit ev0: TransformConstraint[TL, TlOp, M, N], ev1: (H) ⇒ M[X]): TransformConstraint[:+:[H, TL], :+:[N[X], TlOp], M, N]
Induction case of constraint.TransformConstraint for HLists
Induction case of constraint.TransformConstraint for HLists
Author:
Harshad Deo
- M
Input context
- N
Output context
- X
Down converted type of the head of the input hlist
- TL
Tail of the input hlist
- TlOp
Tail of the transformed HList
- H
Type of the head of the input hlist
- Since
0.1
-
implicit
def
hDropConstraint[N, HL <: HList, At, After <: HList](implicit ev: PIndexer[N, HL, _, At, After]): DropConstraint[N, HL, :+:[At, After]]
Builder of constraint.DropConstraint for HLists
Builder of constraint.DropConstraint for HLists
Author:
Harshad Deo
- N
Type index of the number of elements to drop
- HL
Type of list from which to drop
- At
Type of the element at the index specified by N
- After
Type of the sublist after the element specified by N
- Since
0.1
-
implicit
def
hDropRightConstraint[N, L <: Dense, D, HL <: HList, R <: HList](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, N, D], ev2: PIndexer[D, HL, R, _, _]): DropRightConstraint[N, HL, R]
Builder of constraint.DropRightConstraint for HLists
Builder of constraint.DropRightConstraint for HLists
Author:
Harshad Deo
- N
Type Index of the number of elements to drop (from the right)
- L
Length of the HList
- D
Type index of the number of elements to take (from the left)
- HL
Type of the HList on which to apply the operation
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hForeachConstraint1[C, H](implicit ev: (H) ⇒ C): ForeachConstraint[:+:[H, HNil], C]
Base case for constraint.ForeachConstraint for HLists
Base case for constraint.ForeachConstraint for HLists
Author:
Harshad Deo
- C
Common type on which the operation is defined
- H
Head of the HList
- Since
0.1
-
implicit
def
hForeachConstraintN[C, H, TL <: HList](implicit ev0: ForeachConstraint[TL, C], ev1: (H) ⇒ C): ForeachConstraint[:+:[H, TL], C]
Induction case for constraint.ForeachConstraint for HLists
Induction case for constraint.ForeachConstraint for HLists
Author:
Harshad Deo
- C
Common type on which the operation is defined
- H
Type of the head of the HList
- TL
Type of the tail of the HList
- Since
0.1
-
implicit
def
hIndexFlatMapConstraint[N, HL <: HList, At, T <: HList, R <: HList, Before <: HList, After <: HList, R0 <: HList](implicit ev0: PIndexer[N, HL, Before, At, After], ev1: AppendConstraint[T, After, R0], ev2: AppendConstraint[Before, R0, R]): IndexFlatMapConstraint[N, HL, At, T, R]
Builder of constraint.IndexFlatMapConstraint for HLists
Builder of constraint.IndexFlatMapConstraint for HLists
Author:
Harshad Deo
- N
Type index of the element to flatmap
- HL
Type of the hlist on which to apply the operation
- At
Type of the element at index N
- T
Type of the HList generated by the flatmap operation
- R
Type of the resultant HList
- Before
Type of the sublist before index N
- After
Type of the sublist after index N
- R0
Type of the HList obtained by appending T and After
- Since
0.1
-
implicit
def
hIndexFlatMapRightConstraint[N <: Dense, L <: Dense, D, HL <: HList, At, Before <: HList, After <: HList, T <: HList, R0 <: HList, R <: HList](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, +[N, _1], D], ev2: PIndexer[D, HL, Before, At, After], ev3: AppendConstraint[T, After, R0], ev4: AppendConstraint[Before, R0, R]): IndexFlatMapRightConstraint[N, HL, At, T, R]
Builder of constraint.IndexFlatMapRightConstraint for HLists
Builder of constraint.IndexFlatMapRightConstraint for HLists
Author:
Harshad Deo
- N
Type index of the element to flatmap from the right
- L
Lenght of the HList
- D
Type index of the element to flatmap from the left
- HL
Type of the HList on which to apply the operation
- At
Type of the element at index D
- Before
Type of the sublist before index D
- After
Type of the sublist after index D
- T
Type of the HList obtained by the flatmap operation
- R0
Type of the HList obtained by appending T and After
- R
Type of the resulting HList
- Since
0.1
-
implicit
def
hIndexMapConstraint[N, HL <: HList, A, Before <: HList, After <: HList, T, R <: HList](implicit ev0: PIndexer[N, HL, Before, A, After], ev1: AppendConstraint[Before, :+:[T, After], R]): IndexMapConstraint[N, HL, A, T, R]
Builder of constraint.IndexMapConstraint for HLists
Builder of constraint.IndexMapConstraint for HLists
Author:
Harshad Deo
- N
Type index of the element to map
- HL
Type of the HList on which to apply the operation
- A
Type of the element at index N
- Before
Type of the sublist before index N
- After
Type of the sublist after index N
- T
Type of the element obtained by the map operation
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hIndexMapRightConstraint[N <: Dense, L <: Dense, D, HL <: HList, At, Before <: HList, After <: HList, T, R <: HList](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, +[N, _1], D], ev2: PIndexer[D, HL, Before, At, After], ev3: AppendConstraint[Before, :+:[T, After], R]): IndexMapRightConstraint[N, HL, At, T, R]
Builder of constraint.IndexMapRightConstraint for HLists
Builder of constraint.IndexMapRightConstraint for HLists
Author:
Harshad Deo
- N
Type index of the element to map, from the right
- L
Length of the HList
- D
Type index of the element to map, from the left
- At
Type of the element at index D
- Before
Type of the sublist before index D
- After
Type of the sublist after index D
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hInserMConstraint[N, HL <: HList, Before <: HList, At, After <: HList, T <: HList, R0 <: HList, R <: HList](implicit ev0: PIndexer[N, HL, Before, At, After], ev1: AppendConstraint[T, :+:[At, After], R0], ev2: AppendConstraint[Before, R0, R]): InsertMConstraint[N, HL, T, R]
Builder of constraint.InsertMConstraint for HLists
Builder of constraint.InsertMConstraint for HLists
Author:
Harshad Deo
- N
Type Index at which to insert
- HL
Type of the HList on which to perform the operation
- Before
Type of the sublist before index N
- At
Type of the element at index N
- After
Type of the sublist after index N
- T
Type of the HList to insert
- R0
Type of the Hlist obtained by appending T and At :+: After
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hInsertConstraint[N, HL <: HList, Before <: HList, At, After <: HList, T, R <: HList](implicit ev0: PIndexer[N, HL, Before, At, After], ev1: AppendConstraint[Before, :+:[T, :+:[At, After]], R]): InsertConstraint[N, HL, T, R]
Builder of constraint.InsertConstraint for HLists
Builder of constraint.InsertConstraint for HLists
Author:
Harshad Deo
- N
Type index at which to indert
- HL
Type of the HList on which to apply the operation
- Before
Type of the sublist before index N
- At
Type of the element at index N
- After
Type of the sublist after index N
- T
Type of the element to indert
- R
Type of the result
- Since
0.1
-
implicit
def
hInsertMRightConstraint[N <: Dense, L <: Dense, D, HL <: HList, Before <: HList, At, After <: HList, T <: HList, R0 <: HList, R <: HList](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, +[N, _1], D], ev2: PIndexer[D, HL, Before, At, After], ev3: AppendConstraint[T, After, R0], ev4: AppendConstraint[Before, :+:[At, R0], R]): InsertMRightConstraint[N, HL, T, R]
Builder of constraint.InsertMRightConstraint for HLists
Builder of constraint.InsertMRightConstraint for HLists
Author:
Harshad Deo
- N
Type index at which to insert (from the right)
- L
Length of the HList
- D
Type index at which to insert (from the left)
- HL
Type of the HList on which to perform the operation
- Before
Type of the sublist before index D
- At
Type of the sublist at index D
- After
Type of the sublist after index D
- T
Type of the HList to insert
- R0
Type of the HList obtained by appending T and After
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hInsertRightConstraint[N <: Dense, L <: Dense, D, HL <: HList, Before <: HList, At, After <: HList, T, R <: HList](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, +[N, _1], D], ev2: PIndexer[D, HL, Before, At, After], ev3: AppendConstraint[Before, :+:[At, :+:[T, After]], R]): InsertRightConstraint[N, HL, T, R]
Builder of constraint.InsertRightConstraint for HLists
Builder of constraint.InsertRightConstraint for HLists
Author:
Harshad Deo
- N
Type index at which to insert (from the right)
- L
Length of the HList
- D
Type index at which to insert (from the left)
- HL
Type of the Hlist on which to perform the operation
- Before
Type of sublist before index D
- At
Type of element at index D
- After
Type of sublist after index D
- T
Type of the element to insert
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hLazyInternalZipConstraint[Z <: HList, F <: HList, T](implicit ev: LazyZipper[Z, F]): InternalZipConstraint[Z, F, T, Stream[T]]
Builder of constraint.InternalZipConstraint for HLists whose common outer type constructor is a Stream
Builder of constraint.InternalZipConstraint for HLists whose common outer type constructor is a Stream
Author:
Harshad Deo
- Z
Type of the HList being internally zipped
- F
Down converted type of Z. For details, see constraint.DownTransformConstraint
- T
Element type of the resultant stream
- Since
0.1
-
implicit macro
def
hLubConstraint[HL <: HList, R]: LubConstraint[HL, R]
Builds constraint.LubConstraint for HLists
Builds constraint.LubConstraint for HLists
Author:
Harshad Deo
- HL
Type of the Hlist for which the least upper bound type is found
- R
Least upper bound of the types of HL
- Since
0.1
-
implicit
def
hNilAppendConstraint[B <: HList]: AppendConstraint[HNil, B, B]
Base case constraint.AppendConstraint for HLists
-
implicit
def
hNilDownTransformConstraint[M[_]]: DownTransformConstraint[HNil, HNil, M]
Base case for constraint.DownTransformConstraint for HLists.
Base case for constraint.DownTransformConstraint for HLists.
Author:
Harshad Deo
- M
Context from which to downconvert
- Since
0.1
-
implicit
def
hNilReverseResult[C <: HList]: HReverseResult[HNil, C, C]
Base case of HReverseResult for HLists
Base case of HReverseResult for HLists
Author:
Harshad Deo
- C
Type of the List to be reversed
- Since
0.1
-
implicit
def
hNilTransformerConstraint[M[_], N[_]]: TransformConstraint[HNil, HNil, M, N]
Base case of constraint.TransformConstraint for HLists
Base case of constraint.TransformConstraint for HLists
Author:
Harshad Deo
- M
Input Context
- N
Output Contect
- Since
0.1
-
implicit
def
hRemoveConstraint[N, HL <: HList, Before <: HList, After <: HList, R <: HList](implicit ev0: PIndexer[N, HL, Before, _, After], ev1: AppendConstraint[Before, After, R]): RemoveConstraint[N, HL, R]
Builder of constraint.RemoveConstraint for HLists
Builder of constraint.RemoveConstraint for HLists
Author:
Harshad Deo
- N
Type index at which to remove
- HL
Type of the HList on which to apply the operation
- Before
Type of the sublist before index N
- After
Type of the sublist after index N
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hRemoveRightConstrint[N <: Dense, L <: Dense, D, HL <: HList, Before <: HList, After <: HList, R <: HList](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, +[N, _1], D], ev2: PIndexer[D, HL, Before, _, After], ev3: AppendConstraint[Before, After, R]): RemoveRightConstraint[N, HL, R]
Builder of constraint.RemoveRightConstraint for HLists
Builder of constraint.RemoveRightConstraint for HLists
Author:
Harshad Deo
- N
Type index of the element to remove (from the right)
- L
Length of the HList
- D
Type index of element to remove (from the left)
- HL
Type of the HList on which to apply the operation
- Before
Type of the sublist before index D
- After
Type of the sublist after index D
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hReverseConstraint[A <: HList, R <: HList](implicit ev: HReverseResult[A, HNil, R]): ReverseConstraint[A, R]
Builder of constraint.ReverseConstraint for HLists using the intermediate class HReverseResult
Builder of constraint.ReverseConstraint for HLists using the intermediate class HReverseResult
Author:
Harshad Deo
- A
Type of the input HList
- R
Type of the reversed HList
- Since
0.1
-
implicit
def
hSplitAtConstraint[N, HL <: HList, Before <: HList, At, After <: HList](implicit ev: PIndexer[N, HL, Before, At, After]): SplitAtConstraint[N, HL, Before, :+:[At, After]]
Builder of constraint.SplitAtConstraint for HLists
Builder of constraint.SplitAtConstraint for HLists
Author:
Harshad Deo
- N
Type Index at which to split
- HL
Type of the HList on which to apply the operation
- Before
Type of the sublist before index N
- At
Type of the element at index N
- After
Type of the sublist after index N
- Since
0.1
-
implicit
def
hSplitAtRightConstraint[N, L <: Dense, D, HL <: HList, Before <: HList, At, After <: HList](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, N, D], ev2: PIndexer[D, HL, Before, At, After]): SplitAtRightConstraint[N, HL, Before, :+:[At, After]]
Builder of constraint.SplitAtRightConstraint for HLists
Builder of constraint.SplitAtRightConstraint for HLists
Author:
Harshad Deo
- N
Type index at which to split (from right)
- L
Length of the hList
- D
Type index at which to split (from the left)
- HL
Type of the HList on which to apply the operation
- Before
Type of the sublist before index D
- At
Type of the element at index D
- After
Type of the sublist after index D
- Since
0.1
-
implicit
def
hStrictInternalZipConstraint[Z <: HList, F <: HList, M[_] <: Traversable[_], THL <: HList, T, V](implicit ev0: StrictZipper[Z, M, F, THL], ev1: CanBuildFrom[M[T], T, V]): InternalZipConstraint[Z, F, T, V]
Builder of constraint.InternalZipConstraint for HLists whose common outer type constructor is a strict collection, like a List or a Vector
Builder of constraint.InternalZipConstraint for HLists whose common outer type constructor is a strict collection, like a List or a Vector
Author:
Harshad Deo
- Z
Type of the hlist to be internally zipped
- F
Down converted type of Z. For details, see constraint.DownTransformConstraint
- M
Common outer type constructor
- THL
Type of the HList obtained by applying the natural transformation M ~> Traversable to Z
- T
Element type of the resultant collection
- V
Type of the resultant collection
- Since
0.1
-
implicit
def
hTakeConstraint[N, HL <: HList, R <: HList](implicit ev: PIndexer[N, HL, R, _, _]): TakeConstraint[N, HL, R]
Builder of constraint.TakeConstraint for HLists
Builder of constraint.TakeConstraint for HLists
Author:
Harshad Deo
- N
Type index of the number of elements to take
- HL
Type of the HList on which to apply the operation
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hTakeRightConstraint[N, L <: Dense, D, HL <: HList, At, After <: HList, R](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, N, D], ev2: PIndexer[D, HL, _, At, After]): TakeRightConstraint[N, HL, :+:[At, After]]
Builder of constraint.TakeRightConstraint for HLists
Builder of constraint.TakeRightConstraint for HLists
Author:
Harshad Deo
- N
Type index of the number of elementa to take (from the right)
- L
Length of the HList
- D
Type index of the number fo elements to drop (from the left)
- HL
Type of the HList on which to apply the operation
- At
Type of the element at index D
- After
Type of the sublist after index D
- R
Type of the resultant HList
- Since
0.1
-
implicit
def
hUpdatedConstraint[N, HL <: HList, Before <: HList, _, After <: HList, A, R](implicit ev0: PIndexer[N, HL, Before, _, After], ev1: AppendConstraint[Before, :+:[A, After], R]): UpdatedConstraint[N, HL, A, R]
Builder of constraint.UpdatedConstraint for HLists
Builder of constraint.UpdatedConstraint for HLists
Author:
Harshad Deo
- N
Index at which to update
- HL
Type of the HList on which to apply the operation
- Before
Type of the sublist before index N
- After
Type of the sublist after index N
- A
Type of the element to insert
- R
Type of the result
- Since
0.1
-
implicit
def
hUpdatedRightConstraint[N <: Dense, L <: Dense, D, HL <: HList, Before <: HList, After <: HList, A, R](implicit ev0: LengthConstraint[HL, L], ev1: DenseDiff[L, +[N, _1], D], ev2: PIndexer[D, HL, Before, _, After], ev3: AppendConstraint[Before, :+:[A, After], R]): UpdatedRightConstraint[N, HL, A, R]
Builder of constraint.UpdatedRightConstraint for HLists
Builder of constraint.UpdatedRightConstraint for HLists
Author:
Harshad Deo
- N
Index at which to remove (from right)
- L
Length of the HList
- D
Index at which to remove (from left)
- HL
Type of the HList on which to apply the operation
- Before
Type of the sublist before index D
- After
Type of the sublist after index D
- A
Type of the element to insert
- R
Type of the resultant hlist
- Since
0.1
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
implicit
def
toArityZipOps[B <: HList, F](b: B)(implicit ev: DownTransformConstraint[B, F, Traversable]): ArityZipOps[B, F]
Converts an HList to an arity zipped ops object
Converts an HList to an arity zipped ops object
Author:
Harshad Deo
- B
Type of the HList being converted
- F
Downtransformed type of B. For details, see constraint.DownTransformConstraint
- Since
0.1
-
implicit
def
toHListOps[B <: HList](b: B): HListOps[B]
Converts an HList to its ops object
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
object
HN0
extends HList with Product with Serializable
Empty HList
Empty HList
Author:
Harshad Deo
- Since
0.1
-
implicit
object
HNilApplyConstraint
extends ApplyConstraint[HNil, HNil, HNil]
Base case constraint.ApplyConstraint for HLists
-
implicit
object
HNilExternalUnzipConstraint
extends ExternalUnzipConstraint[HNil, HNil, HNil]
Base case for constraint.ExternalUnzipConstraint for HLists
-
implicit
object
HNilExternalZipConstraint
extends ExternalZipConstraint[HNil, HNil, HNil]
Base case for constraint.ExternalZipConstraint for HLists
-
implicit
object
HNilLengthConstraint
extends LengthConstraint[HNil, _0]
Base case constraint.LengthConstraint for HLists
-
implicit
object
HNilToList
extends ToListConstraint[HNil, List[Nothing]]
Builds constraint.ToListConstraint for HNil
-
object
LazyZipper
Contains implicit definitions to build instances of the LazyZipper typeclass
Contains implicit definitions to build instances of the LazyZipper typeclass
Author:
Harshad Deo
- Since
0.1
-
object
PIndexer
Implements implicit definitions to build the PIndexer typeclass
-
object
StrictZipper
Contains implicit definitions to build instances of the StrictZipper typeclass
Contains implicit definitions to build instances of the StrictZipper typeclass
Author:
Harshad Deo
- Since
0.1
-
object
TIndexer
Implements implicit definitions to build the TIndexer typeclass
-
object
Tip
Companion object for Tip, Contains implicit conversion to convert it to an IndexedOps object
Companion object for Tip, Contains implicit conversion to convert it to an IndexedOps object
Author:
Harshad Deo
- Since
0.1