Benjamin Kietzman created ARROW-6558: ----------------------------------------
Summary: [C++] Refactor Iterator to a type erased handle Key: ARROW-6558 URL: https://issues.apache.org/jira/browse/ARROW-6558 Project: Apache Arrow Issue Type: Improvement Components: C++ Reporter: Benjamin Kietzman Assignee: Benjamin Kietzman Since {{Iterator<T>}} is used as a base class for exported classes and is instantiated in both arrow.dll and arrow_dataset.dll we get multiple definition errors. The solution taken by MSVC's stl implementation in the similar case of {{std::function}} is type erasure. Since it's not a base class MSVC doesn't force public visibility of its members. -- This message was sent by Atlassian Jira (v8.3.2#803003)