[ 
https://issues.apache.org/jira/browse/ARROW-14332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17465527#comment-17465527
 ] 

Eduardo Ponce edited comment on ARROW-14332 at 12/27/21, 6:09 AM:
------------------------------------------------------------------

The inconsistency/non-symmetry between the *is_xxx_type* type traits and 
*is_xxx* functions arises due to how derived and specific-types are considered. 
This clearly shows in the {{is_xxx_like}} variants. Also, it is a bit difficult 
to express specific types versus derived classes using only the *is* predicate.


was (Author: edponce):
The inconsistency/non-symmetry between the *is_xxx_type* type traits and 
*is_xxx* functions arises due to how derived and specific-types are considered, 
specifically in the {{is_xxx_like}} variants.

> [C++] Rename type traits utilities to improve semantic consistency
> ------------------------------------------------------------------
>
>                 Key: ARROW-14332
>                 URL: https://issues.apache.org/jira/browse/ARROW-14332
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Eduardo Ponce
>            Assignee: Eduardo Ponce
>            Priority: Minor
>              Labels: type
>             Fix For: 8.0.0
>
>
> There are semantic differences between *enable_ifs-related* utils and 
> *is_xxx* functions with the same name. For example, *is_binary_like* 
> [here|https://github.com/apache/arrow/blob/master/cpp/src/arrow/type_traits.h#L596]
>  != 
> [here|https://github.com/apache/arrow/blob/master/cpp/src/arrow/type_traits.h#L924].
>  The former includes binary only and the latter binary/string types.
> Also, the *_like* suffix seems unwarranted as they always refer to binary or 
> string.
> Also, the *is_fixed_size_binary* includes both _FixedSizeBinaryType_ and 
> {_}DecimalXXXType{_}. A better name is *is_base_fixed_size_binary* to match 
> how binary/string utils are used.
> {_}Note{_}: There might be other inconsistencies.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to