How to filter duplicate types from tuple C++

前端 未结 4 1987
遇见更好的自我
遇见更好的自我 2020-12-17 18:36

How does one filter duplicate types from a tuple?

For example:

using Tuple = std::tuple
usi         


        
4条回答
  •  不知归路
    2020-12-17 18:40

    #include 
    #include 
    
    template 
    struct unique : std::type_identity {};
    
    template 
    struct unique, U, Us...>
        : std::conditional_t<(std::is_same_v || ...)
                           , unique, Us...>
                           , unique, Us...>> {};
    
    template 
    using unique_tuple = typename unique, Ts...>::type;
    

    DEMO

提交回复
热议问题