Bulk Operations
Most types in the Function Development Kit represent built-in functions that provide access to bulks of objects.
They extend the types 'Bulk' and 'BuiltInFunction'.
Examples: Entity, Link, Event, ..
Bulk BuiltInFunction
It is common practice at Diafunc to work with types that represent bulks rather than single elements.
Even if you want to work with a single element only, you use a bulk type that only contains this element.
Therefore, most operations are bulk-oriented even though the types are named in the singular.
They extend the types 'Bulk' and 'BuiltInFunction'.
Examples: Entity, Link, Event, ..
It is common practice at Diafunc to work with types that represent bulks rather than single elements.
Even if you want to work with a single element only, you use a bulk type that only contains this element.
Therefore, most operations are bulk-oriented even though the types are named in the singular.
Union
Elements which are in A, in B, or in both A and B


Union
Intersection
All elements of A that also belong to B


Intersection
Difference
Elements of A that don't belong to B


Difference
Symmetric Difference
Elements which are in either of the sets, but not in their intersection


Symmetric Difference
Filtering and Sorting
Every bulk can be filtered with a custom predicate and sorted by a custom key extractor. For bulks of selections there are additional dedicated operations; filtering and sorting of selections is covered in detail on the Selections page.
Uniqueness
Filtering duplicate selections to ensure uniqueness
Uniqueness
Evaluation
The Function Development Kit (FDK) supports many built-in functions to evaluate a bulk:
Evaluation