Typedef ctql::partition_by_key

Typedef Documentation

template<typename Pivot, template<typename, typename> class Rel, template<typename> class KeyOf = Size, typename ...Ts>
using ctql::partition_by_key = partition_by<Pivot, Rel, KeyOf<Ts>...>

Partition after mapping each element through a key wrapper.

Applies KeyOf to every T, then partitions on the resulting key types: partition_by<Pivot, Rel, KeyOf<Ts>...>.

Example

// Use Size<T> keys (which expose ::size) to partition by size relative to Pivot:
using P = ctql::partition_by_key<Pivot, LessRel::template pred, ctql::Size, A, B, C>;
Template Parameters:
  • Pivot – Pivot type (compared against key types).

  • Rel – Relation template over key types.

  • KeyOf – Unary template mapping T -> KeyOf<T> (defaults to Size).

  • Ts – Elements to partition.