Changeset a4453e1 in mainline


Ignore:
Timestamp:
2018-07-05T21:41:21Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
108ad4cf
Parents:
cec6360
git-author:
Dzejrou <dzejrou@…> (2018-04-24 23:58:45)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:21)
Message:

cpp: added is_constructible

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/impl/type_traits.hpp

    rcec6360 ra4453e1  
    645645    inline constexpr bool is_unsigned_v = is_unsigned<T>::value;
    646646
     647    namespace aux
     648    {
     649        template<class, class T, class... Args>
     650        struct is_constructible: false_type
     651        { /* DUMMY BODY */ };
     652
     653        template<class T, class... Args>
     654        struct is_constructible<
     655            void_t<decltype(T(declval<Args>()...))>,
     656            T, Args...
     657        >
     658            : true_type
     659        { /* DUMMY BODY */ };
     660    }
     661
    647662    template<class T, class... Args>
    648     struct is_constructible;
     663    struct is_constructible: aux::is_constructible<void_t<>, T, Args...>
     664    { /* DUMMY BODY */ };
     665
     666    template<class T, class... Args>
     667    inline constexpr bool is_constructible_v = is_constructible<T, Args...>::value;
    649668
    650669    template<class T>
Note: See TracChangeset for help on using the changeset viewer.