|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once |
|
|
|
#include "arrow/python/platform.h" |
|
|
|
#include <memory> |
|
|
|
#include "arrow/python/visibility.h" |
|
|
|
#include "arrow/sparse_tensor.h" |
|
|
|
|
|
extern "C++" { |
|
|
|
namespace arrow { |
|
|
|
class Array; |
|
class Buffer; |
|
class DataType; |
|
class Field; |
|
class RecordBatch; |
|
class Schema; |
|
class Status; |
|
class Table; |
|
class Tensor; |
|
|
|
namespace py { |
|
|
|
|
|
ARROW_PYTHON_EXPORT int import_pyarrow(); |
|
|
|
#define DECLARE_WRAP_FUNCTIONS(FUNC_SUFFIX, TYPE_NAME) \ |
|
ARROW_PYTHON_EXPORT bool is_##FUNC_SUFFIX(PyObject*); \ |
|
ARROW_PYTHON_EXPORT Result<std::shared_ptr<TYPE_NAME>> unwrap_##FUNC_SUFFIX( \ |
|
PyObject*); \ |
|
ARROW_PYTHON_EXPORT PyObject* wrap_##FUNC_SUFFIX(const std::shared_ptr<TYPE_NAME>&); |
|
|
|
DECLARE_WRAP_FUNCTIONS(buffer, Buffer) |
|
|
|
DECLARE_WRAP_FUNCTIONS(data_type, DataType) |
|
DECLARE_WRAP_FUNCTIONS(field, Field) |
|
DECLARE_WRAP_FUNCTIONS(schema, Schema) |
|
|
|
DECLARE_WRAP_FUNCTIONS(scalar, Scalar) |
|
|
|
DECLARE_WRAP_FUNCTIONS(array, Array) |
|
DECLARE_WRAP_FUNCTIONS(chunked_array, ChunkedArray) |
|
|
|
DECLARE_WRAP_FUNCTIONS(sparse_coo_tensor, SparseCOOTensor) |
|
DECLARE_WRAP_FUNCTIONS(sparse_csc_matrix, SparseCSCMatrix) |
|
DECLARE_WRAP_FUNCTIONS(sparse_csf_tensor, SparseCSFTensor) |
|
DECLARE_WRAP_FUNCTIONS(sparse_csr_matrix, SparseCSRMatrix) |
|
DECLARE_WRAP_FUNCTIONS(tensor, Tensor) |
|
|
|
DECLARE_WRAP_FUNCTIONS(batch, RecordBatch) |
|
DECLARE_WRAP_FUNCTIONS(table, Table) |
|
|
|
#undef DECLARE_WRAP_FUNCTIONS |
|
|
|
namespace internal { |
|
|
|
|
|
|
|
ARROW_PYTHON_EXPORT int check_status(const Status& status); |
|
|
|
|
|
ARROW_PYTHON_EXPORT PyObject* convert_status(const Status& status); |
|
|
|
} |
|
} |
|
} |
|
|
|
} |
|
|