You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Wes McKinney (Jira)" <ji...@apache.org> on 2020/05/24 14:58:00 UTC

[jira] [Created] (ARROW-8921) [C++] Add "TypeResolver" class interface to replace current OutputType::Resolver pattern

Wes McKinney created ARROW-8921:
-----------------------------------

             Summary: [C++] Add "TypeResolver" class interface to replace current OutputType::Resolver pattern
                 Key: ARROW-8921
                 URL: https://issues.apache.org/jira/browse/ARROW-8921
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Wes McKinney
             Fix For: 1.0.0


Like the {{TypeMatcher}} for extensible input type checking, TypeResolver will allow more flexibility with respect to the output type resolution rule. Currently the resolver function is defined as

{code}
using Resolver =
      std::function<Result<ValueDescr>(KernelContext*, const std::vector<ValueDescr>&)>;
{code}

By changing to a {{TypeResolver}} interface with a virtual Resolve function, we also can provide for better human-readability when printing kernel signatures (by having {{TypeResolver::ToString}}) and permitting TypeResolvers to be compared



--
This message was sent by Atlassian Jira
(v8.3.4#803005)