.. _file_include_predicates.hpp: File predicates.hpp =================== |exhale_lsh| :ref:`Parent directory ` (``include``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS Size/align key wrappers, comparison predicates, and operator tag mapping. .. contents:: Contents :local: :backlinks: none Definition (``include/predicates.hpp``) --------------------------------------- .. toctree:: :maxdepth: 1 program_listing_file_include_predicates.hpp.rst Detailed Description -------------------- - ``HasStaticSize`` concept gates types that expose ``static constexpr std::size_t size``. - ``Size``, ``SizeOf``, ``AlignOf`` present a unified ``::type`` and ``::size``. - ``cmp``, ``PredBy``, ``op_tag``, and ``ops`` build size-based predicates. - ``op_type<"...">`` maps a compile-time string token (e.g. ``"<"_ct``) to an operator tag whose ``template pred`` can be used in algorithms (e.g. partition/sort). - Helpers ``Size_t``, ``SizeOf_t``, ``AlignOf_t``, and ``Apply`` create keyed typelists. Example structA{staticconstexprstd::size_tsize=3;}; structB{staticconstexprstd::size_tsize=5;}; usingLT=:ref:`exhale_typedef_predicates_8hpp_1adc079efedc1088be4f5cf68b7a56d779`<"<"_ct>;//operatortagforless-than static_assert(LT::templatepred::value);//3<5 usingKeys=:ref:`exhale_struct_structctql_1_1detail_1_1HTList`;//HTList,Size> Includes -------- - ``concepts`` (:ref:`file_include_concepts.hpp`) - ``cstddef`` - ``ct_string.inl`` (:ref:`file_include_ct_string.inl`) - ``functional`` - ``htlist.hpp`` (:ref:`file_include_htlist.hpp`) - ``match.hpp`` (:ref:`file_include_match.hpp`) Included By ----------- - :ref:`file_include_partition.hpp` - :ref:`file_include_reduce.hpp` - :ref:`file_include_sorted.hpp` Namespaces ---------- - :ref:`namespace_ctql` Classes ------- - :ref:`exhale_struct_structctql_1_1AlignOf` - :ref:`exhale_struct_structctql_1_1cmp` - :ref:`exhale_struct_structctql_1_1op__tag` - :ref:`exhale_struct_structctql_1_1ops` - :ref:`exhale_struct_structctql_1_1PredBy` - :ref:`exhale_struct_structctql_1_1PredBy_1_1t` - :ref:`exhale_struct_structctql_1_1Size` - :ref:`exhale_struct_structctql_1_1SizeOf` Typedefs -------- - :ref:`exhale_typedef_predicates_8hpp_1a6ef2c8845cf9e10e5c0ddf9f267736d1` - :ref:`exhale_typedef_predicates_8hpp_1ab69cae58abfbba3a1585fc562678e38f` - :ref:`exhale_typedef_predicates_8hpp_1adc079efedc1088be4f5cf68b7a56d779` - :ref:`exhale_typedef_predicates_8hpp_1a7c12ca8e8e8edd3dd1ac24487c929252` - :ref:`exhale_typedef_predicates_8hpp_1a9b556f1eabfa3c09ed01a7d82bb69fec`