-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Description
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.
Reporter: Ben Kietzman / @bkietz
Assignee: Ben Kietzman / @bkietz
Related issues:
- [C++] Create reusable Iterator interface (supercedes)
PRs and other links:
Note: This issue was originally created as ARROW-6558. Please see the migration documentation for further details.