LHF Blueprint Schema

Type: object

Provides a complete description of an Blueprint (interconnections and functions) of LatticeHashForests.

No Additional Properties

Type: string

Minimum compatible version of LHF.

Type: string

The namespace to put the generated Blueprint in.

Type: object

List of definitions of scalar values of the Blueprint (e.g, tuples, numbers, etc.). The keys act as identifiers for each definition.

Each additional property must conform to the following schema

Type: object

Describes a scalar type used in the Blueprint. The key that refers to this description is used as the identifier for this description.

No Additional Properties

Type: string

Actual C++ Identifier for this scalar (e.g. int, int*, double, structs ...)

Type: string

Less-than functor for this scalar.

Type: string

Equality functor for this scalar.

Type: string

Hash generation functor for this scalar.

Type: string

Print functor for this scalar. NAME MAY CHANGE IN THE FUTURE.

Type: object

List of definitions of entities (LHFs) that exist in the Blueprint. The keys act as identifiers for each definition.

Each additional property must conform to the following schema

Type: object
No Additional Properties

Type: string

C++ identifier for the resultant entity.

Type: string

Variable/member identifier for the resultant entity.

Type: boolean

Whether the entity is exposed externally for usage.

Type: array of object

Custom operation descriptions supported by this entity.

No Additional Items

Each item of this array must be:

Type: object

Type: string

C++ identifier for this operation

Type: boolean

Specifies whether operation propagates to any child entities. NAME MAY CHANGE.

Type: array

The list of blueprints of the data structures. Each member of the array is a new tree describing that strucutre.

No Additional Items

Each item of this array must be:

Type: object

Describes a data structure within the Blueprint. This is a heterogeneous node.

Type: object

Describes a set-like data structure. Accepts a parameter for member data.

No Additional Properties

Type: const

Discriminator field. Identifies this sub-block as a set node.

Specific value: "set"

Type: object

Describes a data structure within the Blueprint. This is a heterogeneous node.

Same definition as blueprint_items

Type: string

The entity this member node is to be used as.

Type: object

Describes a map-like data structure. Accepts a scalar parameter for the key, and any parameter for member data.

No Additional Properties

Type: const

Discriminator field. Identifies this sub-block as a map node.

Specific value: "map"

Type: string

The scalar type of the map's keys.

Type: object

Describes a data structure within the Blueprint. This is a heterogeneous node.

Same definition as blueprint_items

Type: string

The entity this member node is to be used as.

Type: object

Describes tuple-like data. Can accept any number of (ordered) parameters of different data types

No Additional Properties

Type: const

Discriminator field. Identifies this sub-block as a tuple node.

Specific value: "tuple"

Type: array

List of definitions of the tuple's members.

No Additional Items

Each item of this array must be:

Type: object

Describes a data structure within the Blueprint. This is a heterogeneous node.

Same definition as blueprint_items

Type: string

The entity this member node is to be used as.

Type: object

Describes a singular scalar element.

No Additional Properties

Type: const

Discriminator field. Identifies this sub-block as a scalar node.

Specific value: "scalar"

Type: string

The corresponding scalar type.

Type: string

Member/variable identifier for this scalar.

Type: string

The entity this member node is to be used as.