<type_traits>: is_function simplification by ArtemSarmini · Pull Request #460 · microsoft/STL

ArtemSarmini · GitHub

added 2 commits

January 25, 2020 18:41

@ArtemSarmini
@ArtemSarmini
@ArtemSarmini
@ArtemSarmini
CaseyCarter
@ArtemSarmini
@ArtemSarmini
ArtemSarmini
@ArtemSarmini
@ArtemSarmini
CaseyCarter
@ArtemSarmini
@ArtemSarmini
@CaseyCarter
CaseyCarter
barcharcraz
@ArtemSarmini

removed pointless comments, provided better _Arg_types description

@ArtemSarmini
BillyONeal
@CaseyCarter
@mnatsuhara
@CaseyCarter

* `is_member_function_pointer_v` should ignore cv-qualifiers (easy to fix) and calling conventions (super hard to fix). Bring back the inefficient `_Is_memfunptr` which is not so bad since (1) cl actually implements `is_member_function_pointer_v` in the compiler and (2) we can use an intrinsic for clang. Drive-by: Make `_Weak_types` an alias template.

CaseyCarter
StephanTLavavej

* `_Is_memfunptr` is sensitive to cv-qualifiers, they need to be stripped from its argument * `is_member_pointer_v` needs to work with calling conventions just like `is_member_function_pointer_v` does.

…e cv-qualifiers.