[][src]Module enso_generics::hlist

HList provides many operations to create and manipulate heterogenous lists (HLists) whose length and element types are known at compile-time. HLists can be used to implement records, variants, type-indexed products (TIP), type-indexed co-products (TIC), or keyword arguments.

Structs

Cons

Non-empty HList with head and tail.

Nil

Empty HList value.

Traits

GetHead

Head element accessor.

GetHeadClone

Head element clone.

GetHeadMut

Mutable head element accessor.

GetInitClone

Init element clone.

GetLast

Last element accessor.

GetLastClone

Last element clone.

GetLastMut

Mutable last element accessor.

GetTail

Tail element accessor.

GetTailClone

Tail element clone.

GetTailMut

Mutable tail element accessor.

HasLength

Compile-time known length value.

KnownHead

Head element accessor.

KnownInit

Init elements accessor (all but last).

KnownLast

Last element accessor.

KnownTail

Tail element accessor.

PopBack

Remove the last element of the list and return it and the new list.

PushBack

Add a new element to the back of the list.

Functions

len

Compile-time known length value.

Type Definitions

Head

Head element type accessor.

Init

Init elements type accessor.

Last

Last element type accessor.

Tail

Tail element type accessor.

Trait aliases

HList

Type of every HList.