[][src]Module agnes::label

Traits, structs, and type aliases for handling cons-list element labels and associated logic.

Structs

Ident

An basic identifier struct for an identifier within the table Tbl, backed by the type-level natural number Nat.

Labeled

Container for a value of type V labeled with L.

Local

Common dummy table for 'local' lookups -- lookups that are not related to the concept of tables (in particular, used for looking up the frame index in a view from a field label)

TypedValue

Container for storing the underlying data type D (of a field, for example) for a value of type V.

Traits

AssocLabels

Generates a LabelCons-list with the labels associated with this cons-list.

HasLabels

Trait to ensure that all labels in LabeList are found in cons-list Self.

IdentEq

Ident-level equality. Leverages typenum's IsEqual trait for type-level-number equality, but doesn't use IsEqual's is_equal method (since no results of this equality check are intended to be instantiated).

Identifier

Trait to provide associated types (table and backing natural) for a field identifier.

IntoLabeled

Trait for labeling an arbitrary value (to construct a Labeled) object).

IsLabelSet

Marker trait for ensuring that the labels of a cons-list constitute a set (no label cardinality greater than 1).

Label

A label, which is simply an Identifier along with an associated const name and type description.

LabelEq

Trait for determining whether or not the Self and U labels refer to the same field.

LabelName

Trait to access name and type description for a label.

LabelSubset

Trait to find the subset of cons-list Self which are labeled with labels in LabelList.

LabelSubsetPred

Helper filter trait. Used by Filter for computing the subset of Self cons-list which contains the labels in LabelList.

LookupElemByLabel

Look up an element from a cons-list by label L.

LookupElemByNat

Look up an element from a cons-list by typenum natural number.

LookupMarkedElemByLabel

Sepcialization of LookupElemByLabel where the looked-up element implements Marked.

LookupNatByLabel

Lookup a type-level natural number backing label L.

LookupNatByLabelMatch

Helper lookup trait for LookupNatByLabel. Used by LookupNatByLabel for computing the backing type-level natural number for label TargetL.

LookupTypedElemByLabel

Sepcialization of LookupElemByLabel where the looked-up element implements Typed.

LookupValuedElemByLabel

Sepcialization of LookupElemByLabel where the looked-up element implements Valued.

Marked

Trait for finding the associated marker (non-instantiated type) for a container (e.g. Labeled).

Member

LabelEq-based membership test for cons-lists. Specifies whether E is a member (based on labels) of Self.

SelfValued

Marker trait for an object that can be held in a Labeled<...> or TypedValue<...> container.

StrLabels

Trait for generating a collection (VecDeque) of string labels for the labels associated with the Self cons-list.

StrTypes

Trait for generating a collection (VecDeque) of string descriptions for the types associated with the Self cons-list.

SubsetClone

Trait for calling function $req_fn of trait $req_trait for all values of a cons-list which match a specified LabelList.

SubsetClonePred

Helper trait. Used by $trait_name for computing the subset of Self cons-list which contains the labels in LabelList, and applying $req_fn to that subset.

Typed

Trait for associating an underlying data type with a type.

Valued

Trait for extracting the an associated value of a value-holding container (e.g. TypedValue, Labeled).

Type Definitions

ElemOf

Type alias for an element (as looked up by Label) from cons-list T.

False

Type alias for the 'false' bit.

LCons

Label-only cons-list

LDVCons

Label-DType-value cons-list

LMCons

Label-marker cons-list

LVCons

Label-value cons-list

LabelCons

Type alias for a label-only cons-list.

MarkedElemOf

Type alias for an element implementing Marked (as looked up by Label) from cons-list T.

MarkerOf

Type alias for retrieving the marker of a Marked object.

MarkerOfElemOf

Type alias for the associated Marker of an element implementing Marked (as looked up by Label) from cons-list T.

NatOf

Helpful type alias to refer to the backing natural number for an identifier.

TblOf

Helpful type alias to refer to the table in which an identifier exists.

True

Type alias for the 'true' bit.

TypeOf

Type alias for the associated data type.

TypeOfElemOf

Type alias for the associated DType of an element implementing Typed (as looked up by Label) from cons-list T.

TypedElemOf

Type alias for an element implementing Typed (as looked up by Label) from cons-list T.

ValueOf

Type alias for retrieving the Value of a Valued object.

ValueOfElemOf

Type alias for the associated Value of an element implementing Valued (as looked up by Label) from cons-list T.

ValuedElemOf

Type alias for an element implementing Valued (as looked up by Label) from cons-list T.