cmoon::meta::filter_types


Defined in module <cmoon.meta>


template<template<class> class Predicate, typename... Ts>
using filter_types = /* see below */;


(1)

Type alias for a type_list<Ts2...> where Predicate<T>::value is true for each value in Ts...

Example



import <cstdint>;
import <concepts>;
import <type_traits>;

import cmoon.meta;

int main()
{
    using tl = cmoon::meta::filter_types<std::is_unsigned, std::int8_t, std::uint16_t, std::int32_t, std::uint64_t>;

    static_assert(std::same_as<tl, cmoon::meta::type_list<std::uint16_t, std::uint32_t>>);
}