diff --git a/cpp/src/arrow/array/array_binary_test.cc b/cpp/src/arrow/array/array_binary_test.cc index af732eab068..5c247a6dc66 100644 --- a/cpp/src/arrow/array/array_binary_test.cc +++ b/cpp/src/arrow/array/array_binary_test.cc @@ -25,8 +25,8 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_binary.h" #include "arrow/buffer.h" -#include "arrow/builder.h" #include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/testing/gtest_common.h" diff --git a/cpp/src/arrow/array/array_dict_test.cc b/cpp/src/arrow/array/array_dict_test.cc index 7bf51fa8931..fca442b2567 100644 --- a/cpp/src/arrow/array/array_dict_test.cc +++ b/cpp/src/arrow/array/array_dict_test.cc @@ -25,7 +25,9 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_dict.h" +#include "arrow/array/builder_nested.h" #include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/testing/gtest_common.h" diff --git a/cpp/src/arrow/array/array_list_test.cc b/cpp/src/arrow/array/array_list_test.cc index 0dff0f48b00..1696653850b 100644 --- a/cpp/src/arrow/array/array_list_test.cc +++ b/cpp/src/arrow/array/array_list_test.cc @@ -23,8 +23,8 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_nested.h" #include "arrow/buffer.h" -#include "arrow/builder.h" #include "arrow/status.h" #include "arrow/testing/gtest_common.h" #include "arrow/testing/gtest_util.h" diff --git a/cpp/src/arrow/array/array_struct_test.cc b/cpp/src/arrow/array/array_struct_test.cc index 39ad61b4562..f54b43465e9 100644 --- a/cpp/src/arrow/array/array_struct_test.cc +++ b/cpp/src/arrow/array/array_struct_test.cc @@ -23,7 +23,7 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_nested.h" #include "arrow/status.h" #include "arrow/testing/gtest_common.h" #include "arrow/testing/gtest_util.h" diff --git a/cpp/src/arrow/array/array_test.cc b/cpp/src/arrow/array/array_test.cc index 9d4f00d9435..89087ee318c 100644 --- a/cpp/src/arrow/array/array_test.cc +++ b/cpp/src/arrow/array/array_test.cc @@ -16,11 +16,9 @@ // under the License. #include -#include #include #include #include -#include #include #include #include @@ -43,9 +41,7 @@ #include "arrow/array/util.h" #include "arrow/buffer.h" #include "arrow/buffer_builder.h" -#include "arrow/builder.h" #include "arrow/compare.h" -#include "arrow/memory_pool.h" #include "arrow/result.h" #include "arrow/scalar.h" #include "arrow/status.h" diff --git a/cpp/src/arrow/array/array_union_test.cc b/cpp/src/arrow/array/array_union_test.cc index 6409de17c6b..1eb722b13c5 100644 --- a/cpp/src/arrow/array/array_union_test.cc +++ b/cpp/src/arrow/array/array_union_test.cc @@ -20,6 +20,8 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_nested.h" +#include "arrow/array/builder_union.h" // TODO ipc shouldn't be included here #include "arrow/ipc/test_common.h" #include "arrow/testing/gtest_util.h" diff --git a/cpp/src/arrow/array/builder_base.h b/cpp/src/arrow/array/builder_base.h index b500c653f25..15c726241b5 100644 --- a/cpp/src/arrow/array/builder_base.h +++ b/cpp/src/arrow/array/builder_base.h @@ -29,7 +29,7 @@ #include "arrow/buffer.h" #include "arrow/buffer_builder.h" #include "arrow/status.h" -#include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/util/macros.h" #include "arrow/util/visibility.h" @@ -247,4 +247,24 @@ class ARROW_EXPORT ArrayBuilder { ARROW_DISALLOW_COPY_AND_ASSIGN(ArrayBuilder); }; +/// \brief Construct an empty ArrayBuilder corresponding to the data +/// type +/// \param[in] pool the MemoryPool to use for allocations +/// \param[in] type the data type to create the builder for +/// \param[out] out the created ArrayBuilder +ARROW_EXPORT +Status MakeBuilder(MemoryPool* pool, const std::shared_ptr& type, + std::unique_ptr* out); + +/// \brief Construct an empty DictionaryBuilder initialized optionally +/// with a pre-existing dictionary +/// \param[in] pool the MemoryPool to use for allocations +/// \param[in] type the dictionary type to create the builder for +/// \param[in] dictionary the initial dictionary, if any. May be nullptr +/// \param[out] out the created ArrayBuilder +ARROW_EXPORT +Status MakeDictionaryBuilder(MemoryPool* pool, const std::shared_ptr& type, + const std::shared_ptr& dictionary, + std::unique_ptr* out); + } // namespace arrow diff --git a/cpp/src/arrow/array/concatenate_test.cc b/cpp/src/arrow/array/concatenate_test.cc index fb35f43ec6d..f85a730815b 100644 --- a/cpp/src/arrow/array/concatenate_test.cc +++ b/cpp/src/arrow/array/concatenate_test.cc @@ -31,9 +31,9 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_binary.h" #include "arrow/array/concatenate.h" #include "arrow/buffer.h" -#include "arrow/builder.h" #include "arrow/status.h" #include "arrow/testing/gtest_common.h" #include "arrow/testing/random.h" diff --git a/cpp/src/arrow/array/diff_test.cc b/cpp/src/arrow/array/diff_test.cc index bfe46d4762c..b80ed2fd955 100644 --- a/cpp/src/arrow/array/diff_test.cc +++ b/cpp/src/arrow/array/diff_test.cc @@ -16,10 +16,8 @@ // under the License. #include -#include #include #include -#include #include #include #include @@ -31,8 +29,6 @@ #include "arrow/array.h" #include "arrow/array/diff.h" -#include "arrow/buffer.h" -#include "arrow/builder.h" #include "arrow/compute/api.h" #include "arrow/status.h" #include "arrow/testing/gtest_common.h" diff --git a/cpp/src/arrow/builder.h b/cpp/src/arrow/builder.h index 54ff2904b91..4b80e558004 100644 --- a/cpp/src/arrow/builder.h +++ b/cpp/src/arrow/builder.h @@ -30,30 +30,3 @@ #include "arrow/array/builder_union.h" // IWYU pragma: keep #include "arrow/status.h" #include "arrow/util/visibility.h" - -namespace arrow { - -class DataType; -class MemoryPool; - -/// \brief Construct an empty ArrayBuilder corresponding to the data -/// type -/// \param[in] pool the MemoryPool to use for allocations -/// \param[in] type the data type to create the builder for -/// \param[out] out the created ArrayBuilder -ARROW_EXPORT -Status MakeBuilder(MemoryPool* pool, const std::shared_ptr& type, - std::unique_ptr* out); - -/// \brief Construct an empty DictionaryBuilder initialized optionally -/// with a pre-existing dictionary -/// \param[in] pool the MemoryPool to use for allocations -/// \param[in] type the dictionary type to create the builder for -/// \param[in] dictionary the initial dictionary, if any. May be nullptr -/// \param[out] out the created ArrayBuilder -ARROW_EXPORT -Status MakeDictionaryBuilder(MemoryPool* pool, const std::shared_ptr& type, - const std::shared_ptr& dictionary, - std::unique_ptr* out); - -} // namespace arrow diff --git a/cpp/src/arrow/compute/kernels/aggregate_benchmark.cc b/cpp/src/arrow/compute/kernels/aggregate_benchmark.cc index 068ef22a2ce..5b95d7b526a 100644 --- a/cpp/src/arrow/compute/kernels/aggregate_benchmark.cc +++ b/cpp/src/arrow/compute/kernels/aggregate_benchmark.cc @@ -19,7 +19,6 @@ #include -#include "arrow/builder.h" #include "arrow/compute/api.h" #include "arrow/memory_pool.h" #include "arrow/testing/gtest_util.h" diff --git a/cpp/src/arrow/compute/kernels/scalar_cast_boolean.cc b/cpp/src/arrow/compute/kernels/scalar_cast_boolean.cc index 207dd30cea4..07026db83be 100644 --- a/cpp/src/arrow/compute/kernels/scalar_cast_boolean.cc +++ b/cpp/src/arrow/compute/kernels/scalar_cast_boolean.cc @@ -17,6 +17,7 @@ // Cast types to boolean +#include "arrow/array/builder_primitive.h" #include "arrow/compute/kernels/common.h" #include "arrow/compute/kernels/scalar_cast_internal.h" #include "arrow/util/value_parsing.h" diff --git a/cpp/src/arrow/compute/kernels/scalar_cast_internal.h b/cpp/src/arrow/compute/kernels/scalar_cast_internal.h index 914b670ca47..333601cf216 100644 --- a/cpp/src/arrow/compute/kernels/scalar_cast_internal.h +++ b/cpp/src/arrow/compute/kernels/scalar_cast_internal.h @@ -17,7 +17,6 @@ #pragma once -#include "arrow/builder.h" #include "arrow/compute/api_vector.h" #include "arrow/compute/cast.h" // IWYU pragma: export #include "arrow/compute/cast_internal.h" // IWYU pragma: export diff --git a/cpp/src/arrow/compute/kernels/scalar_cast_nested.cc b/cpp/src/arrow/compute/kernels/scalar_cast_nested.cc index 85d84efd302..3cef4026fb6 100644 --- a/cpp/src/arrow/compute/kernels/scalar_cast_nested.cc +++ b/cpp/src/arrow/compute/kernels/scalar_cast_nested.cc @@ -20,6 +20,7 @@ #include #include +#include "arrow/array/builder_nested.h" #include "arrow/compute/cast.h" #include "arrow/compute/kernels/common.h" #include "arrow/compute/kernels/scalar_cast_internal.h" diff --git a/cpp/src/arrow/compute/kernels/scalar_cast_numeric.cc b/cpp/src/arrow/compute/kernels/scalar_cast_numeric.cc index 078902a2f7a..51b5609590f 100644 --- a/cpp/src/arrow/compute/kernels/scalar_cast_numeric.cc +++ b/cpp/src/arrow/compute/kernels/scalar_cast_numeric.cc @@ -17,6 +17,7 @@ // Implementation of casting to integer, floating point, or decimal types +#include "arrow/array/builder_primitive.h" #include "arrow/compute/kernels/common.h" #include "arrow/compute/kernels/scalar_cast_internal.h" #include "arrow/util/bit_block_counter.h" diff --git a/cpp/src/arrow/compute/kernels/scalar_cast_string.cc b/cpp/src/arrow/compute/kernels/scalar_cast_string.cc index 9b6d404ea79..713ec5b73c0 100644 --- a/cpp/src/arrow/compute/kernels/scalar_cast_string.cc +++ b/cpp/src/arrow/compute/kernels/scalar_cast_string.cc @@ -18,6 +18,7 @@ // Implementation of casting to integer or floating point types #include "arrow/array/array_base.h" +#include "arrow/array/builder_binary.h" #include "arrow/compute/kernels/common.h" #include "arrow/compute/kernels/scalar_cast_internal.h" #include "arrow/result.h" diff --git a/cpp/src/arrow/compute/kernels/scalar_cast_temporal.cc b/cpp/src/arrow/compute/kernels/scalar_cast_temporal.cc index c707695eecb..10b38d75095 100644 --- a/cpp/src/arrow/compute/kernels/scalar_cast_temporal.cc +++ b/cpp/src/arrow/compute/kernels/scalar_cast_temporal.cc @@ -19,6 +19,7 @@ #include +#include "arrow/array/builder_time.h" #include "arrow/compute/kernels/common.h" #include "arrow/compute/kernels/scalar_cast_internal.h" #include "arrow/util/bitmap_reader.h" diff --git a/cpp/src/arrow/compute/kernels/scalar_cast_test.cc b/cpp/src/arrow/compute/kernels/scalar_cast_test.cc index bbd5ce07412..c340a8a50be 100644 --- a/cpp/src/arrow/compute/kernels/scalar_cast_test.cc +++ b/cpp/src/arrow/compute/kernels/scalar_cast_test.cc @@ -26,10 +26,10 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_decimal.h" #include "arrow/buffer.h" #include "arrow/chunked_array.h" #include "arrow/extension_type.h" -#include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/testing/extension_type.h" #include "arrow/testing/gtest_common.h" diff --git a/cpp/src/arrow/compute/kernels/scalar_set_lookup_test.cc b/cpp/src/arrow/compute/kernels/scalar_set_lookup_test.cc index bd1a481eefe..9fae29b8fa6 100644 --- a/cpp/src/arrow/compute/kernels/scalar_set_lookup_test.cc +++ b/cpp/src/arrow/compute/kernels/scalar_set_lookup_test.cc @@ -30,6 +30,7 @@ #include "arrow/array/array_base.h" #include "arrow/array/builder_binary.h" +#include "arrow/array/builder_decimal.h" #include "arrow/array/builder_primitive.h" #include "arrow/chunked_array.h" #include "arrow/compute/api.h" diff --git a/cpp/src/arrow/compute/kernels/vector_hash_benchmark.cc b/cpp/src/arrow/compute/kernels/vector_hash_benchmark.cc index 764895e6b62..3be549d05ce 100644 --- a/cpp/src/arrow/compute/kernels/vector_hash_benchmark.cc +++ b/cpp/src/arrow/compute/kernels/vector_hash_benchmark.cc @@ -19,7 +19,7 @@ #include -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" #include "arrow/memory_pool.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/random.h" diff --git a/cpp/src/arrow/compute/kernels/vector_hash_test.cc b/cpp/src/arrow/compute/kernels/vector_hash_test.cc index 10562e96951..e9ae4a64d97 100644 --- a/cpp/src/arrow/compute/kernels/vector_hash_test.cc +++ b/cpp/src/arrow/compute/kernels/vector_hash_test.cc @@ -29,13 +29,14 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_decimal.h" #include "arrow/buffer.h" #include "arrow/chunked_array.h" -#include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/testing/gtest_common.h" #include "arrow/testing/util.h" #include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/type_traits.h" #include "arrow/util/checked_cast.h" #include "arrow/util/decimal.h" diff --git a/cpp/src/arrow/csv/column_builder.cc b/cpp/src/arrow/csv/column_builder.cc index 4d0e21313a8..8178b260b4a 100644 --- a/cpp/src/arrow/csv/column_builder.cc +++ b/cpp/src/arrow/csv/column_builder.cc @@ -25,16 +25,16 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_base.h" #include "arrow/chunked_array.h" #include "arrow/csv/column_builder.h" #include "arrow/csv/converter.h" #include "arrow/csv/inference_internal.h" #include "arrow/csv/options.h" #include "arrow/csv/parser.h" -#include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/util/logging.h" #include "arrow/util/task_group.h" diff --git a/cpp/src/arrow/csv/column_decoder.cc b/cpp/src/arrow/csv/column_decoder.cc index 08889a79cb5..c57477ef59d 100644 --- a/cpp/src/arrow/csv/column_decoder.cc +++ b/cpp/src/arrow/csv/column_decoder.cc @@ -25,15 +25,15 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_base.h" #include "arrow/csv/column_decoder.h" #include "arrow/csv/converter.h" #include "arrow/csv/inference_internal.h" #include "arrow/csv/options.h" #include "arrow/csv/parser.h" -#include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/util/future.h" #include "arrow/util/logging.h" #include "arrow/util/task_group.h" diff --git a/cpp/src/arrow/csv/converter.cc b/cpp/src/arrow/csv/converter.cc index 83deb064222..6d2decbc903 100644 --- a/cpp/src/arrow/csv/converter.cc +++ b/cpp/src/arrow/csv/converter.cc @@ -24,11 +24,14 @@ #include #include -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_dict.h" +#include "arrow/array/builder_primitive.h" #include "arrow/csv/parser.h" -#include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/type_traits.h" #include "arrow/util/checked_cast.h" #include "arrow/util/decimal.h" diff --git a/cpp/src/arrow/csv/converter_test.cc b/cpp/src/arrow/csv/converter_test.cc index be51911914a..869a0c07569 100644 --- a/cpp/src/arrow/csv/converter_test.cc +++ b/cpp/src/arrow/csv/converter_test.cc @@ -24,6 +24,7 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_decimal.h" #include "arrow/csv/converter.h" #include "arrow/csv/options.h" #include "arrow/csv/test_common.h" diff --git a/cpp/src/arrow/dataset/file_base.h b/cpp/src/arrow/dataset/file_base.h index ee0df11b32b..192921e7cf0 100644 --- a/cpp/src/arrow/dataset/file_base.h +++ b/cpp/src/arrow/dataset/file_base.h @@ -22,7 +22,6 @@ #include #include #include -#include #include #include diff --git a/cpp/src/arrow/dataset/file_parquet.h b/cpp/src/arrow/dataset/file_parquet.h index 4ba60bbb436..b82241a574b 100644 --- a/cpp/src/arrow/dataset/file_parquet.h +++ b/cpp/src/arrow/dataset/file_parquet.h @@ -21,7 +21,6 @@ #include #include -#include #include #include #include diff --git a/cpp/src/arrow/dataset/filter.cc b/cpp/src/arrow/dataset/filter.cc index 8fe88352dc6..bcfc8d745dc 100644 --- a/cpp/src/arrow/dataset/filter.cc +++ b/cpp/src/arrow/dataset/filter.cc @@ -22,13 +22,11 @@ #include #include #include -#include #include #include +#include "arrow/array/builder_primitive.h" #include "arrow/buffer.h" -#include "arrow/buffer_builder.h" -#include "arrow/builder.h" #include "arrow/compute/api.h" #include "arrow/dataset/dataset.h" #include "arrow/io/memory.h" diff --git a/cpp/src/arrow/dataset/scanner.h b/cpp/src/arrow/dataset/scanner.h index 955b1dcbe3f..950d416f615 100644 --- a/cpp/src/arrow/dataset/scanner.h +++ b/cpp/src/arrow/dataset/scanner.h @@ -21,7 +21,6 @@ #include #include -#include #include #include diff --git a/cpp/src/arrow/dataset/test_util.h b/cpp/src/arrow/dataset/test_util.h index 7251c39bffd..f504305a996 100644 --- a/cpp/src/arrow/dataset/test_util.h +++ b/cpp/src/arrow/dataset/test_util.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/cpp/src/arrow/flight/flight_benchmark.cc b/cpp/src/arrow/flight/flight_benchmark.cc index 6180e05cbfd..d2b686d8652 100644 --- a/cpp/src/arrow/flight/flight_benchmark.cc +++ b/cpp/src/arrow/flight/flight_benchmark.cc @@ -29,7 +29,6 @@ #include -#include "arrow/api.h" #include "arrow/io/memory.h" #include "arrow/ipc/api.h" #include "arrow/record_batch.h" diff --git a/cpp/src/arrow/io/file_benchmark.cc b/cpp/src/arrow/io/file_benchmark.cc index f0bf7b08974..5e7e55725da 100644 --- a/cpp/src/arrow/io/file_benchmark.cc +++ b/cpp/src/arrow/io/file_benchmark.cc @@ -15,7 +15,6 @@ // specific language governing permissions and limitations // under the License. -#include "arrow/api.h" #include "arrow/io/buffered.h" #include "arrow/io/file.h" #include "arrow/testing/gtest_util.h" diff --git a/cpp/src/arrow/io/memory_benchmark.cc b/cpp/src/arrow/io/memory_benchmark.cc index eefcdb3df0e..fbb34f38654 100644 --- a/cpp/src/arrow/io/memory_benchmark.cc +++ b/cpp/src/arrow/io/memory_benchmark.cc @@ -17,7 +17,6 @@ #include -#include "arrow/api.h" #include "arrow/io/memory.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/util.h" diff --git a/cpp/src/arrow/ipc/json_simple.cc b/cpp/src/arrow/ipc/json_simple.cc index 61c93cda7cc..fba8194aeb1 100644 --- a/cpp/src/arrow/ipc/json_simple.cc +++ b/cpp/src/arrow/ipc/json_simple.cc @@ -22,7 +22,13 @@ #include #include "arrow/array/array_dict.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_dict.h" +#include "arrow/array/builder_nested.h" +#include "arrow/array/builder_primitive.h" +#include "arrow/array/builder_time.h" +#include "arrow/array/builder_union.h" #include "arrow/ipc/json_simple.h" #include "arrow/type_traits.h" #include "arrow/util/checked_cast.h" diff --git a/cpp/src/arrow/ipc/json_simple_test.cc b/cpp/src/arrow/ipc/json_simple_test.cc index 98bf6e46211..c5358ac89f1 100644 --- a/cpp/src/arrow/ipc/json_simple_test.cc +++ b/cpp/src/arrow/ipc/json_simple_test.cc @@ -30,6 +30,10 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_nested.h" +#include "arrow/array/builder_primitive.h" +#include "arrow/array/builder_time.h" #include "arrow/ipc/json_simple.h" #include "arrow/testing/gtest_util.h" #include "arrow/type.h" diff --git a/cpp/src/arrow/ipc/read_write_benchmark.cc b/cpp/src/arrow/ipc/read_write_benchmark.cc index 48e6cc506ed..a56dd3579e2 100644 --- a/cpp/src/arrow/ipc/read_write_benchmark.cc +++ b/cpp/src/arrow/ipc/read_write_benchmark.cc @@ -21,11 +21,12 @@ #include #include -#include "arrow/api.h" #include "arrow/io/memory.h" #include "arrow/ipc/api.h" +#include "arrow/record_batch.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/random.h" +#include "arrow/type.h" namespace arrow { diff --git a/cpp/src/arrow/ipc/read_write_test.cc b/cpp/src/arrow/ipc/read_write_test.cc index 85f6e39d05b..2e1e6ad615f 100644 --- a/cpp/src/arrow/ipc/read_write_test.cc +++ b/cpp/src/arrow/ipc/read_write_test.cc @@ -27,8 +27,7 @@ #include #include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/builder.h" +#include "arrow/array/builder_primitive.h" #include "arrow/io/file.h" #include "arrow/io/memory.h" #include "arrow/io/test_common.h" @@ -37,14 +36,13 @@ #include "arrow/ipc/reader.h" #include "arrow/ipc/test_common.h" #include "arrow/ipc/writer.h" -#include "arrow/memory_pool.h" #include "arrow/record_batch.h" #include "arrow/status.h" #include "arrow/testing/extension_type.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/random.h" #include "arrow/testing/util.h" -#include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/util/bit_util.h" #include "arrow/util/checked_cast.h" #include "arrow/util/io_util.h" diff --git a/cpp/src/arrow/ipc/reader.h b/cpp/src/arrow/ipc/reader.h index 831826ebf98..8a663879a40 100644 --- a/cpp/src/arrow/ipc/reader.h +++ b/cpp/src/arrow/ipc/reader.h @@ -25,28 +25,16 @@ #include #include +#include "arrow/io/type_fwd.h" #include "arrow/ipc/message.h" #include "arrow/ipc/options.h" #include "arrow/record_batch.h" #include "arrow/result.h" +#include "arrow/type_fwd.h" #include "arrow/util/macros.h" #include "arrow/util/visibility.h" namespace arrow { - -class Buffer; -class Schema; -class Status; -class Tensor; -class SparseTensor; - -namespace io { - -class InputStream; -class RandomAccessFile; - -} // namespace io - namespace ipc { class DictionaryMemo; diff --git a/cpp/src/arrow/ipc/test_common.cc b/cpp/src/arrow/ipc/test_common.cc index d3db21bdde8..31b1f655cd4 100644 --- a/cpp/src/arrow/ipc/test_common.cc +++ b/cpp/src/arrow/ipc/test_common.cc @@ -23,10 +23,10 @@ #include #include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_primitive.h" +#include "arrow/array/builder_time.h" #include "arrow/ipc/test_common.h" -#include "arrow/memory_pool.h" #include "arrow/pretty_print.h" #include "arrow/record_batch.h" #include "arrow/status.h" @@ -35,6 +35,7 @@ #include "arrow/testing/random.h" #include "arrow/testing/util.h" #include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/type_traits.h" #include "arrow/util/bit_util.h" #include "arrow/util/bitmap_builders.h" diff --git a/cpp/src/arrow/json/converter.cc b/cpp/src/arrow/json/converter.cc index dab66952ab7..f71169a4422 100644 --- a/cpp/src/arrow/json/converter.cc +++ b/cpp/src/arrow/json/converter.cc @@ -21,7 +21,9 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_primitive.h" +#include "arrow/array/builder_time.h" #include "arrow/json/parser.h" #include "arrow/type.h" #include "arrow/util/checked_cast.h" diff --git a/cpp/src/arrow/json/parser.cc b/cpp/src/arrow/json/parser.cc index cccfd01c6b8..9d921c57994 100644 --- a/cpp/src/arrow/json/parser.cc +++ b/cpp/src/arrow/json/parser.cc @@ -29,9 +29,8 @@ #include "rapidjson/reader.h" #include "arrow/array.h" +#include "arrow/array/builder_binary.h" #include "arrow/buffer_builder.h" -#include "arrow/builder.h" -#include "arrow/memory_pool.h" #include "arrow/type.h" #include "arrow/util/bitset_stack.h" #include "arrow/util/logging.h" diff --git a/cpp/src/arrow/pretty_print_test.cc b/cpp/src/arrow/pretty_print_test.cc index feac583f495..538e7365185 100644 --- a/cpp/src/arrow/pretty_print_test.cc +++ b/cpp/src/arrow/pretty_print_test.cc @@ -27,7 +27,6 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" #include "arrow/table.h" #include "arrow/testing/gtest_util.h" #include "arrow/type.h" diff --git a/cpp/src/arrow/python/decimal.cc b/cpp/src/arrow/python/decimal.cc index a624f5a073a..ab28b0f2b9f 100644 --- a/cpp/src/arrow/python/decimal.cc +++ b/cpp/src/arrow/python/decimal.cc @@ -21,11 +21,10 @@ #include "arrow/python/common.h" #include "arrow/python/decimal.h" #include "arrow/python/helpers.h" +#include "arrow/type_fwd.h" #include "arrow/util/decimal.h" #include "arrow/util/logging.h" -#include - namespace arrow { namespace py { namespace internal { diff --git a/cpp/src/arrow/python/helpers.cc b/cpp/src/arrow/python/helpers.cc index f20cdf0ecd8..6c8f0fe1e3a 100644 --- a/cpp/src/arrow/python/helpers.cc +++ b/cpp/src/arrow/python/helpers.cc @@ -20,19 +20,18 @@ #include "arrow/python/helpers.h" +#include #include #include #include #include -#include #include "arrow/python/common.h" #include "arrow/python/decimal.h" +#include "arrow/type_fwd.h" #include "arrow/util/checked_cast.h" #include "arrow/util/logging.h" -#include - namespace arrow { using internal::checked_cast; diff --git a/cpp/src/arrow/python/numpy_to_arrow.cc b/cpp/src/arrow/python/numpy_to_arrow.cc index 2847c4aa6b5..07322d199e5 100644 --- a/cpp/src/arrow/python/numpy_to_arrow.cc +++ b/cpp/src/arrow/python/numpy_to_arrow.cc @@ -31,6 +31,7 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_binary.h" #include "arrow/status.h" #include "arrow/table.h" #include "arrow/type_fwd.h" diff --git a/cpp/src/arrow/python/python_test.cc b/cpp/src/arrow/python/python_test.cc index 037a85875a5..11d3593be23 100644 --- a/cpp/src/arrow/python/python_test.cc +++ b/cpp/src/arrow/python/python_test.cc @@ -24,7 +24,7 @@ #include "arrow/python/platform.h" #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" #include "arrow/table.h" #include "arrow/testing/gtest_util.h" #include "arrow/util/decimal.h" diff --git a/cpp/src/arrow/python/python_to_arrow.cc b/cpp/src/arrow/python/python_to_arrow.cc index 49def3181df..b136bec9709 100644 --- a/cpp/src/arrow/python/python_to_arrow.cc +++ b/cpp/src/arrow/python/python_to_arrow.cc @@ -22,14 +22,17 @@ #include #include -#include #include #include #include #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_dict.h" +#include "arrow/array/builder_nested.h" +#include "arrow/array/builder_primitive.h" #include "arrow/chunked_array.h" #include "arrow/status.h" #include "arrow/type.h" diff --git a/cpp/src/arrow/python/serialize.cc b/cpp/src/arrow/python/serialize.cc index 7b91c24f63c..ad079cbd9c7 100644 --- a/cpp/src/arrow/python/serialize.cc +++ b/cpp/src/arrow/python/serialize.cc @@ -29,13 +29,14 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_nested.h" +#include "arrow/array/builder_primitive.h" #include "arrow/array/builder_union.h" -#include "arrow/builder.h" #include "arrow/io/interfaces.h" #include "arrow/io/memory.h" #include "arrow/ipc/util.h" #include "arrow/ipc/writer.h" -#include "arrow/memory_pool.h" #include "arrow/record_batch.h" #include "arrow/result.h" #include "arrow/tensor.h" diff --git a/cpp/src/arrow/python/type_traits.h b/cpp/src/arrow/python/type_traits.h index 7ccaa79bf49..a941577f765 100644 --- a/cpp/src/arrow/python/type_traits.h +++ b/cpp/src/arrow/python/type_traits.h @@ -28,8 +28,7 @@ #include -#include "arrow/builder.h" -#include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/util/logging.h" namespace arrow { diff --git a/cpp/src/arrow/stl.h b/cpp/src/arrow/stl.h index 5ba7a15072d..146c5706766 100644 --- a/cpp/src/arrow/stl.h +++ b/cpp/src/arrow/stl.h @@ -28,13 +28,15 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_base.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_nested.h" +#include "arrow/array/builder_primitive.h" #include "arrow/chunked_array.h" #include "arrow/compute/api.h" -#include "arrow/memory_pool.h" #include "arrow/status.h" #include "arrow/table.h" -#include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/type_traits.h" #include "arrow/util/checked_cast.h" #include "arrow/util/macros.h" diff --git a/cpp/src/arrow/table_builder.cc b/cpp/src/arrow/table_builder.cc index 2f0d8b7d778..78034c92868 100644 --- a/cpp/src/arrow/table_builder.cc +++ b/cpp/src/arrow/table_builder.cc @@ -21,7 +21,7 @@ #include #include "arrow/array/array_base.h" -#include "arrow/builder.h" +#include "arrow/array/builder_base.h" #include "arrow/record_batch.h" #include "arrow/status.h" #include "arrow/type.h" diff --git a/cpp/src/arrow/table_builder_test.cc b/cpp/src/arrow/table_builder_test.cc index c6a25812a2d..c730913122a 100644 --- a/cpp/src/arrow/table_builder_test.cc +++ b/cpp/src/arrow/table_builder_test.cc @@ -25,6 +25,7 @@ #include "arrow/array/array_base.h" #include "arrow/array/builder_binary.h" +#include "arrow/array/builder_dict.h" #include "arrow/array/builder_nested.h" #include "arrow/array/builder_primitive.h" #include "arrow/record_batch.h" diff --git a/cpp/src/arrow/testing/gtest_common.h b/cpp/src/arrow/testing/gtest_common.h index cf6af369420..8b48238ed8a 100644 --- a/cpp/src/arrow/testing/gtest_common.h +++ b/cpp/src/arrow/testing/gtest_common.h @@ -27,11 +27,11 @@ #include #include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/builder.h" -#include "arrow/memory_pool.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_primitive.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/util.h" +#include "arrow/type_fwd.h" namespace arrow { diff --git a/cpp/src/arrow/testing/gtest_util.h b/cpp/src/arrow/testing/gtest_util.h index fe90c37c055..7a0c9b7c257 100644 --- a/cpp/src/arrow/testing/gtest_util.h +++ b/cpp/src/arrow/testing/gtest_util.h @@ -29,8 +29,8 @@ #include -#include "arrow/buffer.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_primitive.h" #include "arrow/result.h" #include "arrow/status.h" #include "arrow/testing/gtest_compat.h" diff --git a/cpp/src/arrow/testing/json_integration_test.cc b/cpp/src/arrow/testing/json_integration_test.cc index dfe9b2aeaf5..627c1e9c9c6 100644 --- a/cpp/src/arrow/testing/json_integration_test.cc +++ b/cpp/src/arrow/testing/json_integration_test.cc @@ -29,15 +29,14 @@ #include #include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_primitive.h" #include "arrow/io/file.h" #include "arrow/ipc/dictionary.h" #include "arrow/ipc/reader.h" #include "arrow/ipc/test_common.h" #include "arrow/ipc/writer.h" #include "arrow/pretty_print.h" -#include "arrow/record_batch.h" #include "arrow/status.h" #include "arrow/testing/extension_type.h" #include "arrow/testing/gtest_util.h" @@ -45,6 +44,7 @@ #include "arrow/testing/json_internal.h" #include "arrow/testing/random.h" #include "arrow/type.h" +#include "arrow/type_fwd.h" #include "arrow/util/io_util.h" DEFINE_string(arrow, "", "Arrow file name"); diff --git a/cpp/src/arrow/testing/json_internal.cc b/cpp/src/arrow/testing/json_internal.cc index fae0e35b676..edc8675434f 100644 --- a/cpp/src/arrow/testing/json_internal.cc +++ b/cpp/src/arrow/testing/json_internal.cc @@ -27,8 +27,10 @@ #include #include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/builder.h" // IWYU pragma: keep +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_primitive.h" +#include "arrow/array/builder_time.h" #include "arrow/extension_type.h" #include "arrow/ipc/dictionary.h" #include "arrow/record_batch.h" diff --git a/cpp/src/arrow/testing/util.h b/cpp/src/arrow/testing/util.h index 0b873dc0b93..99b438db9c7 100644 --- a/cpp/src/arrow/testing/util.h +++ b/cpp/src/arrow/testing/util.h @@ -28,8 +28,7 @@ #include #include -#include "arrow/buffer.h" -#include "arrow/builder.h" +#include "arrow/array/builder_primitive.h" #include "arrow/record_batch.h" #include "arrow/status.h" #include "arrow/testing/visibility.h" diff --git a/cpp/src/arrow/type_fwd.h b/cpp/src/arrow/type_fwd.h index e62a8ca0082..5ad0a199be3 100644 --- a/cpp/src/arrow/type_fwd.h +++ b/cpp/src/arrow/type_fwd.h @@ -60,7 +60,6 @@ using FieldVector = std::vector>; class Array; struct ArrayData; class ArrayBuilder; -class Tensor; struct Scalar; using ArrayDataVector = std::vector>; @@ -251,6 +250,9 @@ class ExtensionType; class ExtensionArray; struct ExtensionScalar; +class Tensor; +class SparseTensor; + // ---------------------------------------------------------------------- struct Type { diff --git a/cpp/src/arrow/util/bit_util_benchmark.cc b/cpp/src/arrow/util/bit_util_benchmark.cc index 484dbab36b4..a9c472b27f2 100644 --- a/cpp/src/arrow/util/bit_util_benchmark.cc +++ b/cpp/src/arrow/util/bit_util_benchmark.cc @@ -28,12 +28,11 @@ #include "arrow/array/array_base.h" #include "arrow/array/array_primitive.h" #include "arrow/buffer.h" -#include "arrow/builder.h" -#include "arrow/memory_pool.h" #include "arrow/result.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/random.h" #include "arrow/testing/util.h" +#include "arrow/type_fwd.h" #include "arrow/util/bit_run_reader.h" #include "arrow/util/bit_util.h" #include "arrow/util/bitmap.h" diff --git a/cpp/src/arrow/util/converter.h b/cpp/src/arrow/util/converter.h index d60d8d056fa..8a9cd2b415a 100644 --- a/cpp/src/arrow/util/converter.h +++ b/cpp/src/arrow/util/converter.h @@ -20,7 +20,6 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" #include "arrow/chunked_array.h" #include "arrow/status.h" #include "arrow/type.h" diff --git a/cpp/src/parquet/arrow/arrow_reader_writer_test.cc b/cpp/src/parquet/arrow/arrow_reader_writer_test.cc index da79a7d4baa..eacfad813cd 100644 --- a/cpp/src/parquet/arrow/arrow_reader_writer_test.cc +++ b/cpp/src/parquet/arrow/arrow_reader_writer_test.cc @@ -29,11 +29,15 @@ #include #include -#include "arrow/api.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_dict.h" +#include "arrow/array/builder_primitive.h" +#include "arrow/chunked_array.h" #include "arrow/compute/api.h" -#include "arrow/pretty_print.h" #include "arrow/record_batch.h" #include "arrow/scalar.h" +#include "arrow/table.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/random.h" #include "arrow/testing/util.h" diff --git a/cpp/src/parquet/arrow/arrow_schema_test.cc b/cpp/src/parquet/arrow/arrow_schema_test.cc index c32811961ed..6b8fa591e91 100644 --- a/cpp/src/parquet/arrow/arrow_schema_test.cc +++ b/cpp/src/parquet/arrow/arrow_schema_test.cc @@ -28,8 +28,9 @@ #include "parquet/schema.h" #include "parquet/test_util.h" -#include "arrow/api.h" +#include "arrow/array.h" #include "arrow/testing/gtest_util.h" +#include "arrow/type.h" using arrow::ArrayFromVector; using arrow::Field; diff --git a/cpp/src/parquet/arrow/reader_internal.cc b/cpp/src/parquet/arrow/reader_internal.cc index c74d9f0567c..9dd3ac4f0ac 100644 --- a/cpp/src/parquet/arrow/reader_internal.cc +++ b/cpp/src/parquet/arrow/reader_internal.cc @@ -24,11 +24,9 @@ #include #include #include -#include #include #include "arrow/array.h" -#include "arrow/builder.h" #include "arrow/datum.h" #include "arrow/io/memory.h" #include "arrow/ipc/reader.h" diff --git a/cpp/src/parquet/arrow/reader_internal.h b/cpp/src/parquet/arrow/reader_internal.h index 6d89d005d2c..ad0b781576f 100644 --- a/cpp/src/parquet/arrow/reader_internal.h +++ b/cpp/src/parquet/arrow/reader_internal.h @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include diff --git a/cpp/src/parquet/arrow/reader_writer_benchmark.cc b/cpp/src/parquet/arrow/reader_writer_benchmark.cc index 134cedce6d3..dabe1dc3d1a 100644 --- a/cpp/src/parquet/arrow/reader_writer_benchmark.cc +++ b/cpp/src/parquet/arrow/reader_writer_benchmark.cc @@ -17,6 +17,7 @@ #include "benchmark/benchmark.h" +#include #include #include @@ -28,7 +29,9 @@ #include "parquet/file_writer.h" #include "parquet/platform.h" -#include "arrow/api.h" +#include "arrow/array.h" +#include "arrow/array/builder_primitive.h" +#include "arrow/table.h" #include "arrow/testing/random.h" #include "arrow/util/bitmap_ops.h" #include "arrow/util/logging.h" diff --git a/cpp/src/parquet/arrow/test_util.h b/cpp/src/parquet/arrow/test_util.h index 3ff4280f822..47989191f96 100644 --- a/cpp/src/parquet/arrow/test_util.h +++ b/cpp/src/parquet/arrow/test_util.h @@ -24,9 +24,13 @@ #include #include -#include "arrow/api.h" +#include "arrow/array.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_decimal.h" +#include "arrow/array/builder_primitive.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/random.h" +#include "arrow/type_fwd.h" #include "arrow/type_traits.h" #include "arrow/util/decimal.h" #include "parquet/column_reader.h" diff --git a/cpp/src/parquet/column_reader.cc b/cpp/src/parquet/column_reader.cc index 3cdc0525532..da3bc8d54f5 100644 --- a/cpp/src/parquet/column_reader.cc +++ b/cpp/src/parquet/column_reader.cc @@ -29,7 +29,9 @@ #include #include "arrow/array.h" -#include "arrow/builder.h" +#include "arrow/array/builder_binary.h" +#include "arrow/array/builder_dict.h" +#include "arrow/array/builder_primitive.h" #include "arrow/chunked_array.h" #include "arrow/type.h" #include "arrow/util/bit_stream_utils.h" diff --git a/cpp/src/parquet/encoding_test.cc b/cpp/src/parquet/encoding_test.cc index 363f7e1ac41..6766c95dcdd 100644 --- a/cpp/src/parquet/encoding_test.cc +++ b/cpp/src/parquet/encoding_test.cc @@ -25,6 +25,7 @@ #include #include "arrow/array.h" +#include "arrow/array/builder_dict.h" #include "arrow/testing/gtest_util.h" #include "arrow/testing/random.h" #include "arrow/testing/util.h" diff --git a/cpp/src/parquet/encryption.h b/cpp/src/parquet/encryption.h index 30389ba63c0..d29f72135a2 100644 --- a/cpp/src/parquet/encryption.h +++ b/cpp/src/parquet/encryption.h @@ -20,7 +20,6 @@ #include #include #include -#include #include #include "parquet/exception.h" diff --git a/cpp/src/parquet/stream_reader_test.cc b/cpp/src/parquet/stream_reader_test.cc index 3dc17fd9e93..f6db4dd1969 100644 --- a/cpp/src/parquet/stream_reader_test.cc +++ b/cpp/src/parquet/stream_reader_test.cc @@ -25,7 +25,7 @@ #include #include -#include "arrow/io/api.h" +#include "arrow/io/file.h" #include "parquet/exception.h" #include "parquet/test_util.h" diff --git a/cpp/src/parquet/stream_writer_test.cc b/cpp/src/parquet/stream_writer_test.cc index 12c1abbbacc..62e714c4ec2 100644 --- a/cpp/src/parquet/stream_writer_test.cc +++ b/cpp/src/parquet/stream_writer_test.cc @@ -23,7 +23,7 @@ #include #include -#include "arrow/io/api.h" +#include "arrow/io/file.h" #include "parquet/exception.h" namespace parquet { diff --git a/cpp/src/parquet/test_util.h b/cpp/src/parquet/test_util.h index 6ffe2f41b00..737ecc2fdde 100644 --- a/cpp/src/parquet/test_util.h +++ b/cpp/src/parquet/test_util.h @@ -22,7 +22,6 @@ #pragma once #include -#include #include #include #include