Changeset 3276682 in mainline


Ignore:
Timestamp:
2018-07-05T21:41:17Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e66fc6f
Parents:
72d9e44
git-author:
Jaroslav Jindrak <dzejrou@…> (2017-10-13 17:03:37)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:17)
Message:

cpp: created auxiliary meta header and used its functions to implement several type traits

Location:
uspace/lib/cpp/include
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/type_traits

    r72d9e44 r3276682  
    6161     */
    6262
    63     template<class T>
    64     struct is_void;
    65 
    66     template<class T>
    67     struct is_null_pointer;
    68 
    69     template<class T>
    70     struct is_integral;
    71 
    72     template<class T>
    73     struct is_floating_point;
    74 
    75     template<class T>
    76     struct is_array;
    77 
    78     template<class T>
    79     struct is_pointer;
     63    // TODO: forward using, can I even do this?
     64    template<class T>
     65    using remove_cv_t = typename remove_cv<T>::type;
     66
     67    template<class T>
     68    struct is_void: aux::is_void<remove_cv_t<T>>;
     69
     70    template<class T>
     71    struct is_null_pointer: aux::is_null_pointer<remove_cv_t<T>>;
     72
     73    template<class T>
     74    struct is_integral: aux::is_integral<remove_cv_t<T>>;
     75
     76    template<class T>
     77    struct is_floating_point: aux::is_floating_point<remove_cv_t<T>>;
     78
     79    template<class>
     80    struct is_array: false_type;
     81
     82    template<class T>
     83    struct is_array<T[]>: true_type;
     84
     85    template<class T>
     86    struct is_pointer: aux::is_pointer<remove_cv_t<T>>;
    8087
    8188    template<class T>
Note: See TracChangeset for help on using the changeset viewer.