File partition.hpp

Parent directory (include)

Compile-time partitioning of a typelist based on a binary relation.

Definition (include/partition.hpp)

Detailed Description

Splits an HTList<Ts...> into two lists: those that satisfy a relation Rel<Pivot, T>::value (the pass bucket) and those that don’t (the fail bucket). Aliases filter_by and reject_if_by expose the two buckets directly, and partition_by_key lets you partition on derived key types (e.g., Size<T>).

Example

//GivenRelthatcomparesElemvsPivotbysize(seePredBy/op_taginpredicates.hpp): usingL=:ref:exhale_struct_structctql_1_1detail_1_1HTList; usingP=:ref:exhale_struct_structctql_1_1partition__by; usingLeft=P::pass;//elementsXwithLessRel::pred<A,X>::value==true usingRight=P::fail;

Rel<Pivot, T> must define a static constexpr bool value.

Includes

Included By

Namespaces

Classes

Typedefs