Skip to content

[C++] Refactor Iterator to a type erased handle #16880

@asfimport

Description

@asfimport

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:

PRs and other links:

Note: This issue was originally created as ARROW-6558. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions