paleolimbot commented on issue #88: URL: https://github.com/apache/arrow-nanoarrow/issues/88#issuecomment-1385783351
Some details about the `#include "nanoarrow.h"` (or not) decision now that I'm playing with this: Pros (in favor of including): - We can re-use `ArrowError`, `ArrowBufferView`, and `ArrowDealloator`...these all show up (or will) in the ArrowIpc* functions. - There's no extra copy of the nanoarrow runtime for the likely case that users are also using nanoarrow.h functions. - Namespacing is a little ambiguous...if we include nanoarrow.h, we can just apply `NANOARROW_NAMESPACE` and it's done. If we don't, we also have to reinvent the namespacing macros (or not implement namespacing). Cons (in favor of nanoarrow_ipc as standalone): - The versioning is perhaps a little ambiguous...when we include the nanoarrow header we imply that the runtime and built-time versions line up (I suppose we can enforce this via inspecting the `NANOARROW_VERSION` define in the IPC extension). Having typed out these pro/cons, I'm inclined to `#include "nanoarrow.h"`...particularly because of the namespacing consideration. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
