Commits

François Saint-Jacques authored df613bcb6a4
ARROW-6515: [C++] Clean type_traits.h definitions The goal of this PR is to uniformize the usage of type traits and pattern matching on static type information. - Introduce `arrow::enable_if_t` since we're still on C++11. This removes a small amount of boilerplate, e.g. `typename (expr)::type`. Refactor most code to use this, except where type_traits was not included. - Major overhaul of `type_traits.h` by exporting a uniformized (as much as I could) aliases, i.e. `is_X_type` and the accompanying `enable_if_X`. - Removed old struct type traits, e.g. `IsSigned...`. - Removed catch-all-visitor method and replaced them with explicits missing visitor. This will help the implementation of new types to error missing implementation at compile time instead of runtime. - Uniformize usage of `enable_if` with methods, by using the return-place form instead of parameter-place (except when in the constructor). - Fixed some missing implementation when trivial. - Added c_type to BooleanType Closes #5885 from fsaintjacques/ARROW-6515-clean-type-traits and squashes the following commits: 41733de54 <François Saint-Jacques> Remove NoExtraMeta a3d1aea65 <François Saint-Jacques> Revert ARROW_MEMORY_POOL_DEFAULT changes 1a1bf2fb1 <François Saint-Jacques> Review comments beea0cc34 <François Saint-Jacques> ARROW-6515: Clean type_traits.h definitions Authored-by: François Saint-Jacques <fsaintjacques@gmail.com> Signed-off-by: François Saint-Jacques <fsaintjacques@gmail.com>