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

added 2 commits

January 25, 2020 18:41

@ArtemSarmini

CaseyCarter

@ArtemSarmini

@ArtemSarmini

ArtemSarmini

@ArtemSarmini

CaseyCarter

@ArtemSarmini

@CaseyCarter

CaseyCarter

barcharcraz

@ArtemSarmini

removed pointless comments, provided better _Arg_types description

BillyONeal

@CaseyCarter

@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.

@CaseyCarter

StephanTLavavej

@StephanTLavavej

@StephanTLavavej

StephanTLavavej

CaseyCarter