|
| struct | Base |
| | A value node's base: no pool, and an unset location for the code that asks for one. More...
|
| |
| struct | Base< true > |
| | A pool-resident node's base: a PoolHandle, holding the location its operands resolve against. More...
|
| |
| struct | Operands |
| | The operands of a node, with the location their pool-resident ones resolve against. More...
|
| |
| struct | Pack |
| | The operands of a fused node, as stored: a recursive aggregate, so that it stays trivially copyable and needs no std:: accessors in device code. More...
|
| |
| struct | Pack< S, Rest... > |
| | A pack: its first operand and the rest. More...
|
| |
| struct | Pack<> |
| | The empty pack. More...
|
| |
| struct | TracedExactly |
| | Whether a fused operation is traced exactly from its operands' spans: union, intersection (and so difference), complement and affine maps. More...
|
| |
| struct | TracedExactly< AffineOp< T > > |
| | Affine maps are traced exactly. More...
|
| |
| struct | TracedExactly< CombineOp< IsUnion > > |
| | Union and intersection are traced exactly. More...
|
| |
| struct | TracedExactly< ComplementOp > |
| | Complement is traced exactly. More...
|
| |
| struct | TypeAt |
| | Type I of a list of types. More...
|
| |
| struct | TypeAt< 0, C, Rest... > |
| | Type 0: the first. More...
|
| |
| struct | TypeAt< I, C, Rest... > |
| | Type I > 0: type I - 1 of the rest. More...
|
| |
|
| template<size_t I, class S , class... Rest> |
| const auto & | get (const Pack< S, Rest... > &a_pack) noexcept |
| | Operand I of a pack.
|
| |
| template<size_t I, class S , class... Rest> |
| auto & | get (Pack< S, Rest... > &a_pack) noexcept |
| | Operand I of a pack, for writing.
|
| |
| template<class... Cs> |
| constexpr DistanceQuality | worstAndBound () noexcept |
| | The worst distance quality among some operand types, and Bound (Exact < Bound < NotADistance).
|
| |
Implementation details of the fused operations.
Internal helpers; not part of the public API.