You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Uwe L. Korn (JIRA)" <ji...@apache.org> on 2017/06/21 16:16:00 UTC

[jira] [Commented] (ARROW-1134) Allow C++/CLI projects to build with Arrow​

    [ https://issues.apache.org/jira/browse/ARROW-1134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16057764#comment-16057764 ] 

Uwe L. Korn commented on ARROW-1134:
------------------------------------

[~tobyshaw] I would be in favour here to not expose the {{#include <mutex>}} publicly. This won't be straightforward as you would need to write private implementations then for some of the classes. Alternatively in some cases, we probably could implement functions without a mutex, e.g. https://github.com/apache/arrow/blob/master/cpp/src/arrow/io/memory.cc#L152 could be refactored to be lock-free. Can you make a patch for that?

Is there a list showing what is disallowed in C++/CLI?

>  Allow C++/CLI projects to build with Arrow​
> --------------------------------------------
>
>                 Key: ARROW-1134
>                 URL: https://issues.apache.org/jira/browse/ARROW-1134
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Toby Shaw
>            Priority: Minor
>
> Currently, the inclusion of <mutex> in some of Arrow's C++ headers prevents C++/CLI code from building against it.
> From a C++/CLI project:
> #include <arrow/io/file.h>
> ...
> "#error directive: <mutex> is not supported when compiling with /clr or /clr:pure."
> This could be patched by optionally relying on Boost's mutex/lock_guard instead of std, or not exposing the #include <mutex> publically.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)