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
- Protected
Type Members
- type :+:[H, T <: HList] = HCons[H, T]
- 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
- final class HNil extends HList
Empty HList
Empty HList
Author:
Harshad Deo
- 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.LazyList
Arbitrary arity zipper in which the common context for all the elements is scala.collection.immutable.LazyList
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[_] <: Iterable[_], FHL <: HList, THL <: HList] extends AnyRef
Arbitrary arity zipper in which the elements share common context that is a subtype of Iterable and has strict evaluation semantics (not a scala.collection.immutable.LazyList)
Arbitrary arity zipper in which the elements share common context that is a subtype of Iterable and has strict evaluation semantics (not a scala.collection.immutable.LazyList)
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 ~> Iterable 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
- val :+:: HCons.type
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val HNil: HNil
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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, LazyList[T]]
Builder of constraint.InternalZipConstraint for HLists whose common outer type constructor is a LazyList
Builder of constraint.InternalZipConstraint for HLists whose common outer type constructor is a LazyList
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
- Annotations
- @SuppressWarnings()
- 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
- 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[_] <: Iterable[_], THL <: HList, T](implicit ev0: StrictZipper[Z, M, F, THL]): InternalZipConstraint[Z, F, T, List[T]]
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 ~> Iterable to Z
- T
Element 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
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- implicit def toArityZipOps[B <: HList, F](b: B)(implicit ev: DownTransformConstraint[B, F, Iterable]): 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(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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