diff --git a/lib/parquet/deps.log b/lib/parquet/deps.log index 1dc6f02..82863df 100644 --- a/lib/parquet/deps.log +++ b/lib/parquet/deps.log @@ -1,424 +1,506 @@ -/home/mario/Desktop/arrow/cpp/src/arrow/util/iterator.h -/home/mario/Desktop/arrow/cpp/src/parquet/schema.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_time.h -/home/mario/Desktop/arrow/cpp/src/parquet/level_conversion.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_dict.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/adl_barrier.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_rvalue_reference.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/optional.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/table.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/gcc.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/level_conversion.cc -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/thrift-config.h -/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_encryptor.h -/home/mario/Desktop/arrow/cpp/src/arrow/io/file.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/kernel.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/decimal.h -/home/mario/Desktop/arrow/cpp/src/arrow/type_fwd.h -/home/mario/Desktop/arrow/cpp/src/arrow/buffer.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/conversion_traits.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/stringize.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_adaptive.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/static_cast.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/nttp.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/dtp.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_eti_base.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/add_reference.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/parquet_version.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/io_util.h -/home/mario/Desktop/arrow/cpp/src/parquet/column_writer.cc -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/variant.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/empty.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/identity.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/string_view.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/diff.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_primitive.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/numeric_cast.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/extension_type.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/bpacking.h -/home/mario/Desktop/arrow/cpp/src/parquet/column_reader.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_base.cc -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TLogging.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/numeric_cast_traits.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/compression_internal.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/identity.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/posix_features.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/select_stdlib_config.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/inc.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/thread_pool.cc -/home/mario/Desktop/arrow/cpp/src/arrow/compute/type_fwd.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_support.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_lvalue_reference.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/io/util_internal.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_spec.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_xxx.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_convertible.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/yes_no.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/operator_bool.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/scalar.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_fwd.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_builders.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/add_lvalue_reference.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/exception/exception.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/functional.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_primitive.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_decimal.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TOutput.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/tag.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/bool.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/sign_mixture_enum.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/io/concurrency.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_params.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_right.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/spaced.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_primitive.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/select_platform_config.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_nested.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/lambda.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/bool_fwd.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_tag.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/encryption.h -/home/mario/Desktop/arrow/cpp/src/arrow/type_traits.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_base.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/type_wrapper.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/elem.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/metadata.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_complete.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_left.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_dict.cc -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_union.h -/home/mario/Desktop/arrow/cpp/src/arrow/pretty_print.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/byte_stream_split.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arity.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/device.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/compression.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nested_type_wknd.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/and.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/eval_if.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash/xxhash.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/utf8.h -/home/mario/Desktop/arrow/cpp/src/parquet/api/io.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/limits.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/macros.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/is_msvc_eti_arg.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_never_true.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_integral.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_reference.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_tag.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_apply.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_function.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/validate.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/cat.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_void.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/sign_mixture.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_nested.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bool.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/detail/while.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_decimal.cc -/home/mario/Desktop/arrow/cpp/src/arrow/chunked_array.h -/home/mario/Desktop/arrow/cpp/src/parquet/column_reader.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/declval.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash/xxhash.c -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/is_function_cxx_11.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/types.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/has_xxx.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_same.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_run_reader.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/is_subranged.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ctps.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_arity_param.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/no_tr1/cmath.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/inc.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/stl_allocator.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/current_function.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/time.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/user.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/thrift_internal.h -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/datetime/date.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/elem.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/strptime.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_nested.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/core/enable_if.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/io/caching.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/future.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/include_preprocessed.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc_typename.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/intel.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TBinaryProtocol.tcc -/home/mario/Desktop/arrow/cpp/src/arrow/array/concatenate.h -/home/mario/Desktop/arrow/cpp/src/arrow/status.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/string_builder.cc -/home/mario/Desktop/arrow/cpp/src/arrow/util/formatting.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/stdlib/libstdcpp3.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/column_scanner.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/empty.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_decryptor.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/params.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/compute/cast.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/assert.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/vector.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/while.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/static_constant.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/column_page.h -/home/mario/Desktop/arrow/cpp/src/arrow/visitor.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/utility/enable_if.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/make_unique.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/bounds.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TTransportException.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/stdcxx.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/udt_builtin_mixture_enum.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/integral_constant.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/adl.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/compare.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_binary.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/key_value_metadata.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_arithmetic.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/properties.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/config/config.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/memory.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/meta.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/dict_internal.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/util.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_primitive.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/less.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bpacking_default.h -/home/mario/Desktop/arrow/cpp/src/arrow/array.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/type_fwd.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/compiler/gcc.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/multiplies.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/rle_encoding.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/kernels/codegen_internal.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_adaptive.cc -/home/mario/Desktop/arrow/cpp/src/arrow/datum.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/add_rvalue_reference.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/static_assert.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/rem.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/scoped_array.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_block_counter.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/exec_internal.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/enum.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TBufferTransports.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_stream_utils.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_aggregate.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/add.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/not.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/comma_if.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/data.h -/home/mario/Desktop/arrow/cpp/src/arrow/result.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/int_fwd.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/align_util.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_base.h -/home/mario/Desktop/arrow/cpp/src/arrow/buffer_builder.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_right.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/and.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/string_view.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_left.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arithmetic_op.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/cast.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/checked_cast.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/ubsan.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/value_wknd.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/sub.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/less.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/string_builder.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_scalar.cc -/home/mario/Desktop/arrow/cpp/src/parquet/platform.h -/home/mario/Desktop/arrow/cpp/src/parquet/windows_compatibility.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/size.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_decryptor.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/bounds.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/api/reader.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/sort.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/conversion_traits.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/utf8cpp/checked.h -/home/mario/Desktop/arrow/cpp/src/parquet/exception.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_decimal.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/use_preprocessed.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/data.hpp -/home/mario/Desktop/arrow/cpp/src/generated/parquet_types.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/void.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/utf8cpp/core.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/util_internal.h -/home/mario/Desktop/arrow/cpp/src/arrow/io/interfaces.h /home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_cast_utils.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_binary.cc -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TVirtualProtocol.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_reference.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/key_value_metadata.cc -/home/mario/Desktop/arrow/cpp/src/arrow/record_batch.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/if.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/suffix.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/identity.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TDebugProtocol.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/reverse.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/io/buffered.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/config.h -/home/mario/Desktop/arrow/cpp/src/arrow/tensor.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_vector.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/elem.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/windows_compatibility.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_decimal.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/forwarding.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_run_reader.h -/home/mario/Desktop/arrow/cpp/src/arrow/io/memory.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repeat.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_builders.h -/home/mario/Desktop/arrow/cpp/src/parquet/file_writer.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/workaround.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/simd.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/integral_wrapper.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TVirtualTransport.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/check.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/compl.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/api/reader.h /home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/comparison_op.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_trailing_params.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_block_counter.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/arrays.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/debug/error.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter_policies.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/Thrift.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_aggregate.cc -/home/mario/Desktop/arrow/cpp/src/arrow/compute/exec.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_abstract.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_nested.h -/home/mario/Desktop/arrow/cpp/src/parquet/statistics.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TCompactProtocol.h -/home/mario/Desktop/arrow/cpp/src/arrow/memory_pool.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/expr_iif.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/api/writer.h -/home/mario/Desktop/arrow/cpp/src/arrow/type.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_binary.cc -/home/mario/Desktop/arrow/cpp/src/parquet/schema_internal.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/hash_util.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/overload_resolution.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/visitor_inline.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_generate.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TBase.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_dict.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_writer.h -/home/mario/Desktop/arrow/cpp/src/parquet/column_writer.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/basic_decimal.cc -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TProtocolException.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/throw_exception.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/thread_pool.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/udt_builtin_mixture.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma_if.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/datetime/tz.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/integral.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/auto_rec.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/PlatformSocket.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/string.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/hashing.h -/home/mario/Desktop/arrow/cpp/src/parquet/encryption_internal.cc -/home/mario/Desktop/arrow/cpp/src/arrow/util/range.h -/home/mario/Desktop/arrow/cpp/src/arrow/sparse_tensor.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/windows_fixup.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/eat.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/value_parsing.h +/home/mario/Desktop/arrow/cpp/src/arrow/io/buffered.cc /home/mario/Desktop/arrow/cpp/src/arrow/extension_type.cc -/home/mario/Desktop/arrow/cpp/src/arrow/util/visibility.h -/home/mario/Desktop/arrow/cpp/src/arrow/array/array_binary.h -/home/mario/Desktop/arrow/cpp/src/arrow/io/type_fwd.h -/home/mario/Desktop/arrow/cpp/src/arrow/compute/function.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/largest_int.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_noexcept.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/detail/is_single_return.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/checked_delete.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/size.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/converter.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/optional.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/if.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/scoped_array.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/api/schema.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/times.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/compute/cast_internal.h -/home/mario/Desktop/arrow/cpp/src/arrow/compare.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/cpu_info.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/int.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_union.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/int_float_mixture_enum.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bitand.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/is_binary.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_encryptor.cc -/home/mario/Desktop/arrow/cpp/src/parquet/encryption_internal.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TApplicationException.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_nullptr_t.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/deprecated_io.cc -/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_vector.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_reader.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/version.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_op.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/numeric_cast_traits.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/repeat.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/compute/registry_internal.h -/home/mario/Desktop/arrow/cpp/src/parquet/encoding.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/default_params.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_scalar.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/detail/workaround.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/atomic_shared_ptr.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/cstdint.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/yes_no_type.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_array.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/ubsan.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/is_subranged.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_time.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/yes_no.hpp +/home/mario/Desktop/arrow/cpp/src/generated/parquet_types.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_primitive.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/variant.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/multiplies.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/is_function_cxx_11.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/status.h /home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/void_fwd.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/preprocessor.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/core/checked_delete.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/builder.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/limits/arity.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/overload.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/type_traits.h -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/datetime.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_fwd.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/deprecated_io.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/adt.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash/xxh3.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/platform/linux.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/equal_to.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_ops.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TCompactProtocol.tcc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/select_compiler_config.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_cv.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/config.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/workaround.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/basic_decimal.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_floating_point.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/expand.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/logging.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TProtocol.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/compiler.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/concatenate.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/enum.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/strtod.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/config.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_nested.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/less.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_decimal.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/cached-powers.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/string.cc +/home/mario/Desktop/arrow/cpp/src/parquet/exception.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_binary.cc +/home/mario/Desktop/arrow/cpp/src/parquet/encoding.cc +/home/mario/Desktop/arrow/cpp/src/arrow/type_traits.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TTransportException.h /home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/lambda_fwd.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/iif.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/int_util.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nttp_decl.hpp -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TBinaryProtocol.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/column_scanner.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/and.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/compute/api.h -/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TTransport.h -/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_util.h -/home/mario/Desktop/arrow/cpp/src/parquet/file_reader.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/template_arity_fwd.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/apply_wrap.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/dec.hpp -/home/mario/Desktop/arrow/cpp/src/parquet/printer.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ttp.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/compression.cc -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/times.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/eti.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_apply.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/compute/registry.h -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/intrinsics.hpp -/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/int_float_mixture.hpp -/home/mario/Desktop/arrow/cpp/src/arrow/util/variant.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/adl_barrier.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_nested.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/kernel.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/future.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/formatting.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/include_preprocessed.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/fast-dtoa.h /home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/def_params_tail.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/macros.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_vector.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_void.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/intrinsics.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/workaround.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/bignum.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/rem.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/iif.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bitand.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/kernels/codegen_internal.cc +/home/mario/Desktop/arrow/cpp/src/parquet/column_writer.cc +/home/mario/Desktop/arrow/cpp/src/parquet/encryption.cc +/home/mario/Desktop/arrow/cpp/src/parquet/encoding.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/value_parsing.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/double_conversion.h +/home/mario/Desktop/arrow/cpp/src/arrow/io/file.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/compiler.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_aggregate.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/compl.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_block_counter.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/thread_pool.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/utf8.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_rvalue_reference.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/identity.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_fwd.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/numeric_cast_traits.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc_typename.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/utility/enable_if.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_encryptor.cc +/home/mario/Desktop/arrow/cpp/src/arrow/datum.cc +/home/mario/Desktop/arrow/cpp/src/arrow/result.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/inc.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/and.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_function.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/string.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_scalar.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TDebugProtocol.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_array.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/windows_compatibility.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter_policies.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/schema_internal.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/int_util.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/core/enable_if.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/cstdint.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_cv.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/checked_delete.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_base.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/make_unique.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_aggregate.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/sign_mixture.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/type_traits.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/double-conversion.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/declval.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/status.cc +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash/xxhash.c +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_apply.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/time.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/spaced.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/datetime/date.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/bignum.h +/home/mario/Desktop/arrow/cpp/src/arrow/extension_type.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_same.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/utf8cpp/core.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/select_platform_config.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_dict.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/while.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/formatting.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/is_binary.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/adl.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/debug/error.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_binary.h +/home/mario/Desktop/arrow/cpp/src/arrow/io/buffered.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/overload.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/diff.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/size.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/integral_constant.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/empty.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_complete.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/align_util.h +/home/mario/Desktop/arrow/cpp/src/arrow/table.h +/home/mario/Desktop/arrow/cpp/src/arrow/memory_pool.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/void.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/overload_resolution.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ctps.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/ieee.h +/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_encryptor.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/future.cc +/home/mario/Desktop/arrow/cpp/src/arrow/builder.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/range.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/fixed-dtoa.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/eti.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_eti_base.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/type_wrapper.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/metadata.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/value_parsing.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/forwarding.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/gcc.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/and.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_binary.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/size.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/repeat.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/times.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_reader.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_builders.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/checked_cast.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_primitive.cc +/home/mario/Desktop/arrow/cpp/src/parquet/thrift_internal.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/config.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TTransport.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/static_cast.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/key_value_metadata.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/eval_if.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/sub.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/data.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/dec.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_generate.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/hash_util.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/string_builder.cc +/home/mario/Desktop/arrow/cpp/src/arrow/visitor.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/strptime.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_ops.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/byte_stream_split.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/select_compiler_config.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/string_builder.h +/home/mario/Desktop/arrow/cpp/src/parquet/encryption.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/validate.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/vector.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TVirtualProtocol.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TCompactProtocol.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/data.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/tag.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/api.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/params.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/bounds.hpp +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/PlatformSocket.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/throw_exception.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/stl_allocator.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_spec.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/thread_pool.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/cpu_info.h +/home/mario/Desktop/arrow/cpp/src/arrow/buffer.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_noexcept.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/device.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash/xxh3.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/validate.h +/home/mario/Desktop/arrow/cpp/src/parquet/api/schema.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/visibility.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/yes_no_type.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/utf8cpp/checked.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_op.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/platform.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/basic_decimal.cc +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/thrift-config.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/elem.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_nullptr_t.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_nested.cc +/home/mario/Desktop/arrow/cpp/src/parquet/schema.cc +/home/mario/Desktop/arrow/cpp/src/arrow/compute/util_internal.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TCompactProtocol.tcc +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_base.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_decryptor.h +/home/mario/Desktop/arrow/cpp/src/arrow/sparse_tensor.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/cast.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/scalar.h +/home/mario/Desktop/arrow/cpp/src/arrow/io/util_internal.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bool.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/stdlib/libstdcpp3.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/expr_iif.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/parquet_version.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_reference.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/int_fwd.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_abstract.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_adaptive.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/bpacking.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_decimal.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/use_preprocessed.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/io_util.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/integral_wrapper.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/scoped_array.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/io/interfaces.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/add_reference.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/times.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash/xxhash.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/registry.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_right.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/identity.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/io/caching.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/optional.h +/home/mario/Desktop/arrow/cpp/src/parquet/schema.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_convertible.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/check.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/cached-powers.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_arithmetic.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_lvalue_reference.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/select_stdlib_config.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/elem.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/workaround.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/double-conversion.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/bool.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/identity.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_vector.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/suffix.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/if.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/column_reader.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_binary.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/no_tr1/cmath.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/strtod.cc +/home/mario/Desktop/arrow/cpp/src/arrow/tensor.h +/home/mario/Desktop/arrow/cpp/src/arrow/compare.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/udt_builtin_mixture_enum.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/memory.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/add_lvalue_reference.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/integral.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/record_batch.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/diff.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_decimal.cc +/home/mario/Desktop/arrow/cpp/src/arrow/array/util.cc +/home/mario/Desktop/arrow/cpp/src/parquet/properties.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/bounds.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/detail/posix_features.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/basic_decimal.h +/home/mario/Desktop/arrow/cpp/src/parquet/types.h +/home/mario/Desktop/arrow/cpp/src/parquet/column_writer.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/not.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/file_writer.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_floating_point.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/file_reader.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arithmetic_op.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/result.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/sort.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_union.cc +/home/mario/Desktop/arrow/cpp/src/arrow/tensor/converter.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_dict.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/compression.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/preprocessor.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/column_scanner.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_trailing_params.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nested_type_wknd.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_util.cc +/home/mario/Desktop/arrow/cpp/src/parquet/metadata.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/adt.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/chunked_array.cc +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TBinaryProtocol.tcc +/home/mario/Desktop/arrow/cpp/src/parquet/level_conversion.h +/home/mario/Desktop/arrow/cpp/src/parquet/properties.cc +/home/mario/Desktop/arrow/cpp/src/arrow/datum.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_xxx.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/auto_rec.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_ops.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/core/checked_delete.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/exec.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/io_util.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/datetime/tz.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/limits/arity.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/memory_pool.cc +/home/mario/Desktop/arrow/cpp/src/arrow/array/util.h +/home/mario/Desktop/arrow/cpp/src/parquet/types.cc +/home/mario/Desktop/arrow/cpp/src/arrow/chunked_array.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/version.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/exec_internal.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_util.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/operator_bool.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_stream_utils.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/int_util.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/converter.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_left.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/deprecated_io.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/optional.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repeat.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/file_writer.cc +/home/mario/Desktop/arrow/cpp/src/parquet/encryption_internal.h +/home/mario/Desktop/arrow/cpp/src/arrow/io/interfaces.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_arity_param.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/kernel.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/lambda.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/io/concurrency.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/atomic_shared_ptr.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_builders.cc +/home/mario/Desktop/arrow/cpp/src/arrow/type.cc +/home/mario/Desktop/arrow/cpp/src/arrow/pretty_print.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/comma_if.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/less.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/sign_mixture_enum.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/logging.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/windows_compatibility.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/detail/workaround.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/static_assert.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/key_value_metadata.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/eat.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/column_reader.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/compression_internal.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/bpacking_default.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/equal_to.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/is_msvc_eti_arg.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/value_wknd.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/int_float_mixture_enum.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/config/config.hpp +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TVirtualTransport.h +/home/mario/Desktop/arrow/cpp/src/parquet/column_scanner.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/compression.cc +/home/mario/Desktop/arrow/cpp/src/arrow/io/memory.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/detail/while.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma_if.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/elem.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/printer.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/fast-dtoa.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/smart_ptr/scoped_array.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/static_constant.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/template_arity_fwd.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/sparse_tensor.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/conversion_traits.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_never_true.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_union.h +/home/mario/Desktop/arrow/cpp/src/arrow/buffer.cc +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/transport/TBufferTransports.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_tag.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_tag.hpp +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/stdcxx.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TProtocolException.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/expand.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_apply.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/table.cc +/home/mario/Desktop/arrow/cpp/src/arrow/io/caching.cc +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/xxhash.h +/home/mario/Desktop/arrow/cpp/src/parquet/api/writer.h +/home/mario/Desktop/arrow/cpp/src/parquet/api/io.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/cast_internal.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_base.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/int.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/numeric_cast.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/simd.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/user.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/rle_encoding.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/bitmap_writer.h +/home/mario/Desktop/arrow/cpp/src/parquet/level_conversion.cc +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TBinaryProtocol.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_decimal.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/apply_wrap.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/config.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/intel.hpp +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/Thrift.h +/home/mario/Desktop/arrow/cpp/src/arrow/pretty_print.h +/home/mario/Desktop/arrow/cpp/src/parquet/statistics.cc +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/diy-fp.cc +/home/mario/Desktop/arrow/cpp/src/arrow/array/dict_internal.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/time.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/function.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/utf8.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/cpu_info.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/data.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/platform/linux.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/string_view.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/dtp.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/kernels/codegen_internal.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TBase.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TApplicationException.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/utils.h +/home/mario/Desktop/arrow/cpp/src/arrow/io/memory.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_support.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/hashing.h +/home/mario/Desktop/arrow/cpp/src/arrow/record_batch.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ttp.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/io/file.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_fwd.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/type_fwd.h +/home/mario/Desktop/arrow/cpp/src/arrow/scalar.cc +/home/mario/Desktop/arrow/cpp/src/arrow/type.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/decimal.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/function.cc +/home/mario/Desktop/arrow/cpp/src/arrow/device.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/add.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/is_integral.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/type_fwd.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/string_view.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/has_xxx.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/bignum-dtoa.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nttp_decl.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/inc.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/int_float_mixture.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/functional.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/cast.h +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/fixed-dtoa.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/variant.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/add_rvalue_reference.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/registry_internal.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/meta.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/iterator.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_primitive.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/if.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_block_counter.cc +/home/mario/Desktop/arrow/cpp/src/arrow/array/concatenate.cc +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_dict.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arity.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/largest_int.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/detail/is_single_return.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/datetime.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/windows_fixup.h +/home/mario/Desktop/arrow/cpp/src/parquet/internal_file_decryptor.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/iterator.cc +/home/mario/Desktop/arrow/cpp/src/arrow/buffer_builder.h +/home/mario/Desktop/arrow/cpp/src/arrow/tensor.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_left.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/decimal.cc +/home/mario/Desktop/arrow/cpp/src/arrow/visitor.cc +/home/mario/Desktop/arrow/cpp/src/arrow/compute/registry.h +/home/mario/Desktop/arrow/cpp/src/arrow/util/memory.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/compare.h +/home/mario/Desktop/arrow/cpp/src/arrow/compare.cc +/home/mario/Desktop/arrow/cpp/src/arrow/util/logging.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/exec.h +/home/mario/Desktop/arrow/cpp/src/parquet/column_page.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/arrays.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_right.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/nttp.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/numeric_cast_traits.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_base.h +/home/mario/Desktop/arrow/cpp/src/arrow/visitor_inline.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/cat.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_reference.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/diy-fp.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_primitive.cc +/home/mario/Desktop/arrow/cpp/src/arrow/type_fwd.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_params.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/current_function.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/assert.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/file_reader.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/reverse.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/compute/cast.cc +/home/mario/Desktop/arrow/cpp/src/arrow/io/type_fwd.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/protocol/TProtocol.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/exception/exception.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/deprecated_io.cc +/home/mario/Desktop/arrow/cpp/src/parquet/encryption_internal.cc +/home/mario/Desktop/arrow/cpp/src/parquet/platform.h +/home/mario/Desktop/arrow/cpp/src/arrow/compute/api_scalar.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/config/compiler/gcc.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_run_reader.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/and.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/vendored/double-conversion/bignum-dtoa.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_adaptive.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc.hpp +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TLogging.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/builder_nested.h +/home/mario/Desktop/arrow/cpp/src/arrow/array/array_dict.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/conversion_traits.hpp +/home/mario/Desktop/arrow/cpp/src/arrow/util/bit_run_reader.h +/home/mario/Desktop/arrow/cpp/thrift_ep-install/include/thrift/TOutput.h +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/limits.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/stringize.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/bool_fwd.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/empty.hpp +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/default_params.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/printer.cc +/home/mario/Desktop/arrow/cpp/src/arrow/builder.cc +/home/mario/Desktop/arrow/cpp/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma.hpp +/home/mario/Desktop/arrow/cpp/src/parquet/statistics.h diff --git a/lib/parquet/generate_deps.py b/lib/parquet/generate_deps.py index 87722ba..0393873 100644 --- a/lib/parquet/generate_deps.py +++ b/lib/parquet/generate_deps.py @@ -17,14 +17,13 @@ libpaths = ["/home/mario/Desktop/arrow/cpp/src/", #-----------------------------------------------------------------------------# -def find_dependencies(srcfile, recdepth, cdeplist) : # repopath, recdepth) : +def find_dependencies(srcfile, recdepth, cdeplist) : """ Given a source file and its dependencies in the given repository path list all further dependencies recursively Args: srcfile (string): path/name of source file - # repopath (string): path of repository containing all sources recdepth (integer): current recursion depth cdeplist (list): current list of dependencies Return: @@ -33,15 +32,18 @@ def find_dependencies(srcfile, recdepth, cdeplist) : # repopath, recdepth) : # define indentation to visual recursion indent = recdepth*(" ") - print("\n" + indent + "find_dependencies:" - + "\n" + indent + "1: " + srcfile - + "\n" + indent + "2: " + str(recdepth) - + "\n" + indent + "3: " + "num deps: " + str(len(cdeplist)) + "\n") + print("\n" + indent + "find_dependencies:" + + "\n" + indent + "1: " + srcfile + + "\n" + indent + "2: " + str(recdepth) + + "\n" + indent + "3: " + str(len(cdeplist)) + "\n") + + # show dependencies so far + #print(cdeplist) # generate dependencies by means of g++ libdeps = (" -I ").join(libpaths) cmd = "g++ -c -MMD " + srcfile + " -I " + libdeps - print(indent + ( str(cmd) if len(cmd) < 100 else str(cmd[:100])) ) + print(indent + cmd ) os.system(cmd) # open dependency file and extract list of sources @@ -51,44 +53,55 @@ def find_dependencies(srcfile, recdepth, cdeplist) : # repopath, recdepth) : with open(depfile,'r') as fin : depslist = fin.readlines() - # delete dependencies and object files + # delete dependencies and object files os.system("rm " + basename + ".d") os.system("rm " + basename + ".o") - + # remove first line depslist = depslist[1:] # delete leading space and trailing backslash depslistcl = [dep.lstrip(' ').rstrip(' \\\n') for dep in depslist] + # collect dependencies + newdeps = [] + # check all dependencies recursively and collect further dependencies - recdeps = cdeplist + count = 0 for dep in depslistcl : # append source itself to list - if dep not in recdeps : - recdeps.append(dep) - # try to find corresponding *.cc, (*.cpp) file - depcc = dep.split('.')[0] + '.cc' - print(indent + "checking for " + depcc) - if os.path.exists(depcc) and depcc not in recdeps : - # check recursion depth - if recdepth < 2 : - # find dependencies of single source - newdeps = find_dependencies(depcc,recdepth+1,recdeps) - # append to list - for el in newdeps : - if el not in recdeps : - recdeps.append(el) - else : + if dep not in cdeplist : + print(indent + "adding dependency " + dep) + newdeps.append(dep) + count = count + 1 + print(indent + "=> added " + str(count) + "/" + str(len(depslistcl)) ) + + # check recursion depth + if recdepth < 20 : + # check all dependencies of every single dependency + for dep in depslistcl : + # try to find corresponding *.cc, (*.cpp) file + depcc = dep.split('.')[0] + '.cc' + print(indent + "checking for " + depcc) if os.path.exists(depcc) : - print(indent + "already in list") + if depcc not in cdeplist and depcc not in newdeps : + # add file itself as dependency + newdeps.append(depcc) + # find dependencies of single source + newrecdeps = find_dependencies(depcc,recdepth+1,cdeplist+newdeps) + # append to list + for el in newrecdeps : + if el not in newdeps : + newdeps.append(el) + else : + print(indent + "already in list") else : print(indent + "does not exist") print("\n") # provide list of dependencies - return recdeps + return newdeps #-----------------------------------------------------------------------------# @@ -98,7 +111,7 @@ if __name__== "__main__": # collect list of dependencies deps = [] - + # start recursion with given source file deps = find_dependencies(args.mainSource,0,[]) @@ -108,11 +121,11 @@ if __name__== "__main__": # remove any duplicates depsuni = set(deps) - print("\nfinal list of dependencies: (" + str(len(depsuni)) + ")\n") + print("\nfinal set of dependencies: (" + str(len(depsuni)) + ")\n") print(depsuni) print("\n") - + # write list of dependencies with open(args.depFile,'w') as fout : for el in depsuni : fout.write(str(el) + '\n') diff --git a/lib/parquet/generate_make.py b/lib/parquet/generate_make.py new file mode 100644 index 0000000..1c42c27 --- /dev/null +++ b/lib/parquet/generate_make.py @@ -0,0 +1,23 @@ +#-----------------------------------------------------------------------------# + +import glob +from pathlib import Path + +# find source files +srcpaths = Path("src/").rglob('*.cc') +deps =[ str(path) for path in srcpaths ] + +print(deps) + +with open('makefileobj','w') as fout : + for el in deps : + basnam = el.split('/')[-1] + print(str(el) + " : " + str(basnam) + " : " + str(basnam.split('.')[1])) + if basnam.split('.')[1] == 'cc' : + objfile = 'bin/' + basnam.replace('.cc','.o') + fout.write(objfile + " : " + el + "\n") + fout.write("\t" + "$(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@\n") + fout.write("\n") + + +#-----------------------------------------------------------------------------# diff --git a/lib/parquet/makefile b/lib/parquet/makefile index 6b37c81..587d402 100644 --- a/lib/parquet/makefile +++ b/lib/parquet/makefile @@ -1,128 +1,356 @@ #-----------------------------------------------------------------------------# -PARQUETDIR := /home/mario/Desktop/Record_Evolution/parquet-cpp -ARROWDIR := /home/mario/Desktop/Record_Evolution/arrow/cpp/src - CPP := g++ -std=c++14 -OPT := -Wall -Woverflow -Wpedantic -Wextra -Waddress -Waligned-new -Walloc-zero +CPPFLAGS := -Woverflow -Wpedantic -Wextra -Waddress -Waligned-new -Walloc-zero -prepare : collect_parquet modify_parquet collect_arrow modify_arrow +SRC := src/ +BIN := bin/ -collect_parquet : - cp -r $(PARQUETDIR)/src/parquet ./ - cp $(PARQUETDIR)/examples/low-level-api/reader_writer.h ./ - cp $(PARQUETDIR)/examples/low-level-api/reader-writer.cc ./ - -modify_parquet : - cp parquet/parquet_version.h.in parquet/parquet_version.h - sed -i 's/ReadableFileInterface/ReadWriteFileInterface/g' parquet/util/memory.h - sed -i 's/ReadableFileInterface/ReadWriteFileInterface/g' parquet/file_reader.h - sed -i 's/arrow::Codec/arrow::util::Codec/g' parquet/util/memory.h - sed -i 's/valid_bits_writer/valid_bits_offset/g' parquet/column_reader.h - -collect_arrow : - cp -r $(ARROWDIR)/arrow ./ - -modify_arrow : - cp arrow/util/bit_util.h arrow/util/bit-util.h - -collect_test : - cp $(PARQUETDIR)/examples/low-level-api/reader-writer.cc ./ - -subst : - sed -i 's/#include \"arrow\//\/\/#include \"arrow/g' parquet/properties.h - -test : - $(CPP) $(OPT) -I$(PWD) reader-writer.cc - -clean : - rm -r parquet/ arrow/ - rm reader-writer.cc reader_writer.h -#-----------------------------------------------------------------------------# - -# choose shell -SHELL:=/bin/bash - -SRC = reader-writer - -# specify path of cloned directory -ARROWGIT := /home/mario/Desktop/Record_Evolution/arrow - -filewriter : parquet/file_writer.cc - $(CPP) -c $(OPT) $< - -# build executable (and generate dependency file) -readwrite : reader-writer.cc - $(CPP) $(OPT) -MMD $< -I ./ - -# generate dependency file -$(SRC).d : $(SRC).cc - $(CPP) -c -MMD $< -I ./ -I $(ARROWGIT)/cpp/src/ - -# extract source dependencies -extract-dep : $(SRC).d - @# extract relevant dependencies - cat $< | sed 's/ /\n/g' | awk 'NF' | grep -v '\\' | grep '\/' > deps.log - cat deps.log | sed ':a;N;$!ba;s/\n/ /g' > headers.log - cat headers.log | sed 's/.h$$/.cc/g' > sources.log - @# copy required sources - mkdir -p temp/ - cp --parents `cat headers.log` temp/ - cp --parents `cat sources.log` temp/ 2>/dev/null - mv temp$(ARROWGIT)/cpp/src/* ./ - rm -r temp - -clean-dep : - rm -f deps.log headers.log sources.log $(SRC).d +LIBS := -I src/src/ -I src/thrift_ep-install/include/ -I src/boost_ep-prefix/src/boost_ep/ #-----------------------------------------------------------------------------# # prepare source # -# before: $ cd arrow/cpp/ and compile relevant sources by +# before: $ cd arrow/cpp/ and compile relevant sources by # $ cmake . -D ARROW_PARQUET=ON -D PARQUET_BUILD_EXAMPLES=ON -D ARROW_WITH_SNAPPY=ON # $ cmake .. -D ARROW_PARQUET=ON ARROW_BUILD_EXAMPLES=ON -cp-src : deps.log - mkdir src - cat deps.log | while read f; do echo $f; cp --parents $f src/; done; - mv src/home/mario/Desktop/arrow/cpp/* src/ - rm -r src/home/ +lib : + cmake . -D ARROW_WITH_BROTLI=ON -D ARROW_WITH_BZ2=ON -D ARROW_WITH_LZ4=ON -D ARROW_WITH_SNAPPY=ON -D ARROW_WITH_ZLIB=ON -D ARROW_PARQUET=ON -D ARROW_PYTHON=ON + +# cp-src : deps.log +# ./src_copy.sh deps.log : - python3 generate_deps.py reader-writer.cc $< + python3 generate_deps.py reader-writer.cc $@ - -SRC := $(shell find src/ -name '*.cc') +SRC := $(shell find $(SRC) -name '*.cc') # OBJ := $(apprefix obj/, $(SRC:%.cc=%.o)) -OBJ := $(addprefix bin/,$(notdir $(SRC:%.cc=%.o))) +OBJ := $(addprefix $(BIN),$(notdir $(SRC:%.cc=%.o))) check : - echo $(SRC) - echo $(OBJ) + @echo $(SRC) + @echo $(OBJ) -reader-writer-example : reader-writer.cc $(OBJ) - g++ $< -I src/src/ -o $@ $(OBJ) +# vpath %.cc src/ -$(OBJ) : $(SRC) - $(CPP) $(OPT) -c $< -o $@ -I src/src/ +reader-writer-example : reader-writer.cc $(OBJ) bin/utilmemory.o + $(CPP) $(CPPFLAGS) $< $(LIBS) -o $@ $(OBJ) bin/utilmemory.o +# $(OBJ) : $(SRC) +# $(CPP) $(OPT) -c $< -o $@ -I src/src/ +# +# $(BIN)%.o : $(SRC) +# $(CPP) $(OPT) -c $< -I src/src/ -o $@ + +clean-obj : + rm -f $(OBJ) + +# => do build with cmake like here +# https://arrow.apache.org/docs/developers/python.html#build-and-test #-----------------------------------------------------------------------------# -# only use more recent and up to date repository arrow.git -# build arrow shared/static libraries -build : - cd arrow/cpp - # cmake -LA to show all options - cmake . -D ARROW_PARQUET=ON #ARROW_ARMV8_ARCH=armv8-a - make +bin/type.o : src/src/arrow/type.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ -example : - cd arrow/cpp/examples/parquet/low-level-api/ - g++ reader-writer.cc -I. -I../../../src/ -L../../../../cpp/build/release/ -larrow -lparquet +bin/result.o : src/src/arrow/result.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ -# set environment variable LD_LIBRARY_PATH=../../../../cpp/build/release/ before launching executable +bin/builder.o : src/src/arrow/builder.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ +bin/tensor.o : src/src/arrow/tensor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ -#------------------------------------------------------------------------------------# +bin/table.o : src/src/arrow/table.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/extension_type.o : src/src/arrow/extension_type.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/device.o : src/src/arrow/device.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/memory_pool.o : src/src/arrow/memory_pool.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/datum.o : src/src/arrow/datum.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/record_batch.o : src/src/arrow/record_batch.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/compare.o : src/src/arrow/compare.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/visitor.o : src/src/arrow/visitor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/chunked_array.o : src/src/arrow/chunked_array.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/status.o : src/src/arrow/status.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/pretty_print.o : src/src/arrow/pretty_print.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/sparse_tensor.o : src/src/arrow/sparse_tensor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/buffer.o : src/src/arrow/buffer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/scalar.o : src/src/arrow/scalar.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/string.o : src/src/arrow/util/string.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/utilmemory.o : src/src/arrow/util/memory.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/future.o : src/src/arrow/util/future.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/iterator.o : src/src/arrow/util/iterator.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/compression.o : src/src/arrow/util/compression.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/utf8.o : src/src/arrow/util/utf8.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/time.o : src/src/arrow/util/time.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/cpu_info.o : src/src/arrow/util/cpu_info.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/thread_pool.o : src/src/arrow/util/thread_pool.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bit_util.o : src/src/arrow/util/bit_util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/logging.o : src/src/arrow/util/logging.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/basic_decimal.o : src/src/arrow/util/basic_decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/decimal.o : src/src/arrow/util/decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bit_block_counter.o : src/src/arrow/util/bit_block_counter.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/key_value_metadata.o : src/src/arrow/util/key_value_metadata.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/int_util.o : src/src/arrow/util/int_util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/io_util.o : src/src/arrow/util/io_util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bitmap_ops.o : src/src/arrow/util/bitmap_ops.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bitmap_builders.o : src/src/arrow/util/bitmap_builders.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bit_run_reader.o : src/src/arrow/util/bit_run_reader.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/value_parsing.o : src/src/arrow/util/value_parsing.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/string_builder.o : src/src/arrow/util/string_builder.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/formatting.o : src/src/arrow/util/formatting.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_primitive.o : src/src/arrow/array/array_primitive.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_dict.o : src/src/arrow/array/array_dict.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_binary.o : src/src/arrow/array/builder_binary.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_union.o : src/src/arrow/array/builder_union.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/concatenate.o : src/src/arrow/array/concatenate.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_nested.o : src/src/arrow/array/array_nested.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_decimal.o : src/src/arrow/array/array_decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_primitive.o : src/src/arrow/array/builder_primitive.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/data.o : src/src/arrow/array/data.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/diff.o : src/src/arrow/array/diff.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_nested.o : src/src/arrow/array/builder_nested.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_decimal.o : src/src/arrow/array/builder_decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_dict.o : src/src/arrow/array/builder_dict.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_binary.o : src/src/arrow/array/array_binary.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_adaptive.o : src/src/arrow/array/builder_adaptive.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_base.o : src/src/arrow/array/array_base.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/validate.o : src/src/arrow/array/validate.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_base.o : src/src/arrow/array/builder_base.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/util.o : src/src/arrow/array/util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/caching.o : src/src/arrow/io/caching.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/memory.o : src/src/arrow/io/memory.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/interfaces.o : src/src/arrow/io/interfaces.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/buffered.o : src/src/arrow/io/buffered.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/file.o : src/src/arrow/io/file.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/strtod.o : src/src/arrow/vendored/double-conversion/strtod.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bignum.o : src/src/arrow/vendored/double-conversion/bignum.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/fixed-dtoa.o : src/src/arrow/vendored/double-conversion/fixed-dtoa.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/fast-dtoa.o : src/src/arrow/vendored/double-conversion/fast-dtoa.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/diy-fp.o : src/src/arrow/vendored/double-conversion/diy-fp.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/double-conversion.o : src/src/arrow/vendored/double-conversion/double-conversion.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bignum-dtoa.o : src/src/arrow/vendored/double-conversion/bignum-dtoa.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/cached-powers.o : src/src/arrow/vendored/double-conversion/cached-powers.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/api_aggregate.o : src/src/arrow/compute/api_aggregate.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/exec.o : src/src/arrow/compute/exec.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/kernel.o : src/src/arrow/compute/kernel.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/registry.o : src/src/arrow/compute/registry.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/function.o : src/src/arrow/compute/function.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/cast.o : src/src/arrow/compute/cast.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/api_vector.o : src/src/arrow/compute/api_vector.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/api_scalar.o : src/src/arrow/compute/api_scalar.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/codegen_internal.o : src/src/arrow/compute/kernels/codegen_internal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/column_scanner.o : src/src/parquet/column_scanner.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/statistics.o : src/src/parquet/statistics.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/internal_file_decryptor.o : src/src/parquet/internal_file_decryptor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/column_writer.o : src/src/parquet/column_writer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/encryption.o : src/src/parquet/encryption.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/file_reader.o : src/src/parquet/file_reader.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/properties.o : src/src/parquet/properties.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/encryption_internal.o : src/src/parquet/encryption_internal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/internal_file_encryptor.o : src/src/parquet/internal_file_encryptor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/types.o : src/src/parquet/types.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/encoding.o : src/src/parquet/encoding.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/metadata.o : src/src/parquet/metadata.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/printer.o : src/src/parquet/printer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/level_conversion.o : src/src/parquet/level_conversion.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/deprecated_io.o : src/src/parquet/deprecated_io.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/file_writer.o : src/src/parquet/file_writer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/schema.o : src/src/parquet/schema.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/platform.o : src/src/parquet/platform.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/column_reader.o : src/src/parquet/column_reader.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ diff --git a/lib/parquet/makefile.bkup b/lib/parquet/makefile.bkup new file mode 100644 index 0000000..8a17378 --- /dev/null +++ b/lib/parquet/makefile.bkup @@ -0,0 +1,96 @@ +#-----------------------------------------------------------------------------# + +PARQUETDIR := /home/mario/Desktop/Record_Evolution/parquet-cpp +ARROWDIR := /home/mario/Desktop/Record_Evolution/arrow/cpp/src + +CPP := g++ -std=c++14 +OPT := -Wall -Woverflow -Wpedantic -Wextra -Waddress -Waligned-new -Walloc-zero + +prepare : collect_parquet modify_parquet collect_arrow modify_arrow + +collect_parquet : + cp -r $(PARQUETDIR)/src/parquet ./ + cp $(PARQUETDIR)/examples/low-level-api/reader_writer.h ./ + cp $(PARQUETDIR)/examples/low-level-api/reader-writer.cc ./ + +modify_parquet : + cp parquet/parquet_version.h.in parquet/parquet_version.h + sed -i 's/ReadableFileInterface/ReadWriteFileInterface/g' parquet/util/memory.h + sed -i 's/ReadableFileInterface/ReadWriteFileInterface/g' parquet/file_reader.h + sed -i 's/arrow::Codec/arrow::util::Codec/g' parquet/util/memory.h + sed -i 's/valid_bits_writer/valid_bits_offset/g' parquet/column_reader.h + +collect_arrow : + cp -r $(ARROWDIR)/arrow ./ + +modify_arrow : + cp arrow/util/bit_util.h arrow/util/bit-util.h + +collect_test : + cp $(PARQUETDIR)/examples/low-level-api/reader-writer.cc ./ + +subst : + sed -i 's/#include \"arrow\//\/\/#include \"arrow/g' parquet/properties.h + +test : + $(CPP) $(OPT) -I$(PWD) reader-writer.cc + +clean : + rm -r parquet/ arrow/ + rm reader-writer.cc reader_writer.h + +#-----------------------------------------------------------------------------# + +# choose shell +SHELL:=/bin/bash + +SRC = reader-writer + +# specify path of cloned directory +ARROWGIT := /home/mario/Desktop/Record_Evolution/arrow + +filewriter : parquet/file_writer.cc + $(CPP) -c $(OPT) $< + +# build executable (and generate dependency file) +readwrite : reader-writer.cc + $(CPP) $(OPT) -MMD $< -I ./ + +# generate dependency file +$(SRC).d : $(SRC).cc + $(CPP) -c -MMD $< -I ./ -I $(ARROWGIT)/cpp/src/ + +# extract source dependencies +extract-dep : $(SRC).d + @# extract relevant dependencies + cat $< | sed 's/ /\n/g' | awk 'NF' | grep -v '\\' | grep '\/' > deps.log + cat deps.log | sed ':a;N;$!ba;s/\n/ /g' > headers.log + cat headers.log | sed 's/.h$$/.cc/g' > sources.log + @# copy required sources + mkdir -p temp/ + cp --parents `cat headers.log` temp/ + cp --parents `cat sources.log` temp/ 2>/dev/null + mv temp$(ARROWGIT)/cpp/src/* ./ + rm -r temp + +clean-dep : + rm -f deps.log headers.log sources.log $(SRC).d + +#-----------------------------------------------------------------------------# +# only use more recent and up to date repository arrow.git + +# build arrow shared/static libraries +build : + cd arrow/cpp + # cmake -LA to show all options + cmake . -D ARROW_PARQUET=ON #ARROW_ARMV8_ARCH=armv8-a + make + +example : + cd arrow/cpp/examples/parquet/low-level-api/ + g++ reader-writer.cc -I. -I../../../src/ -L../../../../cpp/build/release/ -larrow -lparquet + +# set environment variable LD_LIBRARY_PATH=../../../../cpp/build/release/ before launching executable + + +#------------------------------------------------------------------------------------# diff --git a/lib/parquet/makefileobj b/lib/parquet/makefileobj new file mode 100644 index 0000000..e67bac2 --- /dev/null +++ b/lib/parquet/makefileobj @@ -0,0 +1,303 @@ +bin/type.o : src/src/arrow/type.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/result.o : src/src/arrow/result.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder.o : src/src/arrow/builder.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/tensor.o : src/src/arrow/tensor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/table.o : src/src/arrow/table.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/extension_type.o : src/src/arrow/extension_type.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/device.o : src/src/arrow/device.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/memory_pool.o : src/src/arrow/memory_pool.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/datum.o : src/src/arrow/datum.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/record_batch.o : src/src/arrow/record_batch.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/compare.o : src/src/arrow/compare.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/visitor.o : src/src/arrow/visitor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/chunked_array.o : src/src/arrow/chunked_array.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/status.o : src/src/arrow/status.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/pretty_print.o : src/src/arrow/pretty_print.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/sparse_tensor.o : src/src/arrow/sparse_tensor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/buffer.o : src/src/arrow/buffer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/scalar.o : src/src/arrow/scalar.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/string.o : src/src/arrow/util/string.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/memory.o : src/src/arrow/util/memory.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/future.o : src/src/arrow/util/future.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/iterator.o : src/src/arrow/util/iterator.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/compression.o : src/src/arrow/util/compression.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/utf8.o : src/src/arrow/util/utf8.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/time.o : src/src/arrow/util/time.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/cpu_info.o : src/src/arrow/util/cpu_info.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/thread_pool.o : src/src/arrow/util/thread_pool.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bit_util.o : src/src/arrow/util/bit_util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/logging.o : src/src/arrow/util/logging.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/basic_decimal.o : src/src/arrow/util/basic_decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/decimal.o : src/src/arrow/util/decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bit_block_counter.o : src/src/arrow/util/bit_block_counter.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/key_value_metadata.o : src/src/arrow/util/key_value_metadata.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/int_util.o : src/src/arrow/util/int_util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/io_util.o : src/src/arrow/util/io_util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bitmap_ops.o : src/src/arrow/util/bitmap_ops.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bitmap_builders.o : src/src/arrow/util/bitmap_builders.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bit_run_reader.o : src/src/arrow/util/bit_run_reader.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/value_parsing.o : src/src/arrow/util/value_parsing.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/string_builder.o : src/src/arrow/util/string_builder.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/formatting.o : src/src/arrow/util/formatting.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_primitive.o : src/src/arrow/array/array_primitive.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_dict.o : src/src/arrow/array/array_dict.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_binary.o : src/src/arrow/array/builder_binary.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_union.o : src/src/arrow/array/builder_union.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/concatenate.o : src/src/arrow/array/concatenate.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_nested.o : src/src/arrow/array/array_nested.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_decimal.o : src/src/arrow/array/array_decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_primitive.o : src/src/arrow/array/builder_primitive.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/data.o : src/src/arrow/array/data.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/diff.o : src/src/arrow/array/diff.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_nested.o : src/src/arrow/array/builder_nested.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_decimal.o : src/src/arrow/array/builder_decimal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_dict.o : src/src/arrow/array/builder_dict.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_binary.o : src/src/arrow/array/array_binary.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_adaptive.o : src/src/arrow/array/builder_adaptive.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/array_base.o : src/src/arrow/array/array_base.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/validate.o : src/src/arrow/array/validate.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/builder_base.o : src/src/arrow/array/builder_base.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/util.o : src/src/arrow/array/util.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/caching.o : src/src/arrow/io/caching.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/memory.o : src/src/arrow/io/memory.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/interfaces.o : src/src/arrow/io/interfaces.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/buffered.o : src/src/arrow/io/buffered.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/file.o : src/src/arrow/io/file.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/strtod.o : src/src/arrow/vendored/double-conversion/strtod.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bignum.o : src/src/arrow/vendored/double-conversion/bignum.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/fixed-dtoa.o : src/src/arrow/vendored/double-conversion/fixed-dtoa.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/fast-dtoa.o : src/src/arrow/vendored/double-conversion/fast-dtoa.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/diy-fp.o : src/src/arrow/vendored/double-conversion/diy-fp.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/double-conversion.o : src/src/arrow/vendored/double-conversion/double-conversion.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/bignum-dtoa.o : src/src/arrow/vendored/double-conversion/bignum-dtoa.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/cached-powers.o : src/src/arrow/vendored/double-conversion/cached-powers.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/api_aggregate.o : src/src/arrow/compute/api_aggregate.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/exec.o : src/src/arrow/compute/exec.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/kernel.o : src/src/arrow/compute/kernel.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/registry.o : src/src/arrow/compute/registry.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/function.o : src/src/arrow/compute/function.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/cast.o : src/src/arrow/compute/cast.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/api_vector.o : src/src/arrow/compute/api_vector.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/api_scalar.o : src/src/arrow/compute/api_scalar.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/codegen_internal.o : src/src/arrow/compute/kernels/codegen_internal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/column_scanner.o : src/src/parquet/column_scanner.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/statistics.o : src/src/parquet/statistics.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/internal_file_decryptor.o : src/src/parquet/internal_file_decryptor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/column_writer.o : src/src/parquet/column_writer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/encryption.o : src/src/parquet/encryption.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/file_reader.o : src/src/parquet/file_reader.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/properties.o : src/src/parquet/properties.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/encryption_internal.o : src/src/parquet/encryption_internal.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/internal_file_encryptor.o : src/src/parquet/internal_file_encryptor.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/types.o : src/src/parquet/types.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/encoding.o : src/src/parquet/encoding.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/metadata.o : src/src/parquet/metadata.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/printer.o : src/src/parquet/printer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/level_conversion.o : src/src/parquet/level_conversion.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/deprecated_io.o : src/src/parquet/deprecated_io.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/file_writer.o : src/src/parquet/file_writer.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/schema.o : src/src/parquet/schema.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/platform.o : src/src/parquet/platform.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + +bin/column_reader.o : src/src/parquet/column_reader.cc + $(CPP) $(CPPFLAGS) -c $< $(LIBS) -o $@ + diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/assert.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/assert.hpp deleted file mode 100644 index 9650d7a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/assert.hpp +++ /dev/null @@ -1,85 +0,0 @@ -// -// boost/assert.hpp - BOOST_ASSERT(expr) -// BOOST_ASSERT_MSG(expr, msg) -// BOOST_VERIFY(expr) -// BOOST_VERIFY_MSG(expr, msg) -// BOOST_ASSERT_IS_VOID -// -// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2007, 2014 Peter Dimov -// Copyright (c) Beman Dawes 2011 -// Copyright (c) 2015 Ion Gaztanaga -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -// -// Note: There are no include guards. This is intentional. -// -// See http://www.boost.org/libs/assert/assert.html for documentation. -// - -// -// Stop inspect complaining about use of 'assert': -// -// boostinspect:naassert_macro -// - -// -// BOOST_ASSERT, BOOST_ASSERT_MSG, BOOST_ASSERT_IS_VOID -// - -#undef BOOST_ASSERT -#undef BOOST_ASSERT_MSG -#undef BOOST_ASSERT_IS_VOID - -#if defined(BOOST_DISABLE_ASSERTS) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) ) - -# define BOOST_ASSERT(expr) ((void)0) -# define BOOST_ASSERT_MSG(expr, msg) ((void)0) -# define BOOST_ASSERT_IS_VOID - -#elif defined(BOOST_ENABLE_ASSERT_HANDLER) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) ) - -#include // for BOOST_LIKELY -#include - -namespace boost -{ - void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined - void assertion_failed_msg(char const * expr, char const * msg, char const * function, char const * file, long line); // user defined -} // namespace boost - -#define BOOST_ASSERT(expr) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) -#define BOOST_ASSERT_MSG(expr, msg) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) - -#else - -# include // .h to support old libraries w/o - effect is the same - -# define BOOST_ASSERT(expr) assert(expr) -# define BOOST_ASSERT_MSG(expr, msg) assert((expr)&&(msg)) -#if defined(NDEBUG) -# define BOOST_ASSERT_IS_VOID -#endif - -#endif - -// -// BOOST_VERIFY, BOOST_VERIFY_MSG -// - -#undef BOOST_VERIFY -#undef BOOST_VERIFY_MSG - -#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) ) - -# define BOOST_VERIFY(expr) ((void)(expr)) -# define BOOST_VERIFY_MSG(expr, msg) ((void)(expr)) - -#else - -# define BOOST_VERIFY(expr) BOOST_ASSERT(expr) -# define BOOST_VERIFY_MSG(expr, msg) BOOST_ASSERT_MSG(expr,msg) - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/checked_delete.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/checked_delete.hpp deleted file mode 100644 index fb71c78..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/checked_delete.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * Distributed under the Boost Software License, Version 1.0. (See - * accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_CHECKED_DELETE_HPP -#define BOOST_CHECKED_DELETE_HPP - -// The header file at this path is deprecated; -// use boost/core/checked_delete.hpp instead. - -#include - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config.hpp deleted file mode 100644 index f00a980..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config.hpp +++ /dev/null @@ -1,67 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/config for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// CAUTION: This file is intended to be completely stable - -// DO NOT MODIFY THIS FILE! -// - -#ifndef BOOST_CONFIG_HPP -#define BOOST_CONFIG_HPP - -// if we don't have a user config, then use the default location: -#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) -# define BOOST_USER_CONFIG -#if 0 -// For dependency trackers: -# include -#endif -#endif -// include it first: -#ifdef BOOST_USER_CONFIG -# include BOOST_USER_CONFIG -#endif - -// if we don't have a compiler config set, try and find one: -#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a compiler config, include it now: -#ifdef BOOST_COMPILER_CONFIG -# include BOOST_COMPILER_CONFIG -#endif - -// if we don't have a std library config set, try and find one: -#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus) -# include -#endif -// if we have a std library config, include it now: -#ifdef BOOST_STDLIB_CONFIG -# include BOOST_STDLIB_CONFIG -#endif - -// if we don't have a platform config set, try and find one: -#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a platform config, include it now: -#ifdef BOOST_PLATFORM_CONFIG -# include BOOST_PLATFORM_CONFIG -#endif - -// get config suffix code: -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#endif // BOOST_CONFIG_HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/compiler/gcc.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/compiler/gcc.hpp deleted file mode 100644 index 3380ffe..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/compiler/gcc.hpp +++ /dev/null @@ -1,361 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Jens Maurer 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Douglas Gregor 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Synge Todo 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// GNU C++ compiler setup. - -// -// Define BOOST_GCC so we know this is "real" GCC and not some pretender: -// -#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#if !defined(__CUDACC__) -#define BOOST_GCC BOOST_GCC_VERSION -#endif - -#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) -# define BOOST_GCC_CXX11 -#endif - -#if __GNUC__ == 3 -# if defined (__PATHSCALE__) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -# define BOOST_NO_IS_ABSTRACT -# endif - -# if __GNUC_MINOR__ < 4 -# define BOOST_NO_IS_ABSTRACT -# endif -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -#endif -#if __GNUC__ < 4 -// -// All problems to gcc-3.x and earlier here: -// -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -# ifdef __OPEN64__ -# define BOOST_NO_IS_ABSTRACT -# endif -#endif - -// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links -#if BOOST_GCC_VERSION >= 30400 -#define BOOST_HAS_PRAGMA_ONCE -#endif - -#if BOOST_GCC_VERSION < 40400 -// Previous versions of GCC did not completely implement value-initialization: -// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize -// members", reported by Jonathan Wakely in 2006, -// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4) -// GCC Bug 33916, "Default constructor fails to initialize array members", -// reported by Michael Elizabeth Chastain in 2007, -// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4) -// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#endif - -#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// Except on Darwin with standard compliance enabled (-pedantic) -// Apple gcc helpfully defines this macro we can query -// -#if !defined(__DARWIN_NO_LONG_LONG) -# define BOOST_HAS_LONG_LONG -#endif - -// -// gcc implements the named return value optimization since version 3.1 -// -#define BOOST_HAS_NRVO - -// Branch prediction hints -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if __GNUC__ >= 4 -# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) - // All Win32 development environments, including 64-bit Windows and MinGW, define - // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment, - // so does not define _WIN32 or its variants, but still supports dllexport/dllimport. -# define BOOST_HAS_DECLSPEC -# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) -# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) -# else -# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_IMPORT -# endif -# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) -#else -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined -# define BOOST_SYMBOL_EXPORT -#endif - -// -// RTTI and typeinfo detection is possible post gcc-4.3: -// -#if BOOST_GCC_VERSION > 40300 -# ifndef __GXX_RTTI -# ifndef BOOST_NO_TYPEID -# define BOOST_NO_TYPEID -# endif -# ifndef BOOST_NO_RTTI -# define BOOST_NO_RTTI -# endif -# endif -#endif - -// -// Recent GCC versions have __int128 when in 64-bit mode. -// -// We disable this if the compiler is really nvcc with C++03 as it -// doesn't actually support __int128 as of CUDA_VERSION=7500 -// even though it defines __SIZEOF_INT128__. -// See https://svn.boost.org/trac/boost/ticket/8048 -// https://svn.boost.org/trac/boost/ticket/11852 -// Only re-enable this for nvcc if you're absolutely sure -// of the circumstances under which it's supported: -// -#if defined(__CUDACC__) -# if defined(BOOST_GCC_CXX11) -# define BOOST_NVCC_CXX11 -# else -# define BOOST_NVCC_CXX03 -# endif -#endif - -#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) -# define BOOST_HAS_INT128 -#endif -// -// Recent GCC versions have a __float128 native type, we need to -// include a std lib header to detect this - not ideal, but we'll -// be including later anyway when we select the std lib. -// -// Nevertheless, as of CUDA 7.5, using __float128 with the host -// compiler in pre-C++11 mode is still not supported. -// See https://svn.boost.org/trac/boost/ticket/11852 -// -#ifdef __cplusplus -#include -#else -#include -#endif -#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03) -# define BOOST_HAS_FLOAT128 -#endif - -// C++0x features in 4.3.n and later -// -#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11) -// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are -// passed on the command line, which in turn defines -// __GXX_EXPERIMENTAL_CXX0X__. -# define BOOST_HAS_DECLTYPE -# define BOOST_HAS_RVALUE_REFS -# define BOOST_HAS_STATIC_ASSERT -# define BOOST_HAS_VARIADIC_TMPL -#else -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif - -// C++0x features in 4.4.n and later -// -#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_INLINE_NAMESPACES -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif - -#if BOOST_GCC_VERSION < 40500 -# define BOOST_NO_SFINAE_EXPR -#endif - -// GCC 4.5 forbids declaration of defaulted functions in private or protected sections -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -// C++0x features in 4.5.0 and later -// -#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -// C++0x features in 4.5.1 and later -// -#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11) -// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1 -// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -// C++0x features in 4.6.n and later -// -#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11) -#define BOOST_NO_CXX11_DEFAULTED_MOVES -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -// C++0x features in 4.7.n and later -// -#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11) -// Note that while constexpr is partly supported in gcc-4.6 it's a -// pre-std version with several bugs: -# define BOOST_NO_CXX11_CONSTEXPR -# define BOOST_NO_CXX11_FINAL -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#endif - -// C++0x features in 4.8.n and later -// -#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_ALIGNAS -# define BOOST_NO_CXX11_THREAD_LOCAL -# define BOOST_NO_CXX11_SFINAE_EXPR -#endif - -// C++0x features in 4.8.1 and later -// -#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_DECLTYPE_N3276 -# define BOOST_NO_CXX11_REF_QUALIFIERS -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif - -// C++14 features in 4.9.0 and later -// -#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -# define BOOST_NO_CXX14_DECLTYPE_AUTO -# if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11)) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -# endif -#endif - - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if (BOOST_GCC_VERSION < 50200) || !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -#if __GNUC__ >= 7 -# define BOOST_FALLTHROUGH __attribute__((fallthrough)) -#endif - -#if defined(__MINGW32__) && !defined(__MINGW64__) -// Currently (March 2019) thread_local is broken on mingw for all current 32bit compiler releases, see -// https://sourceforge.net/p/mingw-w64/bugs/527/ -// Not setting this causes program termination on thread exit. -#define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -// -// Unused attribute: -#if __GNUC__ >= 4 -# define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) -#endif - -// Type aliasing hint. Supported since gcc 3.3. -#define BOOST_MAY_ALIAS __attribute__((__may_alias__)) - -// -// __builtin_unreachable: -#if BOOST_GCC_VERSION >= 40500 -#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); -#endif - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "GNU C++ version " __VERSION__ -#endif - -// ConceptGCC compiler: -// http://www.generic-programming.org/software/ConceptGCC/ -#ifdef __GXX_CONCEPTS__ -# define BOOST_HAS_CONCEPTS -# define BOOST_COMPILER "ConceptGCC version " __VERSION__ -#endif - -// versions check: -// we don't know gcc prior to version 3.30: -#if (BOOST_GCC_VERSION< 30300) -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 8.1: -#if (BOOST_GCC_VERSION > 80100) -# if defined(BOOST_ASSERT_CONFIG) -# error "Boost.Config is older than your compiler - please check for an updated Boost release." -# else -// we don't emit warnings here anymore since there are no defect macros defined for -// gcc post 3.4, so any failures are gcc regressions... -//# warning "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/posix_features.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/posix_features.hpp deleted file mode 100644 index d129547..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/posix_features.hpp +++ /dev/null @@ -1,95 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// All POSIX feature tests go in this file, -// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well -// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's -// may be present but none-functional unless _POSIX_C_SOURCE and -// _XOPEN_SOURCE have been defined to the right value (it's up -// to the user to do this *before* including any header, although -// in most cases the compiler will do this for you). - -# if defined(BOOST_HAS_UNISTD_H) -# include - - // XOpen has , but is this the correct version check? -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) -# define BOOST_HAS_NL_TYPES_H -# endif - - // POSIX version 6 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) -# define BOOST_HAS_STDINT_H -# endif - - // POSIX version 2 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) -# define BOOST_HAS_DIRENT_H -# endif - - // POSIX version 3 requires to have sigaction: -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) -# define BOOST_HAS_SIGACTION -# endif - // POSIX defines _POSIX_THREADS > 0 for pthread support, - // however some platforms define _POSIX_THREADS without - // a value, hence the (_POSIX_THREADS+0 >= 0) check. - // Strictly speaking this may catch platforms with a - // non-functioning stub , but such occurrences should - // occur very rarely if at all. -# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) -# define BOOST_HAS_PTHREADS -# endif - - // BOOST_HAS_NANOSLEEP: - // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_NANOSLEEP -# endif - - // BOOST_HAS_CLOCK_GETTIME: - // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME - // but at least one platform - linux - defines that flag without - // defining clock_gettime): -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) -# define BOOST_HAS_CLOCK_GETTIME -# endif - - // BOOST_HAS_SCHED_YIELD: - // This is predicated on _POSIX_PRIORITY_SCHEDULING or - // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. -# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ - || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_SCHED_YIELD -# endif - - // BOOST_HAS_GETTIMEOFDAY: - // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: - // These are predicated on _XOPEN_VERSION, and appears to be first released - // in issue 4, version 2 (_XOPEN_VERSION > 500). - // Likewise for the functions log1p and expm1. -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) -# define BOOST_HAS_GETTIMEOFDAY -# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# endif -# ifndef BOOST_HAS_LOG1P -# define BOOST_HAS_LOG1P -# endif -# ifndef BOOST_HAS_EXPM1 -# define BOOST_HAS_EXPM1 -# endif -# endif - -# endif - - - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_compiler_config.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_compiler_config.hpp deleted file mode 100644 index 8970dff..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_compiler_config.hpp +++ /dev/null @@ -1,157 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Martin Wille 2003. -// (C) Copyright Guillaume Melquiond 2003. -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/ for most recent version. - -// locate which compiler we are using and define -// BOOST_COMPILER_CONFIG as needed: - -#if defined __CUDACC__ -// NVIDIA CUDA C++ compiler for GPU -# include "boost/config/compiler/nvcc.hpp" - -#endif - -#if defined(__GCCXML__) -// GCC-XML emulates other compilers, it has to appear first here! -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" - -#elif defined(_CRAYC) -// EDG based Cray compiler: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp" - -#elif defined __COMO__ -// Comeau C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" - -#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4) -// PathScale EKOPath compiler (has to come before clang and gcc) -# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" - -#elif defined __clang__ && !defined(__ibmxl__) -// Clang C++ emulates GCC, so it has to appear early. -# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" - -#elif defined __DMC__ -// Digital Mars C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" - -#elif defined __DCC__ -// Wind River Diab C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/diab.hpp" - -#elif defined(__PGI) -// Portland Group Inc. -# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp" - -# elif defined(__GNUC__) && !defined(__ibmxl__) -// GNU C++: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" - -#elif defined __KCC -// Kai C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" - -#elif defined __sgi -// SGI MIPSpro C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" - -#elif defined __ghs -// Greenhills C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" - -#elif defined __CODEGEARC__ -// CodeGear - must be checked for before Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp" - -#elif defined __BORLANDC__ -// Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" - -#elif defined __HP_aCC -// HP aCC -# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" - -#elif defined(__MRC__) || defined(__SC__) -// MPW MrCpp or SCpp -# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) -// IBM z/OS XL C/C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp_zos.hpp" - -#elif defined(__ibmxl__) -// IBM XL C/C++ for Linux (Little Endian) -# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp" - -#elif defined(__IBMCPP__) -// IBM Visual Age or IBM XL C/C++ for Linux (Big Endian) -# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the compiler: -# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" - -#endif - -#if 0 -// -// This section allows dependency scanners to find all the headers we *might* include: -// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_platform_config.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_platform_config.hpp deleted file mode 100644 index b36eca5..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_platform_config.hpp +++ /dev/null @@ -1,142 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. -// Note that we define the headers to include using "header_name" not -// in order to prevent macro expansion within the header -// name (for example "linux" is a macro on linux systems). - -#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) -// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? -# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" - -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) -// BSD: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" - -#elif defined(sun) || defined(__sun) -// solaris: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" - -#elif defined(__sgi) -// SGI Irix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" - -#elif defined(__hpux) -// hp unix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" - -#elif defined(__CYGWIN__) -// cygwin is not win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -// win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" - -#elif defined(__HAIKU__) -// Haiku -# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" - -#elif defined(__BEOS__) -// BeOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" - -#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) -// MacOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" - -#elif defined(__TOS_MVS__) -// IBM z/OS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp" - -#elif defined(__IBMCPP__) || defined(_AIX) -// IBM AIX -# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" - -#elif defined(__amigaos__) -// AmigaOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" - -#elif defined(__QNXNTO__) -// QNX: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" - -#elif defined(__VXWORKS__) -// vxWorks: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" - -#elif defined(__SYMBIAN32__) -// Symbian: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" - -#elif defined(_CRAYC) -// Cray: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" - -#elif defined(__VMS) -// VMS: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" - -#elif defined(__CloudABI__) -// Nuxi CloudABI: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp" -#else - -# if defined(unix) \ - || defined(__unix) \ - || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) - - // generic unix platform: - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif - -# include - -# endif - -# if defined (BOOST_ASSERT_CONFIG) - // this must come last - generate an error if we don't - // recognise the platform: -# error "Unknown platform - please configure and report the results to boost.org" -# endif - -#endif - -#if 0 -// -// This section allows dependency scanners to find all the files we *might* include: -// -# include "boost/config/platform/linux.hpp" -# include "boost/config/platform/bsd.hpp" -# include "boost/config/platform/solaris.hpp" -# include "boost/config/platform/irix.hpp" -# include "boost/config/platform/hpux.hpp" -# include "boost/config/platform/cygwin.hpp" -# include "boost/config/platform/win32.hpp" -# include "boost/config/platform/beos.hpp" -# include "boost/config/platform/macos.hpp" -# include "boost/config/platform/zos.hpp" -# include "boost/config/platform/aix.hpp" -# include "boost/config/platform/amigaos.hpp" -# include "boost/config/platform/qnxnto.hpp" -# include "boost/config/platform/vxworks.hpp" -# include "boost/config/platform/symbian.hpp" -# include "boost/config/platform/cray.hpp" -# include "boost/config/platform/vms.hpp" -# include - - - -#endif - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_stdlib_config.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_stdlib_config.hpp deleted file mode 100644 index 8db778c..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/select_stdlib_config.hpp +++ /dev/null @@ -1,110 +0,0 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - -// See http://www.boost.org for most recent version. - -// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: - -// First include to determine if some version of STLport is in use as the std lib -// (do not rely on this header being included since users can short-circuit this header -// if they know whose std lib they are using.) -#ifdef __cplusplus -# include -#else -# include -#endif - -#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -// STLPort library; this _must_ come first, otherwise since -// STLport typically sits on top of some other library, we -// can end up detecting that first rather than STLport: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" - -#else - -// If our std lib was not some version of STLport, and has not otherwise -// been detected, then include as it is about -// the smallest of the std lib headers that includes real C++ stuff. -// Some std libs do not include their C++-related macros in -// so this additional include makes sure we get those definitions. -// Note: do not rely on this header being included since users can short-circuit this -// #include if they know whose std lib they are using. -#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\ - && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\ - && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\ - && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER) -#include -#endif - -#if defined(__LIBCOMO__) -// Comeau STL: -#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" - -#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) -// Rogue Wave library: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" - -#elif defined(_LIBCPP_VERSION) -// libc++ -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp" - -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) -// GNU libstdc++ 3 -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" - -#elif defined(__STL_CONFIG_H) -// generic SGI STL -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" - -#elif defined(__MSL_CPP__) -// MSL standard lib: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) -// IBM z/OS XL C/C++ -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/xlcpp_zos.hpp" - -#elif defined(__IBMCPP__) -// take the default VACPP std lib -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" - -#elif defined(MSIPL_COMPILE_H) -// Modena C++ standard library -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" - -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) -// Dinkumware Library (this has to appear after any possible replacement libraries): -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the library: -# error "Unknown standard library - please configure and report the results to boost.org" - -#endif - -#endif - -#if 0 -// -// This section allows dependency scanners to find all the files we *might* include: -// -# include "boost/config/stdlib/stlport.hpp" -# include "boost/config/stdlib/libcomo.hpp" -# include "boost/config/stdlib/roguewave.hpp" -# include "boost/config/stdlib/libcpp.hpp" -# include "boost/config/stdlib/libstdcpp3.hpp" -# include "boost/config/stdlib/sgi.hpp" -# include "boost/config/stdlib/msl.hpp" -# include "boost/config/stdlib/xlcpp_zos.hpp" -# include "boost/config/stdlib/vacpp.hpp" -# include "boost/config/stdlib/modena.hpp" -# include "boost/config/stdlib/dinkumware.hpp" -#endif - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/suffix.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/suffix.hpp deleted file mode 100644 index 86f6081..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/detail/suffix.hpp +++ /dev/null @@ -1,1070 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// -// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file - -// Copyright (c) 2001-2003 John Maddock -// Copyright (c) 2001 Darin Adler -// Copyright (c) 2001 Peter Dimov -// Copyright (c) 2002 Bill Kempf -// Copyright (c) 2002 Jens Maurer -// Copyright (c) 2002-2003 David Abrahams -// Copyright (c) 2003 Gennaro Prota -// Copyright (c) 2003 Eric Friedman -// Copyright (c) 2010 Eric Jourdanneau, Joel Falcou -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/ for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config/ -// -// This file is intended to be stable, and relatively unchanging. -// It should contain boilerplate code only - no compiler specific -// code unless it is unavoidable - no changes unless unavoidable. - -#ifndef BOOST_CONFIG_SUFFIX_HPP -#define BOOST_CONFIG_SUFFIX_HPP - -#if defined(__GNUC__) && (__GNUC__ >= 4) -// -// Some GCC-4.x versions issue warnings even when __extension__ is used, -// so use this as a workaround: -// -#pragma GCC system_header -#endif - -// -// ensure that visibility macros are always defined, thus symplifying use -// -#ifndef BOOST_SYMBOL_EXPORT -# define BOOST_SYMBOL_EXPORT -#endif -#ifndef BOOST_SYMBOL_IMPORT -# define BOOST_SYMBOL_IMPORT -#endif -#ifndef BOOST_SYMBOL_VISIBLE -# define BOOST_SYMBOL_VISIBLE -#endif - -// -// look for long long by looking for the appropriate macros in . -// Note that we use limits.h rather than climits for maximal portability, -// remember that since these just declare a bunch of macros, there should be -// no namespace issues from this. -// -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \ - && !defined(BOOST_MSVC) && !defined(__BORLANDC__) -# include -# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) -# define BOOST_HAS_LONG_LONG -# else -# define BOOST_NO_LONG_LONG -# endif -#endif - -// GCC 3.x will clean up all of those nasty macro definitions that -// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine -// it under GCC 3.x. -#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) -# undef BOOST_NO_CTYPE_FUNCTIONS -#endif - -// -// Assume any extensions are in namespace std:: unless stated otherwise: -// -# ifndef BOOST_STD_EXTENSION_NAMESPACE -# define BOOST_STD_EXTENSION_NAMESPACE std -# endif - -// -// If cv-qualified specializations are not allowed, then neither are cv-void ones: -// -# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ - && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# endif - -// -// If there is no numeric_limits template, then it can't have any compile time -// constants either! -// -# if defined(BOOST_NO_LIMITS) \ - && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// if there is no long long then there is no specialisation -// for numeric_limits either: -// -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -#endif - -// -// if there is no __int64 then there is no specialisation -// for numeric_limits<__int64> either: -// -#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// if member templates are supported then so is the -// VC6 subset of member templates: -// -# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif - -// -// Without partial specialization, can't test for partial specialisation bugs: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# endif - -// -// Without partial specialization, we can't have array-type partial specialisations: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# endif - -// -// Without partial specialization, std::iterator_traits can't work: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_STD_ITERATOR_TRAITS) -# define BOOST_NO_STD_ITERATOR_TRAITS -# endif - -// -// Without partial specialization, partial -// specialization with default args won't work either: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) -# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS -# endif - -// -// Without member template support, we can't have template constructors -// in the standard library either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# endif - -// -// Without member template support, we can't have a conforming -// std::allocator template either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_NO_STD_ALLOCATOR -# endif - -// -// without ADL support then using declarations will break ADL as well: -// -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// Without typeid support we have no dynamic RTTI either: -// -#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -// -// If we have a standard allocator, then we have a partial one as well: -// -#if !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -// -// We can't have a working std::use_facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) -# define BOOST_NO_STD_USE_FACET -# endif - -// -// We can't have a std::messages facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) -# define BOOST_NO_STD_MESSAGES -# endif - -// -// We can't have a working std::wstreambuf if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) -# define BOOST_NO_STD_WSTREAMBUF -# endif - -// -// We can't have a if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) -# define BOOST_NO_CWCTYPE -# endif - -// -// We can't have a swprintf if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -# endif - -// -// If Win32 support is turned off, then we must turn off -// threading support also, unless there is some other -// thread API enabled: -// -#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ - && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) -# define BOOST_DISABLE_THREADS -#endif - -// -// Turn on threading support if the compiler thinks that it's in -// multithreaded mode. We put this here because there are only a -// limited number of macros that identify this (if there's any missing -// from here then add to the appropriate compiler section): -// -#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ - || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \ - && !defined(BOOST_HAS_THREADS) -# define BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if BOOST_DISABLE_THREADS is defined: -// -#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if we don't recognise the threading API: -// -#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ - && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ - && !defined(BOOST_HAS_MPTASKS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading detail macros off if we don't (want to) use threading -// -#ifndef BOOST_HAS_THREADS -# undef BOOST_HAS_PTHREADS -# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# undef BOOST_HAS_PTHREAD_YIELD -# undef BOOST_HAS_PTHREAD_DELAY_NP -# undef BOOST_HAS_WINTHREADS -# undef BOOST_HAS_BETHREADS -# undef BOOST_HAS_MPTASKS -#endif - -// -// If the compiler claims to be C99 conformant, then it had better -// have a : -// -# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) -# define BOOST_HAS_STDINT_H -# ifndef BOOST_HAS_LOG1P -# define BOOST_HAS_LOG1P -# endif -# ifndef BOOST_HAS_EXPM1 -# define BOOST_HAS_EXPM1 -# endif -# endif - -// -// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. -// Note that this is for backwards compatibility only. -// -# if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST) -# define BOOST_NO_SLIST -# endif - -# if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH) -# define BOOST_NO_HASH -# endif - -// -// Set BOOST_SLIST_HEADER if not set already: -// -#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER) -# define BOOST_SLIST_HEADER -#endif - -// -// Set BOOST_HASH_SET_HEADER if not set already: -// -#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER) -# define BOOST_HASH_SET_HEADER -#endif - -// -// Set BOOST_HASH_MAP_HEADER if not set already: -// -#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER) -# define BOOST_HASH_MAP_HEADER -#endif - -// BOOST_HAS_ABI_HEADERS -// This macro gets set if we have headers that fix the ABI, -// and prevent ODR violations when linking to external libraries: -#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) -# define BOOST_HAS_ABI_HEADERS -#endif - -#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) -# undef BOOST_HAS_ABI_HEADERS -#endif - -// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// -// Because std::size_t usage is so common, even in boost headers which do not -// otherwise use the C library, the workaround is included here so -// that ugly workaround code need not appear in many other boost headers. -// NOTE WELL: This is a workaround for non-conforming compilers; -// must still be #included in the usual places so that inclusion -// works as expected with standard conforming compilers. The resulting -// double inclusion of is harmless. - -# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus) -# include - namespace std { using ::ptrdiff_t; using ::size_t; } -# endif - -// Workaround for the unfortunate min/max macros defined by some platform headers - -#define BOOST_PREVENT_MACRO_SUBSTITUTION - -#ifndef BOOST_USING_STD_MIN -# define BOOST_USING_STD_MIN() using std::min -#endif - -#ifndef BOOST_USING_STD_MAX -# define BOOST_USING_STD_MAX() using std::max -#endif - -// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// - -# if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus) - -namespace std { - template - inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __b < __a ? __b : __a; - } - template - inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __a < __b ? __b : __a; - } -} - -# endif - -// BOOST_STATIC_CONSTANT workaround --------------------------------------- // -// On compilers which don't allow in-class initialization of static integral -// constant members, we must use enums as a workaround if we want the constants -// to be available at compile-time. This macro gives us a convenient way to -// declare such constants. - -# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } -# else -# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment -# endif - -// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// -// When the standard library does not have a conforming std::use_facet there -// are various workarounds available, but they differ from library to library. -// The same problem occurs with has_facet. -// These macros provide a consistent way to access a locale's facets. -// Usage: -// replace -// std::use_facet(loc); -// with -// BOOST_USE_FACET(Type, loc); -// Note do not add a std:: prefix to the front of BOOST_USE_FACET! -// Use for BOOST_HAS_FACET is analogous. - -#if defined(BOOST_NO_STD_USE_FACET) -# ifdef BOOST_HAS_TWO_ARG_USE_FACET -# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) -# elif defined(BOOST_HAS_MACRO_USE_FACET) -# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) -# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) -# elif defined(BOOST_HAS_STLP_USE_FACET) -# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -# endif -#else -# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -#endif - -// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// -// Member templates are supported by some compilers even though they can't use -// the A::template member syntax, as a workaround replace: -// -// typedef typename A::template rebind binder; -// -// with: -// -// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; - -#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# define BOOST_NESTED_TEMPLATE template -#else -# define BOOST_NESTED_TEMPLATE -#endif - -// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// -// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION -// is defined, in which case it evaluates to return x; Use when you have a return -// statement that can never be reached. - -#ifndef BOOST_UNREACHABLE_RETURN -# ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_UNREACHABLE_RETURN(x) return x; -# else -# define BOOST_UNREACHABLE_RETURN(x) -# endif -#endif - -// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// -// -// Some compilers don't support the use of `typename' for dependent -// types in deduced contexts, e.g. -// -// template void f(T, typename T::type); -// ^^^^^^^^ -// Replace these declarations with: -// -// template void f(T, BOOST_DEDUCED_TYPENAME T::type); - -#ifndef BOOST_NO_DEDUCED_TYPENAME -# define BOOST_DEDUCED_TYPENAME typename -#else -# define BOOST_DEDUCED_TYPENAME -#endif - -#ifndef BOOST_NO_TYPENAME_WITH_CTOR -# define BOOST_CTOR_TYPENAME typename -#else -# define BOOST_CTOR_TYPENAME -#endif - -// long long workaround ------------------------------------------// -// On gcc (and maybe other compilers?) long long is alway supported -// but it's use may generate either warnings (with -ansi), or errors -// (with -pedantic -ansi) unless it's use is prefixed by __extension__ -// -#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus) -namespace boost{ -# ifdef __GNUC__ - __extension__ typedef long long long_long_type; - __extension__ typedef unsigned long long ulong_long_type; -# else - typedef long long long_long_type; - typedef unsigned long long ulong_long_type; -# endif -} -#endif -// same again for __int128: -#if defined(BOOST_HAS_INT128) && defined(__cplusplus) -namespace boost{ -# ifdef __GNUC__ - __extension__ typedef __int128 int128_type; - __extension__ typedef unsigned __int128 uint128_type; -# else - typedef __int128 int128_type; - typedef unsigned __int128 uint128_type; -# endif -} -#endif -// same again for __float128: -#if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus) -namespace boost { -# ifdef __GNUC__ - __extension__ typedef __float128 float128_type; -# else - typedef __float128 float128_type; -# endif -} -#endif - -// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// - -// These macros are obsolete. Port away and remove. - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -// When BOOST_NO_STD_TYPEINFO is defined, we can just import -// the global definition into std namespace: -#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) -#include -namespace std{ using ::type_info; } -#endif - -// ---------------------------------------------------------------------------// - -// Helper macro BOOST_STRINGIZE: -// Helper macro BOOST_JOIN: - -#include - -// -// Set some default values for compiler/library/platform names. -// These are for debugging config setup only: -// -# ifndef BOOST_COMPILER -# define BOOST_COMPILER "Unknown ISO C++ Compiler" -# endif -# ifndef BOOST_STDLIB -# define BOOST_STDLIB "Unknown ISO standard library" -# endif -# ifndef BOOST_PLATFORM -# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) -# define BOOST_PLATFORM "Generic Unix" -# else -# define BOOST_PLATFORM "Unknown" -# endif -# endif - -// -// Set some default values GPU support -// -# ifndef BOOST_GPU_ENABLED -# define BOOST_GPU_ENABLED -# endif - -// BOOST_RESTRICT ---------------------------------------------// -// Macro to use in place of 'restrict' keyword variants -#if !defined(BOOST_RESTRICT) -# if defined(_MSC_VER) -# define BOOST_RESTRICT __restrict -# if !defined(BOOST_NO_RESTRICT_REFERENCES) && (_MSC_FULL_VER < 190023026) -# define BOOST_NO_RESTRICT_REFERENCES -# endif -# elif defined(__GNUC__) && __GNUC__ > 3 - // Clang also defines __GNUC__ (as 4) -# define BOOST_RESTRICT __restrict__ -# else -# define BOOST_RESTRICT -# if !defined(BOOST_NO_RESTRICT_REFERENCES) -# define BOOST_NO_RESTRICT_REFERENCES -# endif -# endif -#endif - -// BOOST_MAY_ALIAS -----------------------------------------------// -// The macro expands to an attribute to mark a type that is allowed to alias other types. -// The macro is defined in the compiler-specific headers. -#if !defined(BOOST_MAY_ALIAS) -# define BOOST_NO_MAY_ALIAS -# define BOOST_MAY_ALIAS -#endif - -// BOOST_FORCEINLINE ---------------------------------------------// -// Macro to use in place of 'inline' to force a function to be inline -#if !defined(BOOST_FORCEINLINE) -# if defined(_MSC_VER) -# define BOOST_FORCEINLINE __forceinline -# elif defined(__GNUC__) && __GNUC__ > 3 - // Clang also defines __GNUC__ (as 4) -# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) -# else -# define BOOST_FORCEINLINE inline -# endif -#endif - -// BOOST_NOINLINE ---------------------------------------------// -// Macro to use in place of 'inline' to prevent a function to be inlined -#if !defined(BOOST_NOINLINE) -# if defined(_MSC_VER) -# define BOOST_NOINLINE __declspec(noinline) -# elif defined(__GNUC__) && __GNUC__ > 3 - // Clang also defines __GNUC__ (as 4) -# if defined(__CUDACC__) - // nvcc doesn't always parse __noinline__, - // see: https://svn.boost.org/trac/boost/ticket/9392 -# define BOOST_NOINLINE __attribute__ ((noinline)) -# else -# define BOOST_NOINLINE __attribute__ ((__noinline__)) -# endif -# else -# define BOOST_NOINLINE -# endif -#endif - -// BOOST_NORETURN ---------------------------------------------// -// Macro to use before a function declaration/definition to designate -// the function as not returning normally (i.e. with a return statement -// or by leaving the function scope, if the function return type is void). -#if !defined(BOOST_NORETURN) -# if defined(_MSC_VER) -# define BOOST_NORETURN __declspec(noreturn) -# elif defined(__GNUC__) -# define BOOST_NORETURN __attribute__ ((__noreturn__)) -# elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) -# if __has_attribute(noreturn) -# define BOOST_NORETURN [[noreturn]] -# endif -# elif defined(__has_cpp_attribute) -# if __has_cpp_attribute(noreturn) -# define BOOST_NORETURN [[noreturn]] -# endif -# endif -#endif - -#if !defined(BOOST_NORETURN) -# define BOOST_NO_NORETURN -# define BOOST_NORETURN -#endif - -// Branch prediction hints -// These macros are intended to wrap conditional expressions that yield true or false -// -// if (BOOST_LIKELY(var == 10)) -// { -// // the most probable code here -// } -// -#if !defined(BOOST_LIKELY) -# define BOOST_LIKELY(x) x -#endif -#if !defined(BOOST_UNLIKELY) -# define BOOST_UNLIKELY(x) x -#endif - -// Type and data alignment specification -// -#if !defined(BOOST_ALIGNMENT) -# if !defined(BOOST_NO_CXX11_ALIGNAS) -# define BOOST_ALIGNMENT(x) alignas(x) -# elif defined(_MSC_VER) -# define BOOST_ALIGNMENT(x) __declspec(align(x)) -# elif defined(__GNUC__) -# define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x))) -# else -# define BOOST_NO_ALIGNMENT -# define BOOST_ALIGNMENT(x) -# endif -#endif - -// Lack of non-public defaulted functions is implied by the lack of any defaulted functions -#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) -# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -// Lack of defaulted moves is implied by the lack of either rvalue references or any defaulted functions -#if !defined(BOOST_NO_CXX11_DEFAULTED_MOVES) && (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) -# define BOOST_NO_CXX11_DEFAULTED_MOVES -#endif - -// Defaulted and deleted function declaration helpers -// These macros are intended to be inside a class definition. -// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its -// body, which will be used if the compiler doesn't support defaulted functions. -// BOOST_DELETED_FUNCTION only accepts the function declaration. It -// will expand to a private function declaration, if the compiler doesn't support -// deleted functions. Because of this it is recommended to use BOOST_DELETED_FUNCTION -// in the end of the class definition. -// -// class my_class -// { -// public: -// // Default-constructible -// BOOST_DEFAULTED_FUNCTION(my_class(), {}) -// // Copying prohibited -// BOOST_DELETED_FUNCTION(my_class(my_class const&)) -// BOOST_DELETED_FUNCTION(my_class& operator= (my_class const&)) -// }; -// -#if !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)) -# define BOOST_DEFAULTED_FUNCTION(fun, body) fun = default; -#else -# define BOOST_DEFAULTED_FUNCTION(fun, body) fun body -#endif - -#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) -# define BOOST_DELETED_FUNCTION(fun) fun = delete; -#else -# define BOOST_DELETED_FUNCTION(fun) private: fun; -#endif - -// -// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined -// -#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276) -#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE -#endif - -// -------------------- Deprecated macros for 1.50 --------------------------- -// These will go away in a future release - -// Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP -// instead of BOOST_NO_STD_UNORDERED -#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET) -# ifndef BOOST_NO_CXX11_STD_UNORDERED -# define BOOST_NO_CXX11_STD_UNORDERED -# endif -#endif - -// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS -#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS) -# define BOOST_NO_INITIALIZER_LISTS -#endif - -// Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY -#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY) -# define BOOST_NO_0X_HDR_ARRAY -#endif -// Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO -#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO) -# define BOOST_NO_0X_HDR_CHRONO -#endif -// Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT -#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT) -# define BOOST_NO_0X_HDR_CODECVT -#endif -// Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE -#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE) -# define BOOST_NO_0X_HDR_CONDITION_VARIABLE -#endif -// Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST -#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST) -# define BOOST_NO_0X_HDR_FORWARD_LIST -#endif -// Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE -#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE) -# define BOOST_NO_0X_HDR_FUTURE -#endif - -// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST -// instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS -#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_INITIALIZER_LIST -# endif -# ifndef BOOST_NO_INITIALIZER_LISTS -# define BOOST_NO_INITIALIZER_LISTS -# endif -#endif - -// Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX -#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX) -# define BOOST_NO_0X_HDR_MUTEX -#endif -// Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM -#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM) -# define BOOST_NO_0X_HDR_RANDOM -#endif -// Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO -#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO) -# define BOOST_NO_0X_HDR_RATIO -#endif -// Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX -#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX) -# define BOOST_NO_0X_HDR_REGEX -#endif -// Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR -#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR) -# define BOOST_NO_0X_HDR_SYSTEM_ERROR -#endif -// Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD -#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD) -# define BOOST_NO_0X_HDR_THREAD -#endif -// Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE -#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE) -# define BOOST_NO_0X_HDR_TUPLE -#endif -// Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS -#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS) -# define BOOST_NO_0X_HDR_TYPE_TRAITS -#endif -// Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX -#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX) -# define BOOST_NO_0X_HDR_TYPEINDEX -#endif -// Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP -#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP) -# define BOOST_NO_0X_HDR_UNORDERED_MAP -#endif -// Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET -#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET) -# define BOOST_NO_0X_HDR_UNORDERED_SET -#endif - -// ------------------ End of deprecated macros for 1.50 --------------------------- - -// -------------------- Deprecated macros for 1.51 --------------------------- -// These will go away in a future release - -// Use BOOST_NO_CXX11_AUTO_DECLARATIONS instead of BOOST_NO_AUTO_DECLARATIONS -#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS) -# define BOOST_NO_AUTO_DECLARATIONS -#endif -// Use BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of BOOST_NO_AUTO_MULTIDECLARATIONS -#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS) -# define BOOST_NO_AUTO_MULTIDECLARATIONS -#endif -// Use BOOST_NO_CXX11_CHAR16_T instead of BOOST_NO_CHAR16_T -#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T) -# define BOOST_NO_CHAR16_T -#endif -// Use BOOST_NO_CXX11_CHAR32_T instead of BOOST_NO_CHAR32_T -#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T) -# define BOOST_NO_CHAR32_T -#endif -// Use BOOST_NO_CXX11_TEMPLATE_ALIASES instead of BOOST_NO_TEMPLATE_ALIASES -#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES) -# define BOOST_NO_TEMPLATE_ALIASES -#endif -// Use BOOST_NO_CXX11_CONSTEXPR instead of BOOST_NO_CONSTEXPR -#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR) -# define BOOST_NO_CONSTEXPR -#endif -// Use BOOST_NO_CXX11_DECLTYPE_N3276 instead of BOOST_NO_DECLTYPE_N3276 -#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276) -# define BOOST_NO_DECLTYPE_N3276 -#endif -// Use BOOST_NO_CXX11_DECLTYPE instead of BOOST_NO_DECLTYPE -#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE) -# define BOOST_NO_DECLTYPE -#endif -// Use BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of BOOST_NO_DEFAULTED_FUNCTIONS -#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS) -# define BOOST_NO_DEFAULTED_FUNCTIONS -#endif -// Use BOOST_NO_CXX11_DELETED_FUNCTIONS instead of BOOST_NO_DELETED_FUNCTIONS -#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS) -# define BOOST_NO_DELETED_FUNCTIONS -#endif -// Use BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of BOOST_NO_EXPLICIT_CONVERSION_OPERATORS -#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS) -# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS -#endif -// Use BOOST_NO_CXX11_EXTERN_TEMPLATE instead of BOOST_NO_EXTERN_TEMPLATE -#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE) -# define BOOST_NO_EXTERN_TEMPLATE -#endif -// Use BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS -#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS) -# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif -// Use BOOST_NO_CXX11_LAMBDAS instead of BOOST_NO_LAMBDAS -#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS) -# define BOOST_NO_LAMBDAS -#endif -// Use BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS -#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS) -# define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif -// Use BOOST_NO_CXX11_NOEXCEPT instead of BOOST_NO_NOEXCEPT -#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT) -# define BOOST_NO_NOEXCEPT -#endif -// Use BOOST_NO_CXX11_NULLPTR instead of BOOST_NO_NULLPTR -#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR) -# define BOOST_NO_NULLPTR -#endif -// Use BOOST_NO_CXX11_RAW_LITERALS instead of BOOST_NO_RAW_LITERALS -#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS) -# define BOOST_NO_RAW_LITERALS -#endif -// Use BOOST_NO_CXX11_RVALUE_REFERENCES instead of BOOST_NO_RVALUE_REFERENCES -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES) -# define BOOST_NO_RVALUE_REFERENCES -#endif -// Use BOOST_NO_CXX11_SCOPED_ENUMS instead of BOOST_NO_SCOPED_ENUMS -#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS) -# define BOOST_NO_SCOPED_ENUMS -#endif -// Use BOOST_NO_CXX11_STATIC_ASSERT instead of BOOST_NO_STATIC_ASSERT -#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT) -# define BOOST_NO_STATIC_ASSERT -#endif -// Use BOOST_NO_CXX11_STD_UNORDERED instead of BOOST_NO_STD_UNORDERED -#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED) -# define BOOST_NO_STD_UNORDERED -#endif -// Use BOOST_NO_CXX11_UNICODE_LITERALS instead of BOOST_NO_UNICODE_LITERALS -#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS) -# define BOOST_NO_UNICODE_LITERALS -#endif -// Use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX -#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX) -# define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX -#endif -// Use BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of BOOST_NO_VARIADIC_TEMPLATES -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES) -# define BOOST_NO_VARIADIC_TEMPLATES -#endif -// Use BOOST_NO_CXX11_VARIADIC_MACROS instead of BOOST_NO_VARIADIC_MACROS -#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS) -# define BOOST_NO_VARIADIC_MACROS -#endif -// Use BOOST_NO_CXX11_NUMERIC_LIMITS instead of BOOST_NO_NUMERIC_LIMITS_LOWEST -#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST) -# define BOOST_NO_NUMERIC_LIMITS_LOWEST -#endif -// ------------------ End of deprecated macros for 1.51 --------------------------- - - - -// -// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR -// These aid the transition to C++11 while still supporting C++03 compilers -// -#ifdef BOOST_NO_CXX11_NOEXCEPT -# define BOOST_NOEXCEPT -# define BOOST_NOEXCEPT_OR_NOTHROW throw() -# define BOOST_NOEXCEPT_IF(Predicate) -# define BOOST_NOEXCEPT_EXPR(Expression) false -#else -# define BOOST_NOEXCEPT noexcept -# define BOOST_NOEXCEPT_OR_NOTHROW noexcept -# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate)) -# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression)) -#endif -// -// Helper macro BOOST_FALLTHROUGH -// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended -// fall-through between case labels in a switch statement. We use a definition -// that requires a semicolon after it to avoid at least one type of misuse even -// on unsupported compilers. -// -#ifndef BOOST_FALLTHROUGH -# define BOOST_FALLTHROUGH ((void)0) -#endif - -// -// constexpr workarounds -// -#if defined(BOOST_NO_CXX11_CONSTEXPR) -#define BOOST_CONSTEXPR -#define BOOST_CONSTEXPR_OR_CONST const -#else -#define BOOST_CONSTEXPR constexpr -#define BOOST_CONSTEXPR_OR_CONST constexpr -#endif -#if defined(BOOST_NO_CXX14_CONSTEXPR) -#define BOOST_CXX14_CONSTEXPR -#else -#define BOOST_CXX14_CONSTEXPR constexpr -#endif - -// -// Unused variable/typedef workarounds: -// -#ifndef BOOST_ATTRIBUTE_UNUSED -# define BOOST_ATTRIBUTE_UNUSED -#endif -// -// [[nodiscard]]: -// -#ifdef __has_cpp_attribute -#if __has_cpp_attribute(nodiscard) -# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] -#endif -#if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100)) -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] -#endif -#endif -#ifndef BOOST_ATTRIBUTE_NODISCARD -# define BOOST_ATTRIBUTE_NODISCARD -#endif -#ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS -#endif - -#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST - -// -// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined -// -#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT) -# define BOOST_HAS_STATIC_ASSERT -#endif - -// -// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined -// -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS) -#define BOOST_HAS_RVALUE_REFS -#endif - -// -// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined -// -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL) -#define BOOST_HAS_VARIADIC_TMPL -#endif -// -// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when -// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set: -// -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS) -# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#endif - -// This is a catch all case for obsolete compilers / std libs: -#if !defined(__has_include) -# define BOOST_NO_CXX17_HDR_OPTIONAL -# define BOOST_NO_CXX17_HDR_STRING_VIEW -# define BOOST_NO_CXX17_HDR_VARIANT -#else -#if !__has_include() -# define BOOST_NO_CXX17_HDR_OPTIONAL -#endif -#if !__has_include() -# define BOOST_NO_CXX17_HDR_STRING_VIEW -#endif -#if !__has_include() -# define BOOST_NO_CXX17_HDR_VARIANT -#endif -#endif - -// -// Finish off with checks for macros that are depricated / no longer supported, -// if any of these are set then it's very likely that much of Boost will no -// longer work. So stop with a #error for now, but give the user a chance -// to continue at their own risk if they really want to: -// -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_CONFIG_ALLOW_DEPRECATED) -# error "You are using a compiler which lacks features which are now a minimum requirement in order to use Boost, define BOOST_CONFIG_ALLOW_DEPRECATED if you want to continue at your own risk!!!" -#endif - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/no_tr1/cmath.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/no_tr1/cmath.hpp deleted file mode 100644 index d8268d8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/no_tr1/cmath.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// (C) Copyright John Maddock 2008. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// The aim of this header is just to include but to do -// so in a way that does not result in recursive inclusion of -// the Boost TR1 components if boost/tr1/tr1/cmath is in the -// include search path. We have to do this to avoid circular -// dependencies: -// - -#ifndef BOOST_CONFIG_CMATH -# define BOOST_CONFIG_CMATH - -# ifndef BOOST_TR1_NO_RECURSION -# define BOOST_TR1_NO_RECURSION -# define BOOST_CONFIG_NO_CMATH_RECURSION -# endif - -# include - -# ifdef BOOST_CONFIG_NO_CMATH_RECURSION -# undef BOOST_TR1_NO_RECURSION -# undef BOOST_CONFIG_NO_CMATH_RECURSION -# endif - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/platform/linux.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/platform/linux.hpp deleted file mode 100644 index c4eef8f..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/platform/linux.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// linux specific config options: - -#define BOOST_PLATFORM "linux" - -// make sure we have __GLIBC_PREREQ if available at all -#ifdef __cplusplus -#include -#else -#include -#endif - -// -// added to glibc 2.1.1 -// We can only test for 2.1 though: -// -#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) - // defines int64_t unconditionally, but defines - // int64_t only if __GNUC__. Thus, assume a fully usable - // only when using GCC. Update 2017: this appears not to be the case for - // recent glibc releases, see bug report: https://svn.boost.org/trac/boost/ticket/13045 -# if defined(__GNUC__) || ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 5))) -# define BOOST_HAS_STDINT_H -# endif -#endif - -#if defined(__LIBCOMO__) - // - // como on linux doesn't have std:: c functions: - // NOTE: versions of libcomo prior to beta28 have octal version numbering, - // e.g. version 25 is 21 (dec) - // -# if __LIBCOMO_VERSION__ <= 20 -# define BOOST_NO_STDC_NAMESPACE -# endif - -# if __LIBCOMO_VERSION__ <= 21 -# define BOOST_NO_SWPRINTF -# endif - -#endif - -// -// If glibc is past version 2 then we definitely have -// gettimeofday, earlier versions may or may not have it: -// -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -# define BOOST_HAS_GETTIMEOFDAY -#endif - -#ifdef __USE_POSIX199309 -# define BOOST_HAS_NANOSLEEP -#endif - -#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) -// __GLIBC_PREREQ is available since 2.1.2 - - // swprintf is available since glibc 2.2.0 -# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) -# define BOOST_NO_SWPRINTF -# endif -#else -# define BOOST_NO_SWPRINTF -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include -#if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID) -#define BOOST_HAS_PTHREAD_YIELD -#endif - -#ifndef __GNUC__ -// -// if the compiler is not gcc we still need to be able to parse -// the GNU system headers, some of which (mainly ) -// use GNU specific extensions: -// -# ifndef __extension__ -# define __extension__ -# endif -# ifndef __const__ -# define __const__ const -# endif -# ifndef __volatile__ -# define __volatile__ volatile -# endif -# ifndef __signed__ -# define __signed__ signed -# endif -# ifndef __typeof__ -# define __typeof__ typeof -# endif -# ifndef __inline__ -# define __inline__ inline -# endif -#endif - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/stdlib/libstdcpp3.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/stdlib/libstdcpp3.hpp deleted file mode 100644 index 9696515..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/stdlib/libstdcpp3.hpp +++ /dev/null @@ -1,350 +0,0 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org for most recent version. - -// config for libstdc++ v3 -// not much to go in here: - -#define BOOST_GNU_STDLIB 1 - -#ifdef __GLIBCXX__ -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) -#else -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) -#endif - -#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -# define BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if defined(__osf__) && !defined(_REENTRANT) \ - && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) -// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header -// file is included, therefore for consistency we define it here as well. -# define _REENTRANT -#endif - -#ifdef __GLIBCXX__ // gcc 3.4 and greater: -# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ - || defined(_GLIBCXX__PTHREADS) \ - || defined(_GLIBCXX_HAS_GTHREADS) \ - || defined(_WIN32) \ - || defined(_AIX) \ - || defined(__HAIKU__) - // - // If the std lib has thread support turned on, then turn it on in Boost - // as well. We do this because some gcc-3.4 std lib headers define _REENTANT - // while others do not... - // -# define BOOST_HAS_THREADS -# else -# define BOOST_DISABLE_THREADS -# endif -#elif defined(__GLIBCPP__) \ - && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ - && !defined(_GLIBCPP__PTHREADS) - // disable thread support if the std lib was built single threaded: -# define BOOST_DISABLE_THREADS -#endif - -#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) -// linux on arm apparently doesn't define _REENTRANT -// so just turn on threading support whenever the std lib is thread safe: -# define BOOST_HAS_THREADS -#endif - -#if !defined(_GLIBCPP_USE_LONG_LONG) \ - && !defined(_GLIBCXX_USE_LONG_LONG)\ - && defined(BOOST_HAS_LONG_LONG) -// May have been set by compiler/*.hpp, but "long long" without library -// support is useless. -# undef BOOST_HAS_LONG_LONG -#endif - -// Apple doesn't seem to reliably defined a *unix* macro -#if !defined(CYGWIN) && ( defined(__unix__) \ - || defined(__unix) \ - || defined(unix) \ - || defined(__APPLE__) \ - || defined(__APPLE) \ - || defined(APPLE)) -# include -#endif - -#ifndef __VXWORKS__ // VxWorks uses Dinkum, not GNU STL with GCC -#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 -# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx -# define BOOST_HAS_SLIST -# define BOOST_HAS_HASH -# define BOOST_SLIST_HEADER -# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) -# define BOOST_HASH_SET_HEADER -# define BOOST_HASH_MAP_HEADER -# else -# define BOOST_HASH_SET_HEADER -# define BOOST_HASH_MAP_HEADER -# endif -#endif -#endif - -// -// Decide whether we have C++11 support turned on: -// -#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103) -# define BOOST_LIBSTDCXX11 -#endif - -// -// Decide which version of libstdc++ we have, normally -// libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly -// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++ -// developers. He also commented: -// -// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in -// GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305. -// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support -// than any release in the 4.2 series." -// -// Another resource for understanding libstdc++ features is: -// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x -// -// However, using the GCC version number fails when the compiler is clang since this -// only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473 -// for a long discussion on this issue. What we can do though is use clang's __has_include -// to detect the presence of a C++11 header that was introduced with a specific GCC release. -// We still have to be careful though as many such headers were buggy and/or incomplete when -// first introduced, so we only check for headers that were fully featured from day 1, and then -// use that to infer the underlying GCC version: -// -#ifdef __clang__ - -#if __has_include() -# define BOOST_LIBSTDCXX_VERSION 60100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 50100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40900 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40800 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40700 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40600 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40500 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40400 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40300 -#endif - -#if (BOOST_LIBSTDCXX_VERSION < 50100) -// libstdc++ does not define this function as it's deprecated in C++11, but clang still looks for it, -// defining it here is a terrible cludge, but should get things working: -extern "C" char *gets (char *__s); -#endif -// -// clang is unable to parse some GCC headers, add those workarounds here: -// -#if BOOST_LIBSTDCXX_VERSION < 50000 -# define BOOST_NO_CXX11_HDR_REGEX -#endif -// -// GCC 4.7.x has no __cxa_thread_atexit which -// thread_local objects require for cleanup: -// -#if BOOST_LIBSTDCXX_VERSION < 40800 -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif -// -// Early clang versions can handle , not exactly sure which versions -// but certainly up to clang-3.8 and gcc-4.6: -// -#if (__clang_major__ < 5) -# if BOOST_LIBSTDCXX_VERSION < 40800 -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_CHRONO -# endif -#endif - -// -// GCC 4.8 and 9 add working versions of and respectively. -// However, we have no test for these as the headers were present but broken -// in early GCC versions. -// -#endif - -#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L) -// -// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't -// set __GNUC__ -// -#if __SUNPRO_CC >= 0x5140 -#define BOOST_LIBSTDCXX_VERSION 50100 -#else -#define BOOST_LIBSTDCXX_VERSION 40800 -#endif -#endif - -#if !defined(BOOST_LIBSTDCXX_VERSION) -# define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -// std::auto_ptr isn't provided with _GLIBCXX_DEPRECATED=0 (GCC 4.5 and earlier) -// or _GLIBCXX_USE_DEPRECATED=0 (GCC 4.6 and later). -#if defined(BOOST_LIBSTDCXX11) -# if BOOST_LIBSTDCXX_VERSION < 40600 -# if !_GLIBCXX_DEPRECATED -# define BOOST_NO_AUTO_PTR -# endif -# elif !_GLIBCXX_USE_DEPRECATED -# define BOOST_NO_AUTO_PTR -# endif -#endif - -// C++0x headers in GCC 4.3.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -#endif - -// C++0x headers in GCC 4.4.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_SMART_PTR -#else -# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG -# define BOOST_HAS_TR1_COMPLEX_OVERLOADS -#endif - -// C++0x features in GCC 4.5.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_RANDOM -#endif - -// C++0x features in GCC 4.6.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX17_ITERATOR_TRAITS -#endif - -// C++0x features in GCC 4.7.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11) -// Note that although existed prior to 4.7, "steady_clock" is spelled "monotonic_clock" -// so 4.7.0 is the first truly conforming one. -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -#endif -// C++0x features in GCC 4.8.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11) -// Note that although existed prior to gcc 4.8 it was largely unimplemented for many types: -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_HDR_THREAD -#endif -// C++0x features in GCC 4.9.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) -// Although is present and compilable against, the actual implementation is not functional -// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. -# define BOOST_NO_CXX11_HDR_REGEX -#endif -#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103) -# define BOOST_NO_CXX14_STD_EXCHANGE -#endif - -#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7))) -// As of clang-3.6, libstdc++ header throws up errors with clang: -# define BOOST_NO_CXX11_HDR_ATOMIC -#endif -// -// C++0x features in GCC 5.1 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_STD_ALIGN -#endif - -// -// C++17 features in GCC 7.1 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L) -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_HDR_OPTIONAL -# define BOOST_NO_CXX17_HDR_STRING_VIEW -# define BOOST_NO_CXX17_HDR_VARIANT -#endif - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus <= 201103 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// -// Headers not present on Solaris with the Oracle compiler: -#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140) -#define BOOST_NO_CXX11_HDR_FUTURE -#define BOOST_NO_CXX11_HDR_FORWARD_LIST -#define BOOST_NO_CXX11_HDR_ATOMIC -// shared_ptr is present, but is not convertible to bool -// which causes all kinds of problems especially in Boost.Thread -// but probably elsewhere as well. -#define BOOST_NO_CXX11_SMART_PTR -#endif - -#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) - // Headers not always available: -# ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# endif -# ifndef BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_MUTEX -# endif -# ifndef BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_THREAD -# endif -# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -# endif -#endif - -#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) -// Timed mutexes are not always available: -# define BOOST_NO_CXX11_HDR_MUTEX -#endif - -// --- end --- diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/user.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/user.hpp deleted file mode 100644 index 28e7476..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/user.hpp +++ /dev/null @@ -1,133 +0,0 @@ -// boost/config/user.hpp ---------------------------------------------------// - -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// Do not check in modified versions of this file, -// This file may be customized by the end user, but not by boost. - -// -// Use this file to define a site and compiler specific -// configuration policy: -// - -// define this to locate a compiler config file: -// #define BOOST_COMPILER_CONFIG - -// define this to locate a stdlib config file: -// #define BOOST_STDLIB_CONFIG - -// define this to locate a platform config file: -// #define BOOST_PLATFORM_CONFIG - -// define this to disable compiler config, -// use if your compiler config has nothing to set: -// #define BOOST_NO_COMPILER_CONFIG - -// define this to disable stdlib config, -// use if your stdlib config has nothing to set: -// #define BOOST_NO_STDLIB_CONFIG - -// define this to disable platform config, -// use if your platform config has nothing to set: -// #define BOOST_NO_PLATFORM_CONFIG - -// define this to disable all config options, -// excluding the user config. Use if your -// setup is fully ISO compliant, and has no -// useful extensions, or for autoconf generated -// setups: -// #define BOOST_NO_CONFIG - -// define this to make the config "optimistic" -// about unknown compiler versions. Normally -// unknown compiler versions are assumed to have -// all the defects of the last known version, however -// setting this flag, causes the config to assume -// that unknown compiler versions are fully conformant -// with the standard: -// #define BOOST_STRICT_CONFIG - -// define this to cause the config to halt compilation -// with an #error if it encounters anything unknown -- -// either an unknown compiler version or an unknown -// compiler/platform/library: -// #define BOOST_ASSERT_CONFIG - - -// define if you want to disable threading support, even -// when available: -// #define BOOST_DISABLE_THREADS - -// define when you want to disable Win32 specific features -// even when available: -// #define BOOST_DISABLE_WIN32 - -// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any -// prefix/suffix headers that normally control things like struct -// packing and alignment. -// #define BOOST_DISABLE_ABI_HEADERS - -// BOOST_ABI_PREFIX: A prefix header to include in place of whatever -// boost.config would normally select, any replacement should set up -// struct packing and alignment options as required. -// #define BOOST_ABI_PREFIX my-header-name - -// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever -// boost.config would normally select, any replacement should undo -// the effects of the prefix header. -// #define BOOST_ABI_SUFFIX my-header-name - -// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, -// to be linked as dll's rather than static libraries on Microsoft Windows -// (this macro is used to turn on __declspec(dllimport) modifiers, so that -// the compiler knows which symbols to look for in a dll rather than in a -// static library). Note that there may be some libraries that can only -// be linked in one way (statically or dynamically), in these cases this -// macro has no effect. -// #define BOOST_ALL_DYN_LINK - -// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll -// rather than a static library on Microsoft Windows: replace the WHATEVER -// part of the macro name with the name of the library that you want to -// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or -// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) -// modifiers, so that the compiler knows which symbols to look for in a dll -// rather than in a static library). -// Note that there may be some libraries that can only -// be linked in one way (statically or dynamically), -// in these cases this macro is unsupported. -// #define BOOST_WHATEVER_DYN_LINK - -// BOOST_ALL_NO_LIB: Tells the config system not to automatically select -// which libraries to link against. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, -// simply by the act of including one of that library's headers. -// This macro turns that feature off. -// #define BOOST_ALL_NO_LIB - -// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically -// select which library to link against for library "whatever", -// replace WHATEVER in the macro name with the name of the library; -// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, simply -// by the act of including one of that library's headers. This macro turns -// that feature off. -// #define BOOST_WHATEVER_NO_LIB - -// BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's -// --buildid command line option. For example if you built using: -// -// bjam address-model=64 --buildid=amd64 -// -// then compile your code with: -// -// -DBOOST_LIB_BUILDID = amd64 -// -// to ensure the correct libraries are selected at link time. -// #define BOOST_LIB_BUILDID amd64 - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/workaround.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/workaround.hpp deleted file mode 100644 index fca8f3a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/config/workaround.hpp +++ /dev/null @@ -1,279 +0,0 @@ -// Copyright David Abrahams 2002. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_CONFIG_WORKAROUND_HPP -#define BOOST_CONFIG_WORKAROUND_HPP - -// Compiler/library version workaround macro -// -// Usage: -// -// #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -// // workaround for eVC4 and VC6 -// ... // workaround code here -// #endif -// -// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the -// first argument must be undefined or expand to a numeric -// value. The above expands to: -// -// (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300 -// -// When used for workarounds that apply to the latest known version -// and all earlier versions of a compiler, the following convention -// should be observed: -// -// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) -// -// The version number in this case corresponds to the last version in -// which the workaround was known to have been required. When -// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro -// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates -// the workaround for any version of the compiler. When -// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or -// error will be issued if the compiler version exceeds the argument -// to BOOST_TESTED_AT(). This can be used to locate workarounds which -// may be obsoleted by newer versions. - -#ifndef BOOST_STRICT_CONFIG - -#include - -#ifndef __BORLANDC__ -#define __BORLANDC___WORKAROUND_GUARD 1 -#else -#define __BORLANDC___WORKAROUND_GUARD 0 -#endif -#ifndef __CODEGEARC__ -#define __CODEGEARC___WORKAROUND_GUARD 1 -#else -#define __CODEGEARC___WORKAROUND_GUARD 0 -#endif -#ifndef _MSC_VER -#define _MSC_VER_WORKAROUND_GUARD 1 -#else -#define _MSC_VER_WORKAROUND_GUARD 0 -#endif -#ifndef _MSC_FULL_VER -#define _MSC_FULL_VER_WORKAROUND_GUARD 1 -#else -#define _MSC_FULL_VER_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_MSVC -#define BOOST_MSVC_WORKAROUND_GUARD 1 -#else -#define BOOST_MSVC_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_MSVC_FULL_VER -#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1 -#else -#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0 -#endif -#ifndef __GNUC__ -#define __GNUC___WORKAROUND_GUARD 1 -#else -#define __GNUC___WORKAROUND_GUARD 0 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR___WORKAROUND_GUARD 1 -#else -#define __GNUC_MINOR___WORKAROUND_GUARD 0 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1 -#else -#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_GCC -#define BOOST_GCC_WORKAROUND_GUARD 1 -#define BOOST_GCC_VERSION_WORKAROUND_GUARD 1 -#else -#define BOOST_GCC_WORKAROUND_GUARD 0 -#define BOOST_GCC_VERSION_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_XLCPP_ZOS -#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 1 -#else -#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 0 -#endif -#ifndef __IBMCPP__ -#define __IBMCPP___WORKAROUND_GUARD 1 -#else -#define __IBMCPP___WORKAROUND_GUARD 0 -#endif -#ifndef __SUNPRO_CC -#define __SUNPRO_CC_WORKAROUND_GUARD 1 -#else -#define __SUNPRO_CC_WORKAROUND_GUARD 0 -#endif -#ifndef __DECCXX_VER -#define __DECCXX_VER_WORKAROUND_GUARD 1 -#else -#define __DECCXX_VER_WORKAROUND_GUARD 0 -#endif -#ifndef __MWERKS__ -#define __MWERKS___WORKAROUND_GUARD 1 -#else -#define __MWERKS___WORKAROUND_GUARD 0 -#endif -#ifndef __EDG__ -#define __EDG___WORKAROUND_GUARD 1 -#else -#define __EDG___WORKAROUND_GUARD 0 -#endif -#ifndef __EDG_VERSION__ -#define __EDG_VERSION___WORKAROUND_GUARD 1 -#else -#define __EDG_VERSION___WORKAROUND_GUARD 0 -#endif -#ifndef __HP_aCC -#define __HP_aCC_WORKAROUND_GUARD 1 -#else -#define __HP_aCC_WORKAROUND_GUARD 0 -#endif -#ifndef __hpxstd98 -#define __hpxstd98_WORKAROUND_GUARD 1 -#else -#define __hpxstd98_WORKAROUND_GUARD 0 -#endif -#ifndef _CRAYC -#define _CRAYC_WORKAROUND_GUARD 1 -#else -#define _CRAYC_WORKAROUND_GUARD 0 -#endif -#ifndef __DMC__ -#define __DMC___WORKAROUND_GUARD 1 -#else -#define __DMC___WORKAROUND_GUARD 0 -#endif -#ifndef MPW_CPLUS -#define MPW_CPLUS_WORKAROUND_GUARD 1 -#else -#define MPW_CPLUS_WORKAROUND_GUARD 0 -#endif -#ifndef __COMO__ -#define __COMO___WORKAROUND_GUARD 1 -#else -#define __COMO___WORKAROUND_GUARD 0 -#endif -#ifndef __COMO_VERSION__ -#define __COMO_VERSION___WORKAROUND_GUARD 1 -#else -#define __COMO_VERSION___WORKAROUND_GUARD 0 -#endif -#ifndef __INTEL_COMPILER -#define __INTEL_COMPILER_WORKAROUND_GUARD 1 -#else -#define __INTEL_COMPILER_WORKAROUND_GUARD 0 -#endif -#ifndef __ICL -#define __ICL_WORKAROUND_GUARD 1 -#else -#define __ICL_WORKAROUND_GUARD 0 -#endif -#ifndef _COMPILER_VERSION -#define _COMPILER_VERSION_WORKAROUND_GUARD 1 -#else -#define _COMPILER_VERSION_WORKAROUND_GUARD 0 -#endif - -#ifndef _RWSTD_VER -#define _RWSTD_VER_WORKAROUND_GUARD 1 -#else -#define _RWSTD_VER_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_RWSTD_VER -#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1 -#else -#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0 -#endif -#ifndef __GLIBCPP__ -#define __GLIBCPP___WORKAROUND_GUARD 1 -#else -#define __GLIBCPP___WORKAROUND_GUARD 0 -#endif -#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC -#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1 -#else -#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0 -#endif -#ifndef __SGI_STL_PORT -#define __SGI_STL_PORT_WORKAROUND_GUARD 1 -#else -#define __SGI_STL_PORT_WORKAROUND_GUARD 0 -#endif -#ifndef _STLPORT_VERSION -#define _STLPORT_VERSION_WORKAROUND_GUARD 1 -#else -#define _STLPORT_VERSION_WORKAROUND_GUARD 0 -#endif -#ifndef __LIBCOMO_VERSION__ -#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1 -#else -#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0 -#endif -#ifndef _CPPLIB_VER -#define _CPPLIB_VER_WORKAROUND_GUARD 1 -#else -#define _CPPLIB_VER_WORKAROUND_GUARD 0 -#endif - -#ifndef BOOST_INTEL_CXX_VERSION -#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1 -#else -#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_INTEL_WIN -#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1 -#else -#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_DINKUMWARE_STDLIB -#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1 -#else -#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_INTEL -#define BOOST_INTEL_WORKAROUND_GUARD 1 -#else -#define BOOST_INTEL_WORKAROUND_GUARD 0 -#endif -// Always define to zero, if it's used it'll be defined my MPL: -#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0 - -#define BOOST_WORKAROUND(symbol, test) \ - ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ - (symbol != 0) && (1 % (( (symbol test) ) + 1))) -// ^ ^ ^ ^ -// The extra level of parenthesis nesting above, along with the -// BOOST_OPEN_PAREN indirection below, is required to satisfy the -// broken preprocessor in MWCW 8.3 and earlier. -// -// The basic mechanism works as follows: -// (symbol test) + 1 => if (symbol test) then 2 else 1 -// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0 -// -// The complication with % is for cooperation with BOOST_TESTED_AT(). -// When "test" is BOOST_TESTED_AT(x) and -// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined, -// -// symbol test => if (symbol <= x) then 1 else -1 -// (symbol test) + 1 => if (symbol <= x) then 2 else 0 -// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero -// - -#ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS -# define BOOST_OPEN_PAREN ( -# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1 -#else -# define BOOST_TESTED_AT(value) != ((value)-(value)) -#endif - -#else - -#define BOOST_WORKAROUND(symbol, test) 0 - -#endif - -#endif // BOOST_CONFIG_WORKAROUND_HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/core/checked_delete.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/core/checked_delete.hpp deleted file mode 100644 index 6af5c14..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/core/checked_delete.hpp +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef BOOST_CORE_CHECKED_DELETE_HPP -#define BOOST_CORE_CHECKED_DELETE_HPP - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include - -// -// boost/checked_delete.hpp -// -// Copyright (c) 2002, 2003 Peter Dimov -// Copyright (c) 2003 Daniel Frey -// Copyright (c) 2003 Howard Hinnant -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/core/doc/html/core/checked_delete.html for documentation. -// - -namespace boost -{ - -// verify that types are complete for increased safety - -template inline void checked_delete(T * x) BOOST_NOEXCEPT -{ - // intentionally complex - simplification causes regressions - typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; - (void) sizeof(type_must_be_complete); - delete x; -} - -template inline void checked_array_delete(T * x) BOOST_NOEXCEPT -{ - typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; - (void) sizeof(type_must_be_complete); - delete [] x; -} - -template struct checked_deleter -{ - typedef void result_type; - typedef T * argument_type; - - void operator()(T * x) const BOOST_NOEXCEPT - { - // boost:: disables ADL - boost::checked_delete(x); - } -}; - -template struct checked_array_deleter -{ - typedef void result_type; - typedef T * argument_type; - - void operator()(T * x) const BOOST_NOEXCEPT - { - boost::checked_array_delete(x); - } -}; - -} // namespace boost - -#endif // #ifndef BOOST_CORE_CHECKED_DELETE_HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/core/enable_if.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/core/enable_if.hpp deleted file mode 100644 index 5dcef1e..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/core/enable_if.hpp +++ /dev/null @@ -1,128 +0,0 @@ -// Boost enable_if library - -// Copyright 2003 (c) The Trustees of Indiana University. - -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// Authors: Jaakko Jarvi (jajarvi at osl.iu.edu) -// Jeremiah Willcock (jewillco at osl.iu.edu) -// Andrew Lumsdaine (lums at osl.iu.edu) - - -#ifndef BOOST_CORE_ENABLE_IF_HPP -#define BOOST_CORE_ENABLE_IF_HPP - -#include "boost/config.hpp" - -// Even the definition of enable_if causes problems on some compilers, -// so it's macroed out for all compilers that do not support SFINAE - -#ifndef BOOST_NO_SFINAE - -namespace boost -{ - template - struct enable_if_has_type - { - typedef R type; - }; - - template - struct enable_if_c { - typedef T type; - }; - - template - struct enable_if_c {}; - - template - struct enable_if : public enable_if_c {}; - - template - struct lazy_enable_if_c { - typedef typename T::type type; - }; - - template - struct lazy_enable_if_c {}; - - template - struct lazy_enable_if : public lazy_enable_if_c {}; - - - template - struct disable_if_c { - typedef T type; - }; - - template - struct disable_if_c {}; - - template - struct disable_if : public disable_if_c {}; - - template - struct lazy_disable_if_c { - typedef typename T::type type; - }; - - template - struct lazy_disable_if_c {}; - - template - struct lazy_disable_if : public lazy_disable_if_c {}; - -} // namespace boost - -#else - -namespace boost { - - namespace detail { typedef void enable_if_default_T; } - - template - struct enable_if_does_not_work_on_this_compiler; - - template - struct enable_if_has_type : enable_if_does_not_work_on_this_compiler - { }; - - template - struct enable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct disable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct enable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct disable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_enable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_disable_if : enable_if_does_not_work_on_this_compiler - { }; - -} // namespace boost - -#endif // BOOST_NO_SFINAE - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/cstdint.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/cstdint.hpp deleted file mode 100644 index c8474c4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/cstdint.hpp +++ /dev/null @@ -1,556 +0,0 @@ -// boost cstdint.hpp header file ------------------------------------------// - -// (C) Copyright Beman Dawes 1999. -// (C) Copyright Jens Mauer 2001 -// (C) Copyright John Maddock 2001 -// Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/integer for documentation. - -// Revision History -// 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.) -// 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer) -// 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer) -// 12 Nov 00 Merged (Jens Maurer) -// 23 Sep 00 Added INTXX_C macro support (John Maddock). -// 22 Sep 00 Better 64-bit support (John Maddock) -// 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost -// 8 Aug 99 Initial version (Beman Dawes) - - -#ifndef BOOST_CSTDINT_HPP -#define BOOST_CSTDINT_HPP - -// -// Since we always define the INT#_C macros as per C++0x, -// define __STDC_CONSTANT_MACROS so that does the right -// thing if possible, and so that the user knows that the macros -// are actually defined as per C99. -// -#ifndef __STDC_CONSTANT_MACROS -# define __STDC_CONSTANT_MACROS -#endif - -#include -// -// For the following code we get several warnings along the lines of: -// -// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant -// -// So we declare this a system header to suppress these warnings. -// See also https://github.com/boostorg/config/issues/190 -// -#if defined(__GNUC__) && (__GNUC__ >= 4) -#pragma GCC system_header -#endif - -// -// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not -// depending upon what headers happen to have been included first... -// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG. -// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990 -// -#if defined(BOOST_HAS_STDINT_H) \ - && (!defined(__GLIBC__) \ - || defined(__GLIBC_HAVE_LONG_LONG) \ - || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17))))) - -// The following #include is an implementation artifact; not part of interface. -# ifdef __hpux -// HP-UX has a vaguely nice in a non-standard location -# include -# ifdef __STDC_32_MODE__ - // this is triggered with GCC, because it defines __cplusplus < 199707L -# define BOOST_NO_INT64_T -# endif -# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) -# include -# else -# include - -// There is a bug in Cygwin two _C macros -# if defined(INTMAX_C) && defined(__CYGWIN__) -# undef INTMAX_C -# undef UINTMAX_C -# define INTMAX_C(c) c##LL -# define UINTMAX_C(c) c##ULL -# endif - -# endif - -#if defined(__QNX__) && defined(__EXT_QNX) - -// QNX (Dinkumware stdlib) defines these as non-standard names. -// Reflect to the standard names. - -typedef ::intleast8_t int_least8_t; -typedef ::intfast8_t int_fast8_t; -typedef ::uintleast8_t uint_least8_t; -typedef ::uintfast8_t uint_fast8_t; - -typedef ::intleast16_t int_least16_t; -typedef ::intfast16_t int_fast16_t; -typedef ::uintleast16_t uint_least16_t; -typedef ::uintfast16_t uint_fast16_t; - -typedef ::intleast32_t int_least32_t; -typedef ::intfast32_t int_fast32_t; -typedef ::uintleast32_t uint_least32_t; -typedef ::uintfast32_t uint_fast32_t; - -# ifndef BOOST_NO_INT64_T - -typedef ::intleast64_t int_least64_t; -typedef ::intfast64_t int_fast64_t; -typedef ::uintleast64_t uint_least64_t; -typedef ::uintfast64_t uint_fast64_t; - -# endif - -#endif - -namespace boost -{ - - using ::int8_t; - using ::int_least8_t; - using ::int_fast8_t; - using ::uint8_t; - using ::uint_least8_t; - using ::uint_fast8_t; - - using ::int16_t; - using ::int_least16_t; - using ::int_fast16_t; - using ::uint16_t; - using ::uint_least16_t; - using ::uint_fast16_t; - - using ::int32_t; - using ::int_least32_t; - using ::int_fast32_t; - using ::uint32_t; - using ::uint_least32_t; - using ::uint_fast32_t; - -# ifndef BOOST_NO_INT64_T - - using ::int64_t; - using ::int_least64_t; - using ::int_fast64_t; - using ::uint64_t; - using ::uint_least64_t; - using ::uint_fast64_t; - -# endif - - using ::intmax_t; - using ::uintmax_t; - -} // namespace boost - -#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__) -// FreeBSD and Tru64 have an that contains much of what we need. -# include - -namespace boost { - - using ::int8_t; - typedef int8_t int_least8_t; - typedef int8_t int_fast8_t; - using ::uint8_t; - typedef uint8_t uint_least8_t; - typedef uint8_t uint_fast8_t; - - using ::int16_t; - typedef int16_t int_least16_t; - typedef int16_t int_fast16_t; - using ::uint16_t; - typedef uint16_t uint_least16_t; - typedef uint16_t uint_fast16_t; - - using ::int32_t; - typedef int32_t int_least32_t; - typedef int32_t int_fast32_t; - using ::uint32_t; - typedef uint32_t uint_least32_t; - typedef uint32_t uint_fast32_t; - -# ifndef BOOST_NO_INT64_T - - using ::int64_t; - typedef int64_t int_least64_t; - typedef int64_t int_fast64_t; - using ::uint64_t; - typedef uint64_t uint_least64_t; - typedef uint64_t uint_fast64_t; - - typedef int64_t intmax_t; - typedef uint64_t uintmax_t; - -# else - - typedef int32_t intmax_t; - typedef uint32_t uintmax_t; - -# endif - -} // namespace boost - -#else // BOOST_HAS_STDINT_H - -# include // implementation artifact; not part of interface -# include // needed for limits macros - - -namespace boost -{ - -// These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit -// platforms. For other systems, they will have to be hand tailored. -// -// Because the fast types are assumed to be the same as the undecorated types, -// it may be possible to hand tailor a more efficient implementation. Such -// an optimization may be illusionary; on the Intel x86-family 386 on, for -// example, byte arithmetic and load/stores are as fast as "int" sized ones. - -// 8-bit types ------------------------------------------------------------// - -# if UCHAR_MAX == 0xff - typedef signed char int8_t; - typedef signed char int_least8_t; - typedef signed char int_fast8_t; - typedef unsigned char uint8_t; - typedef unsigned char uint_least8_t; - typedef unsigned char uint_fast8_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -// 16-bit types -----------------------------------------------------------// - -# if USHRT_MAX == 0xffff -# if defined(__crayx1) - // The Cray X1 has a 16-bit short, however it is not recommend - // for use in performance critical code. - typedef short int16_t; - typedef short int_least16_t; - typedef int int_fast16_t; - typedef unsigned short uint16_t; - typedef unsigned short uint_least16_t; - typedef unsigned int uint_fast16_t; -# else - typedef short int16_t; - typedef short int_least16_t; - typedef short int_fast16_t; - typedef unsigned short uint16_t; - typedef unsigned short uint_least16_t; - typedef unsigned short uint_fast16_t; -# endif -# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) - // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified - // MTA / XMT does support the following non-standard integer types - typedef __short16 int16_t; - typedef __short16 int_least16_t; - typedef __short16 int_fast16_t; - typedef unsigned __short16 uint16_t; - typedef unsigned __short16 uint_least16_t; - typedef unsigned __short16 uint_fast16_t; -# elif (USHRT_MAX == 0xffffffff) && defined(CRAY) - // no 16-bit types on Cray: - typedef short int_least16_t; - typedef short int_fast16_t; - typedef unsigned short uint_least16_t; - typedef unsigned short uint_fast16_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -// 32-bit types -----------------------------------------------------------// - -# if UINT_MAX == 0xffffffff - typedef int int32_t; - typedef int int_least32_t; - typedef int int_fast32_t; - typedef unsigned int uint32_t; - typedef unsigned int uint_least32_t; - typedef unsigned int uint_fast32_t; -# elif (USHRT_MAX == 0xffffffff) - typedef short int32_t; - typedef short int_least32_t; - typedef short int_fast32_t; - typedef unsigned short uint32_t; - typedef unsigned short uint_least32_t; - typedef unsigned short uint_fast32_t; -# elif ULONG_MAX == 0xffffffff - typedef long int32_t; - typedef long int_least32_t; - typedef long int_fast32_t; - typedef unsigned long uint32_t; - typedef unsigned long uint_least32_t; - typedef unsigned long uint_fast32_t; -# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) - // Integers are 64 bits on the MTA / XMT - typedef __int32 int32_t; - typedef __int32 int_least32_t; - typedef __int32 int_fast32_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int32 uint_least32_t; - typedef unsigned __int32 uint_fast32_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -// 64-bit types + intmax_t and uintmax_t ----------------------------------// - -# if defined(BOOST_HAS_LONG_LONG) && \ - !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \ - (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \ - (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) -# if defined(__hpux) - // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions -# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) - // 2**64 - 1 -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - - typedef ::boost::long_long_type intmax_t; - typedef ::boost::ulong_long_type uintmax_t; - typedef ::boost::long_long_type int64_t; - typedef ::boost::long_long_type int_least64_t; - typedef ::boost::long_long_type int_fast64_t; - typedef ::boost::ulong_long_type uint64_t; - typedef ::boost::ulong_long_type uint_least64_t; - typedef ::boost::ulong_long_type uint_fast64_t; - -# elif ULONG_MAX != 0xffffffff - -# if ULONG_MAX == 18446744073709551615 // 2**64 - 1 - typedef long intmax_t; - typedef unsigned long uintmax_t; - typedef long int64_t; - typedef long int_least64_t; - typedef long int_fast64_t; - typedef unsigned long uint64_t; - typedef unsigned long uint_least64_t; - typedef unsigned long uint_fast64_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG) - __extension__ typedef long long intmax_t; - __extension__ typedef unsigned long long uintmax_t; - __extension__ typedef long long int64_t; - __extension__ typedef long long int_least64_t; - __extension__ typedef long long int_fast64_t; - __extension__ typedef unsigned long long uint64_t; - __extension__ typedef unsigned long long uint_least64_t; - __extension__ typedef unsigned long long uint_fast64_t; -# elif defined(BOOST_HAS_MS_INT64) - // - // we have Borland/Intel/Microsoft __int64: - // - typedef __int64 intmax_t; - typedef unsigned __int64 uintmax_t; - typedef __int64 int64_t; - typedef __int64 int_least64_t; - typedef __int64 int_fast64_t; - typedef unsigned __int64 uint64_t; - typedef unsigned __int64 uint_least64_t; - typedef unsigned __int64 uint_fast64_t; -# else // assume no 64-bit integers -# define BOOST_NO_INT64_T - typedef int32_t intmax_t; - typedef uint32_t uintmax_t; -# endif - -} // namespace boost - - -#endif // BOOST_HAS_STDINT_H - -// intptr_t/uintptr_t are defined separately because they are optional and not universally available -#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H) -// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h -#include -#endif - -#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \ - || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ - || defined(__CYGWIN__) || defined(__VXWORKS__) \ - || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ - || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX) - -namespace boost { - using ::intptr_t; - using ::uintptr_t; -} -#define BOOST_HAS_INTPTR_T - -// Clang pretends to be GCC, so it'll match this condition -#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__) - -namespace boost { - typedef __INTPTR_TYPE__ intptr_t; - typedef __UINTPTR_TYPE__ uintptr_t; -} -#define BOOST_HAS_INTPTR_T - -#endif - -#endif // BOOST_CSTDINT_HPP - - -/**************************************************** - -Macro definition section: - -Added 23rd September 2000 (John Maddock). -Modified 11th September 2001 to be excluded when -BOOST_HAS_STDINT_H is defined (John Maddock). -Modified 11th Dec 2009 to always define the -INT#_C macros if they're not already defined (John Maddock). - -******************************************************/ - -#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \ - (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C)) -// -// Undef the macros as a precaution, since we may get here if has failed -// to define them all, see https://svn.boost.org/trac/boost/ticket/12786 -// -#undef INT8_C -#undef INT16_C -#undef INT32_C -#undef INT64_C -#undef INTMAX_C -#undef UINT8_C -#undef UINT16_C -#undef UINT32_C -#undef UINT64_C -#undef UINTMAX_C - -#include -# define BOOST__STDC_CONSTANT_MACROS_DEFINED -# if defined(BOOST_HAS_MS_INT64) -// -// Borland/Intel/Microsoft compilers have width specific suffixes: -// -#ifndef INT8_C -# define INT8_C(value) value##i8 -#endif -#ifndef INT16_C -# define INT16_C(value) value##i16 -#endif -#ifndef INT32_C -# define INT32_C(value) value##i32 -#endif -#ifndef INT64_C -# define INT64_C(value) value##i64 -#endif -# ifdef __BORLANDC__ - // Borland bug: appending ui8 makes the type a signed char -# define UINT8_C(value) static_cast(value##u) -# else -# define UINT8_C(value) value##ui8 -# endif -#ifndef UINT16_C -# define UINT16_C(value) value##ui16 -#endif -#ifndef UINT32_C -# define UINT32_C(value) value##ui32 -#endif -#ifndef UINT64_C -# define UINT64_C(value) value##ui64 -#endif -#ifndef INTMAX_C -# define INTMAX_C(value) value##i64 -# define UINTMAX_C(value) value##ui64 -#endif - -# else -// do it the old fashioned way: - -// 8-bit types ------------------------------------------------------------// - -# if (UCHAR_MAX == 0xff) && !defined(INT8_C) -# define INT8_C(value) static_cast(value) -# define UINT8_C(value) static_cast(value##u) -# endif - -// 16-bit types -----------------------------------------------------------// - -# if (USHRT_MAX == 0xffff) && !defined(INT16_C) -# define INT16_C(value) static_cast(value) -# define UINT16_C(value) static_cast(value##u) -# endif - -// 32-bit types -----------------------------------------------------------// -#ifndef INT32_C -# if (UINT_MAX == 0xffffffff) -# define INT32_C(value) value -# define UINT32_C(value) value##u -# elif ULONG_MAX == 0xffffffff -# define INT32_C(value) value##L -# define UINT32_C(value) value##uL -# endif -#endif - -// 64-bit types + intmax_t and uintmax_t ----------------------------------// -#ifndef INT64_C -# if defined(BOOST_HAS_LONG_LONG) && \ - (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX)) - -# if defined(__hpux) - // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions -# define INT64_C(value) value##LL -# define UINT64_C(value) value##uLL -# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \ - (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \ - (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \ - (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \ - (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL) - -# define INT64_C(value) value##LL -# define UINT64_C(value) value##uLL -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# elif ULONG_MAX != 0xffffffff - -# if ULONG_MAX == 18446744073709551615U // 2**64 - 1 -# define INT64_C(value) value##L -# define UINT64_C(value) value##uL -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# elif defined(BOOST_HAS_LONG_LONG) - // Usual macros not defined, work things out for ourselves: -# if(~0uLL == 18446744073709551615ULL) -# define INT64_C(value) value##LL -# define UINT64_C(value) value##uLL -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -# ifdef BOOST_NO_INT64_T -# define INTMAX_C(value) INT32_C(value) -# define UINTMAX_C(value) UINT32_C(value) -# else -# define INTMAX_C(value) INT64_C(value) -# define UINTMAX_C(value) UINT64_C(value) -# endif -#endif -# endif // Borland/Microsoft specific width suffixes - -#endif // INT#_C macros. - - - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/current_function.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/current_function.hpp deleted file mode 100644 index 731d1b1..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/current_function.hpp +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED -#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// boost/current_function.hpp - BOOST_CURRENT_FUNCTION -// -// Copyright 2002-2018 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -// -// http://www.boost.org/libs/assert -// - -namespace boost -{ - -namespace detail -{ - -inline void current_function_helper() -{ - -#if defined( BOOST_DISABLE_CURRENT_FUNCTION ) - -# define BOOST_CURRENT_FUNCTION "(unknown)" - -#elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__) - -# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ - -#elif defined(__DMC__) && (__DMC__ >= 0x810) - -# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ - -#elif defined(__FUNCSIG__) - -# define BOOST_CURRENT_FUNCTION __FUNCSIG__ - -#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) - -# define BOOST_CURRENT_FUNCTION __FUNCTION__ - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) - -# define BOOST_CURRENT_FUNCTION __FUNC__ - -#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) - -# define BOOST_CURRENT_FUNCTION __func__ - -#elif defined(__cplusplus) && (__cplusplus >= 201103) - -# define BOOST_CURRENT_FUNCTION __func__ - -#else - -# define BOOST_CURRENT_FUNCTION "(unknown)" - -#endif - -} - -} // namespace detail - -} // namespace boost - -#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/detail/workaround.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/detail/workaround.hpp deleted file mode 100644 index fb96115..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/detail/workaround.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright David Abrahams 2002. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -#ifndef WORKAROUND_DWA2002126_HPP -#define WORKAROUND_DWA2002126_HPP - -#include - -#endif // WORKAROUND_DWA2002126_HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/exception/exception.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/exception/exception.hpp deleted file mode 100644 index ab78767..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/exception/exception.hpp +++ /dev/null @@ -1,525 +0,0 @@ -//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. - -//Distributed under the Boost Software License, Version 1.0. (See accompanying -//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593 -#define UUID_274DA366004E11DCB1DDFE2E56D89593 - -#include - -#ifdef BOOST_EXCEPTION_MINI_BOOST -#include -namespace boost { namespace exception_detail { using std::shared_ptr; } } -#else -namespace boost { template class shared_ptr; } -namespace boost { namespace exception_detail { using boost::shared_ptr; } } -#endif - -#if defined(__GNUC__) && (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma GCC system_header -#endif -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(push,1) -#endif - -namespace -boost - { - namespace - exception_detail - { - template - class - refcount_ptr - { - public: - - refcount_ptr(): - px_(0) - { - } - - ~refcount_ptr() - { - release(); - } - - refcount_ptr( refcount_ptr const & x ): - px_(x.px_) - { - add_ref(); - } - - refcount_ptr & - operator=( refcount_ptr const & x ) - { - adopt(x.px_); - return *this; - } - - void - adopt( T * px ) - { - release(); - px_=px; - add_ref(); - } - - T * - get() const - { - return px_; - } - - private: - - T * px_; - - void - add_ref() - { - if( px_ ) - px_->add_ref(); - } - - void - release() - { - if( px_ && px_->release() ) - px_=0; - } - }; - } - - //////////////////////////////////////////////////////////////////////// - - template - class error_info; - - typedef error_info throw_function; - typedef error_info throw_file; - typedef error_info throw_line; - - template <> - class - error_info - { - public: - typedef char const * value_type; - value_type v_; - explicit - error_info( value_type v ): - v_(v) - { - } - }; - - template <> - class - error_info - { - public: - typedef char const * value_type; - value_type v_; - explicit - error_info( value_type v ): - v_(v) - { - } - }; - - template <> - class - error_info - { - public: - typedef int value_type; - value_type v_; - explicit - error_info( value_type v ): - v_(v) - { - } - }; - - class - BOOST_SYMBOL_VISIBLE - exception; - - namespace - exception_detail - { - class error_info_base; - struct type_info_; - - struct - error_info_container - { - virtual char const * diagnostic_information( char const * ) const = 0; - virtual shared_ptr get( type_info_ const & ) const = 0; - virtual void set( shared_ptr const &, type_info_ const & ) = 0; - virtual void add_ref() const = 0; - virtual bool release() const = 0; - virtual refcount_ptr clone() const = 0; - - protected: - - ~error_info_container() BOOST_NOEXCEPT_OR_NOTHROW - { - } - }; - - template - struct get_info; - - template <> - struct get_info; - - template <> - struct get_info; - - template <> - struct get_info; - - template - struct set_info_rv; - - template <> - struct set_info_rv; - - template <> - struct set_info_rv; - - template <> - struct set_info_rv; - - char const * get_diagnostic_information( exception const &, char const * ); - - void copy_boost_exception( exception *, exception const * ); - - template - E const & set_info( E const &, error_info const & ); - - template - E const & set_info( E const &, throw_function const & ); - - template - E const & set_info( E const &, throw_file const & ); - - template - E const & set_info( E const &, throw_line const & ); - } - - class - BOOST_SYMBOL_VISIBLE - exception - { - // - public: - template void set( typename Tag::type const & ); - template typename Tag::type const * get() const; - // - - protected: - - exception(): - throw_function_(0), - throw_file_(0), - throw_line_(-1) - { - } - -#ifdef __HP_aCC - //On HP aCC, this protected copy constructor prevents throwing boost::exception. - //On all other platforms, the same effect is achieved by the pure virtual destructor. - exception( exception const & x ) BOOST_NOEXCEPT_OR_NOTHROW: - data_(x.data_), - throw_function_(x.throw_function_), - throw_file_(x.throw_file_), - throw_line_(x.throw_line_) - { - } -#endif - - virtual ~exception() BOOST_NOEXCEPT_OR_NOTHROW -#ifndef __HP_aCC - = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors. -#endif - ; - -#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310) - public: -#else - private: - - template - friend E const & exception_detail::set_info( E const &, throw_function const & ); - - template - friend E const & exception_detail::set_info( E const &, throw_file const & ); - - template - friend E const & exception_detail::set_info( E const &, throw_line const & ); - - template - friend E const & exception_detail::set_info( E const &, error_info const & ); - - friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); - - template - friend struct exception_detail::get_info; - friend struct exception_detail::get_info; - friend struct exception_detail::get_info; - friend struct exception_detail::get_info; - template - friend struct exception_detail::set_info_rv; - friend struct exception_detail::set_info_rv; - friend struct exception_detail::set_info_rv; - friend struct exception_detail::set_info_rv; - friend void exception_detail::copy_boost_exception( exception *, exception const * ); -#endif - mutable exception_detail::refcount_ptr data_; - mutable char const * throw_function_; - mutable char const * throw_file_; - mutable int throw_line_; - }; - - inline - exception:: - ~exception() BOOST_NOEXCEPT_OR_NOTHROW - { - } - - namespace - exception_detail - { - template - E const & - set_info( E const & x, throw_function const & y ) - { - x.throw_function_=y.v_; - return x; - } - - template - E const & - set_info( E const & x, throw_file const & y ) - { - x.throw_file_=y.v_; - return x; - } - - template - E const & - set_info( E const & x, throw_line const & y ) - { - x.throw_line_=y.v_; - return x; - } - } - - //////////////////////////////////////////////////////////////////////// - - namespace - exception_detail - { - template - struct - BOOST_SYMBOL_VISIBLE - error_info_injector: - public T, - public exception - { - explicit - error_info_injector( T const & x ): - T(x) - { - } - - ~error_info_injector() BOOST_NOEXCEPT_OR_NOTHROW - { - } - }; - - struct large_size { char c[256]; }; - large_size dispatch_boost_exception( exception const * ); - - struct small_size { }; - small_size dispatch_boost_exception( void const * ); - - template - struct enable_error_info_helper; - - template - struct - enable_error_info_helper - { - typedef T type; - }; - - template - struct - enable_error_info_helper - { - typedef error_info_injector type; - }; - - template - struct - enable_error_info_return_type - { - typedef typename enable_error_info_helper(0)))>::type type; - }; - } - - template - inline - typename - exception_detail::enable_error_info_return_type::type - enable_error_info( T const & x ) - { - typedef typename exception_detail::enable_error_info_return_type::type rt; - return rt(x); - } - - //////////////////////////////////////////////////////////////////////// - - namespace - exception_detail - { - class - BOOST_SYMBOL_VISIBLE - clone_base - { - public: - - virtual clone_base const * clone() const = 0; - virtual void rethrow() const = 0; - - virtual - ~clone_base() BOOST_NOEXCEPT_OR_NOTHROW - { - } - }; - - inline - void - copy_boost_exception( exception * a, exception const * b ) - { - refcount_ptr data; - if( error_info_container * d=b->data_.get() ) - data = d->clone(); - a->throw_file_ = b->throw_file_; - a->throw_line_ = b->throw_line_; - a->throw_function_ = b->throw_function_; - a->data_ = data; - } - - inline - void - copy_boost_exception( void *, void const * ) - { - } - - template - class - BOOST_SYMBOL_VISIBLE - clone_impl: - public T, - public virtual clone_base - { - struct clone_tag { }; - clone_impl( clone_impl const & x, clone_tag ): - T(x) - { - copy_boost_exception(this,&x); - } - - public: - - explicit - clone_impl( T const & x ): - T(x) - { - copy_boost_exception(this,&x); - } - - ~clone_impl() BOOST_NOEXCEPT_OR_NOTHROW - { - } - - private: - - clone_base const * - clone() const - { - return new clone_impl(*this,clone_tag()); - } - - void - rethrow() const - { - throw*this; - } - }; - } - - template - inline - exception_detail::clone_impl - enable_current_exception( T const & x ) - { - return exception_detail::clone_impl(x); - } - - template - struct - BOOST_SYMBOL_VISIBLE - wrapexcept: - public exception_detail::clone_impl::type> - { - typedef exception_detail::clone_impl::type> base_type; - public: - explicit - wrapexcept( typename exception_detail::enable_error_info_return_type::type const & x ): - base_type( x ) - { - } - - ~wrapexcept() BOOST_NOEXCEPT_OR_NOTHROW - { - } - }; - - namespace - exception_detail - { - template - struct - remove_error_info_injector - { - typedef T type; - }; - - template - struct - remove_error_info_injector< error_info_injector > - { - typedef T type; - }; - - template - inline - wrapexcept::type> - enable_both( T const & x ) - { - return wrapexcept::type>( enable_error_info( x ) ); - } - } - } - -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(pop) -#endif -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/limits.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/limits.hpp deleted file mode 100644 index 47d8155..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/limits.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// (C) Copyright John maddock 1999. -// (C) David Abrahams 2002. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// use this header as a workaround for missing - -// See http://www.boost.org/libs/compatibility/index.html for documentation. - -#ifndef BOOST_LIMITS -#define BOOST_LIMITS - -#include - -#ifdef BOOST_NO_LIMITS -# error "There is no std::numeric_limits suppport available." -#else -# include -#endif - -#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \ - || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)) -// Add missing specializations for numeric_limits: -#ifdef BOOST_HAS_MS_INT64 -# define BOOST_LLT __int64 -# define BOOST_ULLT unsigned __int64 -#else -# define BOOST_LLT ::boost::long_long_type -# define BOOST_ULLT ::boost::ulong_long_type -#endif - -#include // for CHAR_BIT - -namespace std -{ - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; } -#elif defined(LLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; } -#elif defined(LONGLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; } -#else - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = true); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_LLT epsilon() throw() { return 0; }; - static BOOST_LLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_LLT infinity() throw() { return 0; }; - static BOOST_LLT quiet_NaN() throw() { return 0; }; - static BOOST_LLT signaling_NaN() throw() { return 0; }; - static BOOST_LLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = true); - BOOST_STATIC_CONSTANT(bool, is_modulo = true); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; - - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; } -#elif defined(ULLONG_MAX) && defined(ULLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; } -#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; } -#else - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = false); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_ULLT epsilon() throw() { return 0; }; - static BOOST_ULLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_ULLT infinity() throw() { return 0; }; - static BOOST_ULLT quiet_NaN() throw() { return 0; }; - static BOOST_ULLT signaling_NaN() throw() { return 0; }; - static BOOST_ULLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = true); - BOOST_STATIC_CONSTANT(bool, is_modulo = true); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; -} -#endif - -#endif - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/and.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/and.hpp deleted file mode 100644 index 454aaf2..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/and.hpp +++ /dev/null @@ -1,60 +0,0 @@ - -#ifndef BOOST_MPL_AND_HPP_INCLUDED -#define BOOST_MPL_AND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# include -# include -# include -# include - -// agurt, 19/may/04: workaround a conflict with header's -// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)' -// has to be checked in a separate condition, otherwise GCC complains -// about 'and' being an alternative token -#if defined(_MSC_VER) && !defined(__clang__) -#ifndef __GCCXML__ -#if defined(and) -# pragma push_macro("and") -# undef and -# define and(x) -#endif -#endif -#endif - -# define BOOST_MPL_PREPROCESSED_HEADER and.hpp -# include - -#if defined(_MSC_VER) && !defined(__clang__) -#ifndef __GCCXML__ -#if defined(and) -# pragma pop_macro("and") -#endif -#endif -#endif - -#else - -# define AUX778076_OP_NAME and_ -# define AUX778076_OP_VALUE1 false -# define AUX778076_OP_VALUE2 true -# include - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif // BOOST_MPL_AND_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/apply_wrap.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/apply_wrap.hpp deleted file mode 100644 index b807779..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/apply_wrap.hpp +++ /dev/null @@ -1,234 +0,0 @@ - -#if !defined(BOOST_PP_IS_ITERATING) - -///// header body - -#ifndef BOOST_MPL_APPLY_WRAP_HPP_INCLUDED -#define BOOST_MPL_APPLY_WRAP_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp -# include - -#else - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# include -# include -# include -# include - - -namespace boost { namespace mpl { - -// local macros, #undef-ined at the end of the header -# define AUX778076_APPLY_WRAP_PARAMS(n, param) \ - BOOST_MPL_PP_PARAMS(n, param) \ - /**/ - -# define AUX778076_APPLY_WRAP_SPEC_PARAMS(n, param) \ - BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \ - /**/ - - -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) -#include BOOST_PP_ITERATE() - - -# undef AUX778076_APPLY_WRAP_SPEC_PARAMS -# undef AUX778076_APPLY_WRAP_PARAMS - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif // BOOST_MPL_APPLY_WRAP_HPP_INCLUDED - -///// iteration, depth == 1 - -// For gcc 4.4 compatability, we must include the -// BOOST_PP_ITERATION_DEPTH test inside an #else clause. -#else // BOOST_PP_IS_ITERATING -#if BOOST_PP_ITERATION_DEPTH() == 1 - -# define i_ BOOST_PP_FRAME_ITERATION(1) - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -// MSVC version - -#define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_) -#define AUX778076_MSVC_DTW_ORIGINAL_NAME apply -#define AUX778076_MSVC_DTW_ARITY i_ -#include - -template< - typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) - > -struct BOOST_PP_CAT(apply_wrap,i_) -{ - // Metafunction forwarding confuses vc6 - typedef typename BOOST_PP_CAT(msvc_apply,i_)::template result_< - AUX778076_APPLY_WRAP_PARAMS(i_, T) - >::type type; -}; - -# elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -// MWCW/Borland version - -template< - int N, typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) - > -struct BOOST_PP_CAT(apply_wrap_impl,i_); - -#define BOOST_PP_ITERATION_PARAMS_2 \ - (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, )) -#include BOOST_PP_ITERATE() - -template< - typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) - > -struct BOOST_PP_CAT(apply_wrap,i_) - : BOOST_PP_CAT(apply_wrap_impl,i_)< - ::boost::mpl::aux::arity::value - , F - BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) - >::type -{ -}; - -# else -// ISO98 C++, with minor concession to vc7 - -template< - typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) -#if i_ == 0 - , typename has_apply_ = typename aux::has_apply::type -#endif - > -struct BOOST_PP_CAT(apply_wrap,i_) -// metafunction forwarding confuses MSVC 7.0 -#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300) - : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) > -{ -#else -{ - typedef typename F::template apply< - AUX778076_APPLY_WRAP_PARAMS(i_, T) - >::type type; -#endif -}; - -#if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -template< typename F > -struct BOOST_PP_CAT(apply_wrap,i_) - : F::apply -{ -}; -#endif - -# endif // workarounds - -#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) -/// workaround for ETI bug -template<> -struct BOOST_PP_CAT(apply_wrap,i_) -{ - typedef int type; -}; -#endif - -# undef i_ - -///// iteration, depth == 2 - -#elif BOOST_PP_ITERATION_DEPTH() == 2 - -# define j_ BOOST_PP_FRAME_ITERATION(2) - -#if i_ == 0 && j_ == 0 \ - && defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \ - && !defined(BOOST_MPL_CFG_NO_HAS_APPLY) - -template< typename F, bool F_has_apply > -struct apply_wrap_impl0_bcb { - typedef typename F::template apply< na > type; -}; - -template< typename F > -struct apply_wrap_impl0_bcb< F, true > { - typedef typename F::apply type; -}; - -template< - typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) - > -struct BOOST_PP_CAT(apply_wrap_impl,i_)< - BOOST_MPL_PP_ADD(i_, j_) - , F - BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) - > -{ - typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type; -}; -#else - -template< - typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) - > -struct BOOST_PP_CAT(apply_wrap_impl,i_)< - BOOST_MPL_PP_ADD(i_, j_) - , F - BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) - > -{ - typedef typename F::template apply< - AUX778076_APPLY_WRAP_PARAMS(i_, T) -#if i_ == 0 && j_ == 0 -/// since the defaults are "lost", we have to pass *something* even for nullary -/// metafunction classes - na -#else - BOOST_PP_COMMA_IF(BOOST_PP_AND(i_, j_)) BOOST_MPL_PP_ENUM(j_, na) -#endif - > type; -}; - -#endif - -# undef j_ - -#endif // BOOST_PP_ITERATION_DEPTH() -#endif // BOOST_PP_IS_ITERATING diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/adl_barrier.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/adl_barrier.hpp deleted file mode 100644 index 3968c24..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/adl_barrier.hpp +++ /dev/null @@ -1,48 +0,0 @@ - -#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED -#define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) - -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_ -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ { -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE } -# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \ - namespace boost { namespace mpl { \ - using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ - } } \ -/**/ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} } -namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; -namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; } -}} -#endif - -#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE - -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl { -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }} -# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/ - -#endif - -#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arithmetic_op.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arithmetic_op.hpp deleted file mode 100644 index 0171db5..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arithmetic_op.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include -#endif - -#if !defined(AUX778076_OP_PREFIX) -# define AUX778076_OP_PREFIX AUX778076_OP_NAME -#endif - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp -# include - -#else - -# include -# include - - -namespace boost { namespace mpl { - -#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) -namespace aux { -template< typename T, T n1, T n2 > -struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd) -{ - BOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2)); - typedef integral_c type; -}; -} -#endif - -template<> -struct AUX778076_OP_IMPL_NAME -{ - template< typename N1, typename N2 > struct apply -#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > -#else - : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type -#endif - { - }; -}; - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#undef AUX778076_OP_TAG_NAME -#undef AUX778076_OP_IMPL_NAME -#undef AUX778076_OP_ARITY -#undef AUX778076_OP_PREFIX -#undef AUX778076_OP_NAME -#undef AUX778076_OP_TOKEN diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arity.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arity.hpp deleted file mode 100644 index d13ab4a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/arity.hpp +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED -#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) - -# include -# include - -namespace boost { namespace mpl { namespace aux { - -// agurt, 15/mar/02: it's possible to implement the template so that it will -// "just work" and do not require any specialization, but not on the compilers -// that require the arity workaround in the first place -template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > -struct arity -{ - BOOST_STATIC_CONSTANT(int, value = N); -}; - -}}} - -#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES - -#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/comparison_op.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/comparison_op.hpp deleted file mode 100644 index 2df72d3..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/comparison_op.hpp +++ /dev/null @@ -1,83 +0,0 @@ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -#endif - -#if !defined(AUX778076_OP_PREFIX) -# define AUX778076_OP_PREFIX AUX778076_OP_NAME -#endif - -#define AUX778076_OP_ARITY 2 - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp -# include - -#else - -# include -# include - -namespace boost { namespace mpl { - -// MSVC workaround: implement less in terms of greater -#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0) -# define AUX778076_OP(N1, N2) \ - ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \ -/**/ -#else -# define AUX778076_OP(N1, N2) \ - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \ - AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \ - ) \ -/**/ -#endif - -template<> -struct AUX778076_OP_IMPL_NAME -{ - template< typename N1, typename N2 > struct apply -#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) - : bool_< AUX778076_OP(N1, N2) > - { -#else - { - BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2)); - typedef bool_ type; -#endif - }; -}; - -#undef AUX778076_OP - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#undef AUX778076_OP_TAG_NAME -#undef AUX778076_OP_IMPL_NAME -#undef AUX778076_OP_ARITY -#undef AUX778076_OP_PREFIX -#undef AUX778076_OP_NAME -#undef AUX778076_OP_TOKEN diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/adl.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/adl.hpp deleted file mode 100644 index e9bdf11..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/adl.hpp +++ /dev/null @@ -1,40 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC, -// but putting everything expect public, user-specializable metafunctions into -// a separate global namespace has a nice side effect of reducing the length -// of template instantiation symbols, so we apply the workaround on all -// platforms that can handle it - -#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \ - && ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ - || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \ - ) - -# define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/arrays.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/arrays.hpp deleted file mode 100644 index a9ea68a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/arrays.hpp +++ /dev/null @@ -1,30 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2003-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ - || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - ) - -# define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/compiler.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/compiler.hpp deleted file mode 100644 index 7d3e3b6..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/compiler.hpp +++ /dev/null @@ -1,66 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2008 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_CFG_COMPILER_DIR) - -# include -# include -# include -# include -# include -# include - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -# define BOOST_MPL_CFG_COMPILER_DIR msvc60 - -# elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) -# define BOOST_MPL_CFG_COMPILER_DIR msvc70 - -# elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) -# define BOOST_MPL_CFG_COMPILER_DIR gcc - -# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) -# if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_CFG_COMPILER_DIR bcc551 -# elif BOOST_WORKAROUND(__BORLANDC__, >= 0x590) -# define BOOST_MPL_CFG_COMPILER_DIR bcc -# else -# define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590 -# endif - -# elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -# define BOOST_MPL_CFG_COMPILER_DIR dmc - -# elif defined(__MWERKS__) -# if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_CFG_COMPILER_DIR mwcw -# else -# define BOOST_MPL_CFG_COMPILER_DIR plain -# endif - -# elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -# define BOOST_MPL_CFG_COMPILER_DIR no_ctps - -# elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) -# define BOOST_MPL_CFG_COMPILER_DIR no_ttp - -# else -# define BOOST_MPL_CFG_COMPILER_DIR plain -# endif - -#endif // BOOST_MPL_CFG_COMPILER_DIR - -#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ctps.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ctps.hpp deleted file mode 100644 index af78f47..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ctps.hpp +++ /dev/null @@ -1,30 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(__BORLANDC__, < 0x582) - -# define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC - -#endif - -// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in - -#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/dtp.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/dtp.hpp deleted file mode 100644 index 4379b6b..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/dtp.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// MWCW 7.x-8.0 "losts" default template parameters of nested class -// templates when their owner classes are passed as arguments to other -// templates; Borland 5.5.1 "forgets" them from the very beginning (if -// the owner class is a class template), and Borland 5.6 isn't even -// able to compile a definition of nested class template with DTP - -#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \ - && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) - -# define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES - -#endif - - -#if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ - || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ - ) - -# define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/eti.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/eti.hpp deleted file mode 100644 index 519d433..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/eti.hpp +++ /dev/null @@ -1,47 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// flags for MSVC 6.5's so-called "early template instantiation bug" -#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_MSVC, < 1300) - -# define BOOST_MPL_CFG_MSVC_60_ETI_BUG - -#endif - -#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_MSVC, == 1300) - -# define BOOST_MPL_CFG_MSVC_70_ETI_BUG - -#endif - -#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ - || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ - ) - -# define BOOST_MPL_CFG_MSVC_ETI_BUG - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/forwarding.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/forwarding.hpp deleted file mode 100644 index b4296ad..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/forwarding.hpp +++ /dev/null @@ -1,27 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) - -# define BOOST_MPL_CFG_NO_NESTED_FORWARDING - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/gcc.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/gcc.hpp deleted file mode 100644 index 080495d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/gcc.hpp +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if defined(__GNUC__) && !defined(__EDG_VERSION__) -# define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__) -#else -# define BOOST_MPL_CFG_GCC 0 -#endif - -#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_apply.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_apply.hpp deleted file mode 100644 index 4dc01c6..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_apply.hpp +++ /dev/null @@ -1,32 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) \ - && ( defined(BOOST_MPL_CFG_NO_HAS_XXX) \ - || BOOST_WORKAROUND(__EDG_VERSION__, < 300) \ - || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ - ) - -# define BOOST_MPL_CFG_NO_HAS_APPLY - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_xxx.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_xxx.hpp deleted file mode 100644 index b0f2f8c..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/has_xxx.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// Copyright David Abrahams 2002-2003 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation - -#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \ - && ( defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ - || BOOST_WORKAROUND(__GNUC__, <= 2) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ - ) - -# define BOOST_MPL_CFG_NO_HAS_XXX -# define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/integral.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/integral.hpp deleted file mode 100644 index 144542d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/integral.hpp +++ /dev/null @@ -1,38 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) - -# define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS - -#endif - -#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ - ) - -# define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/intel.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/intel.hpp deleted file mode 100644 index 5bd9159..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/intel.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - - -// BOOST_INTEL_CXX_VERSION is defined here: -#include - -#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/lambda.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/lambda.hpp deleted file mode 100644 index 93fbafe..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/lambda.hpp +++ /dev/null @@ -1,32 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// agurt, 15/jan/02: full-fledged implementation requires both -// template template parameters _and_ partial specialization - -#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ - && ( defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ - || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - ) - -# define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc.hpp deleted file mode 100644 index 8a6b924..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - - -// BOOST_MSVC is defined here: -#include - -#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc_typename.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc_typename.hpp deleted file mode 100644 index feedc16..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/msvc_typename.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -# define BOOST_MSVC_TYPENAME -#else -# define BOOST_MSVC_TYPENAME typename -#endif - -#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/nttp.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/nttp.hpp deleted file mode 100644 index 11125a9..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/nttp.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp" -// for a workaround): -// -// namespace std { -// template< typename Char > struct string; -// } -// -// void foo(std::string); -// -// namespace boost { namespace mpl { -// template< int > struct arg; -// }} - -#if !defined(BOOST_MPL_CFG_NTTP_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_MSVC, < 1300) - -# define BOOST_MPL_CFG_NTTP_BUG - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/overload_resolution.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/overload_resolution.hpp deleted file mode 100644 index 61e4486..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/overload_resolution.hpp +++ /dev/null @@ -1,29 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(__BORLANDC__, < 0x590) \ - || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \ - ) - -# define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/preprocessor.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/preprocessor.hpp deleted file mode 100644 index 82ebc68..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/preprocessor.hpp +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \ - && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \ - || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ - ) - -# define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION - -#endif - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) -# define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES -#endif - -#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \ - && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -# define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING -#endif - - -#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/static_constant.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/static_constant.hpp deleted file mode 100644 index ece38fb..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/static_constant.hpp +++ /dev/null @@ -1,25 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -// BOOST_STATIC_CONSTANT is defined here: -# include -#else -// undef the macro for the preprocessing mode -# undef BOOST_STATIC_CONSTANT -#endif - -#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ttp.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ttp.hpp deleted file mode 100644 index 3aff3f8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/ttp.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ - && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \ - || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \ - ) - -# define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS - -#endif - - -#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ - ) - -# define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/use_preprocessed.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/use_preprocessed.hpp deleted file mode 100644 index 8fd5c60..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/use_preprocessed.hpp +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/workaround.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/workaround.hpp deleted file mode 100644 index 82c6329..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/config/workaround.hpp +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_apply.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_apply.hpp deleted file mode 100644 index 9c16a35..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_apply.hpp +++ /dev/null @@ -1,32 +0,0 @@ - -#ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED -#define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -namespace boost { namespace mpl { namespace aux { -#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) -BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false) -#else -template< typename T, typename fallback_ = false_ > -struct has_apply - : fallback_ -{ -}; -#endif -}}} - -#endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_tag.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_tag.hpp deleted file mode 100644 index 3912a76..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/has_tag.hpp +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED -#define BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -namespace boost { namespace mpl { namespace aux { -BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false) -}}} - -#endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/include_preprocessed.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/include_preprocessed.hpp deleted file mode 100644 index c13434c..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/include_preprocessed.hpp +++ /dev/null @@ -1,42 +0,0 @@ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION - -// Copyright Aleksey Gurtovoy 2000-2006 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) -# define AUX778076_PREPROCESSED_HEADER \ - BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \ -/**/ -#else -# define AUX778076_PREPROCESSED_HEADER \ - BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ -/**/ -#endif - -#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) -# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) -# include AUX778076_INCLUDE_STRING -# undef AUX778076_INCLUDE_STRING -#else -# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) -#endif - -# undef AUX778076_PREPROCESSED_HEADER - -#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/integral_wrapper.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/integral_wrapper.hpp deleted file mode 100644 index 6bc05f7..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/integral_wrapper.hpp +++ /dev/null @@ -1,93 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2006 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! - -#include -#include -#include -#include -#include - -#include - -#if !defined(AUX_WRAPPER_NAME) -# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_) -#endif - -#if !defined(AUX_WRAPPER_PARAMS) -# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N) -#endif - -#if !defined(AUX_WRAPPER_INST) -# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) -# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value > -# else -# define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value > -# endif -#endif - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< AUX_WRAPPER_PARAMS(N) > -struct AUX_WRAPPER_NAME -{ - BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N); -// agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some -// other compilers (e.g. MSVC) are not particulary happy about it -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - typedef struct AUX_WRAPPER_NAME type; -#else - typedef AUX_WRAPPER_NAME type; -#endif - typedef AUX_WRAPPER_VALUE_TYPE value_type; - typedef integral_c_tag tag; - -// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), -// while some other don't like 'value + 1' (Borland), and some don't like -// either -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) - private: - BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1))); - BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1))); - public: - typedef AUX_WRAPPER_INST(next_value) next; - typedef AUX_WRAPPER_INST(prior_value) prior; -#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ - || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1))) - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next; - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior; -#else - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next; - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior; -#endif - - // enables uniform function call syntax for families of overloaded - // functions that return objects of both arithmetic ('int', 'long', - // 'double', etc.) and wrapped integral types (for an example, see - // "mpl/example/power.cpp") - BOOST_CONSTEXPR operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast(this->value); } -}; - -#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) -template< AUX_WRAPPER_PARAMS(N) > -AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value; -#endif - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -#undef AUX_WRAPPER_NAME -#undef AUX_WRAPPER_PARAMS -#undef AUX_WRAPPER_INST -#undef AUX_WRAPPER_VALUE_TYPE diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/is_msvc_eti_arg.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/is_msvc_eti_arg.hpp deleted file mode 100644 index 4989940..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/is_msvc_eti_arg.hpp +++ /dev/null @@ -1,64 +0,0 @@ - -#ifndef BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED -#define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -namespace boost { namespace mpl { namespace aux { - -#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) - -#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) - -template< typename T > -struct is_msvc_eti_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -#else // BOOST_MPL_CFG_MSVC_60_ETI_BUG - -struct eti_int_convertible -{ - eti_int_convertible(int); -}; - -template< typename T > -struct is_msvc_eti_arg -{ - static no_tag test(...); - static yes_tag test(eti_int_convertible); - static T& get(); - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(test(get())) == sizeof(yes_tag) - ); -}; - -#endif - -template<> -struct is_msvc_eti_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -#endif // BOOST_MPL_CFG_MSVC_ETI_BUG - -}}} - -#endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_arity_param.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_arity_param.hpp deleted file mode 100644 index 63cfcd4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_arity_param.hpp +++ /dev/null @@ -1,25 +0,0 @@ - -#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED -#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) -# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) -#else -# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param -#endif - -#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_support.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_support.hpp deleted file mode 100644 index 5b2af58..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/lambda_support.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED -#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/ -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/ - -#else - -# include -# include -# include -# include -# include -# include -# include - -# include -# include -# include -# include - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \ - typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \ - /**/ - -// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++ -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ - BOOST_PP_LIST_FOR_EACH_I_R( \ - 1 \ - , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ - , typedef \ - , BOOST_PP_TUPLE_TO_LIST(i,params) \ - ) \ - struct rebind \ - { \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - : name< BOOST_MPL_PP_PARAMS(i,U) > \ - { \ - }; \ - }; \ - /**/ - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - /**/ - -#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) -// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9 -// (in strict mode), so we have to provide an alternative to the -// MSVC-optimized implementation - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ - typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ - BOOST_PP_LIST_FOR_EACH_I_R( \ - 1 \ - , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ - , typedef \ - , BOOST_PP_TUPLE_TO_LIST(i,params) \ - ) \ - struct rebind; \ -/**/ - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ -}; \ -template< BOOST_MPL_PP_PARAMS(i,typename T) > \ -struct name::rebind \ -{ \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - : name< BOOST_MPL_PP_PARAMS(i,U) > \ - { \ - }; \ -/**/ - -#else // __EDG_VERSION__ - -namespace boost { namespace mpl { namespace aux { -template< typename T > struct has_rebind_tag; -}}} - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ - typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ - BOOST_PP_LIST_FOR_EACH_I_R( \ - 1 \ - , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ - , typedef \ - , BOOST_PP_TUPLE_TO_LIST(i,params) \ - ) \ - friend class BOOST_PP_CAT(name,_rebind); \ - typedef BOOST_PP_CAT(name,_rebind) rebind; \ -/**/ - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -template< BOOST_MPL_PP_PARAMS(i,typename T) > \ -::boost::mpl::aux::yes_tag operator|( \ - ::boost::mpl::aux::has_rebind_tag \ - , name* \ - ); \ -::boost::mpl::aux::no_tag operator|( \ - ::boost::mpl::aux::has_rebind_tag \ - , name< BOOST_MPL_PP_ENUM(i,::boost::mpl::na) >* \ - ); \ -/**/ -#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300) -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -template< BOOST_MPL_PP_PARAMS(i,typename T) > \ -::boost::mpl::aux::yes_tag operator|( \ - ::boost::mpl::aux::has_rebind_tag \ - , ::boost::mpl::aux::has_rebind_tag< name >* \ - ); \ -/**/ -#else -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/ -#endif - -# if !defined(__BORLANDC__) -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ -}; \ -BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -class BOOST_PP_CAT(name,_rebind) \ -{ \ - public: \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - : name< BOOST_MPL_PP_PARAMS(i,U) > \ - { \ - }; \ -/**/ -# else -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ -}; \ -BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -class BOOST_PP_CAT(name,_rebind) \ -{ \ - public: \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - { \ - typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \ - }; \ -/**/ -# endif // __BORLANDC__ - -#endif // __EDG_VERSION__ - -#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/largest_int.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/largest_int.hpp deleted file mode 100644 index feaa1ec..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/largest_int.hpp +++ /dev/null @@ -1,63 +0,0 @@ - -#ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED -#define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { namespace aux { - -template< typename T > struct integral_rank; - -template<> struct integral_rank : int_<1> {}; -template<> struct integral_rank : int_<2> {}; -template<> struct integral_rank : int_<3> {}; -template<> struct integral_rank : int_<4> {}; -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) -template<> struct integral_rank : int_<5> {}; -#endif -template<> struct integral_rank : int_<6> {}; -template<> struct integral_rank : int_<7> {}; -template<> struct integral_rank : int_<8> {}; -template<> struct integral_rank : int_<9> {}; -template<> struct integral_rank : int_<10> {}; -template<> struct integral_rank : int_<11> {}; - -#if defined(BOOST_HAS_LONG_LONG) -template<> struct integral_rank : int_<12> {}; -template<> struct integral_rank: int_<13> {}; -#endif - -template< typename T1, typename T2 > struct largest_int -#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) - : if_c< - ( integral_rank::value >= integral_rank::value ) - , T1 - , T2 - > -{ -#else -{ - enum { rank1 = integral_rank::value }; - enum { rank2 = integral_rank::value }; - typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type; -#endif -}; - -}}} - -#endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_eti_base.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_eti_base.hpp deleted file mode 100644 index 0d8ace6..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_eti_base.hpp +++ /dev/null @@ -1,77 +0,0 @@ - -#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED -#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { namespace aux { - -#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) - -template< bool > struct msvc_eti_base_impl -{ - template< typename T > struct result_ - : T - { - typedef T type; - }; -}; - -template<> struct msvc_eti_base_impl -{ - template< typename T > struct result_ - { - typedef result_ type; - typedef result_ first; - typedef result_ second; - typedef result_ tag; - enum { value = 0 }; - }; -}; - -template< typename T > struct msvc_eti_base - : msvc_eti_base_impl< is_msvc_eti_arg::value > - ::template result_ -{ -}; - -#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG - -template< typename T > struct msvc_eti_base - : T -{ -#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) - msvc_eti_base(); -#endif - typedef T type; -}; - -#endif - -template<> struct msvc_eti_base -{ - typedef msvc_eti_base type; - typedef msvc_eti_base first; - typedef msvc_eti_base second; - typedef msvc_eti_base tag; - enum { value = 0 }; -}; - -}}} - -#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_never_true.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_never_true.hpp deleted file mode 100644 index 2df9b81..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/msvc_never_true.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED -#define BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - -namespace boost { namespace mpl { namespace aux { - -template< typename T > -struct msvc_never_true -{ - enum { value = false }; -}; - -}}} - -#endif // BOOST_MSVC - -#endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na.hpp deleted file mode 100644 index f079c1e..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na.hpp +++ /dev/null @@ -1,95 +0,0 @@ - -#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED -#define BOOST_MPL_AUX_NA_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template< typename T > -struct is_na - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -template<> -struct is_na - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template< typename T > -struct is_not_na - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template<> -struct is_not_na - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -template< typename T, typename U > struct if_na -{ - typedef T type; -}; - -template< typename U > struct if_na -{ - typedef U type; -}; -#else -template< typename T > struct if_na_impl -{ - template< typename U > struct apply - { - typedef T type; - }; -}; - -template<> struct if_na_impl -{ - template< typename U > struct apply - { - typedef U type; - }; -}; - -template< typename T, typename U > struct if_na - : if_na_impl::template apply -{ -}; -#endif - -}} - -#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_fwd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_fwd.hpp deleted file mode 100644 index 4388241..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_fwd.hpp +++ /dev/null @@ -1,31 +0,0 @@ - -#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED -#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -// n.a. == not available -struct na -{ - typedef na type; - enum { value = 0 }; -}; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(na) - -#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_spec.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_spec.hpp deleted file mode 100644 index d052fce..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/na_spec.hpp +++ /dev/null @@ -1,175 +0,0 @@ - -#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED -#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include -# include -# include -# include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#define BOOST_MPL_AUX_NA_PARAMS(i) \ - BOOST_MPL_PP_ENUM(i, na) \ -/**/ - -#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ -namespace aux { \ -template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \ -struct arity< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , N \ - > \ - : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \ -{ \ -}; \ -} \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/ -#endif - -#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ -template<> \ -struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \ -{ \ - template< \ - BOOST_MPL_PP_PARAMS(i, typename T) \ - BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \ - > \ - struct apply \ - : name< BOOST_MPL_PP_PARAMS(i, T) > \ - { \ - }; \ -}; \ -/**/ - -#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) -# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -template<> \ -struct lambda< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , void_ \ - , true_ \ - > \ -{ \ - typedef false_ is_le; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ -}; \ -template<> \ -struct lambda< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , void_ \ - , false_ \ - > \ -{ \ - typedef false_ is_le; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ -}; \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -template< typename Tag > \ -struct lambda< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , Tag \ - BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \ - > \ -{ \ - typedef false_ is_le; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ -}; \ -/**/ -#endif - -#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ - || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ - && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) -# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ -namespace aux { \ -template< BOOST_MPL_PP_PARAMS(j, typename T) > \ -struct template_arity< \ - name< BOOST_MPL_PP_PARAMS(j, T) > \ - > \ - : int_ \ -{ \ -}; \ -\ -template<> \ -struct template_arity< \ - name< BOOST_MPL_PP_ENUM(i, na) > \ - > \ - : int_<-1> \ -{ \ -}; \ -} \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/ -#endif - -#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) -# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ -template<> \ -struct name< BOOST_MPL_PP_ENUM(i, int) > \ -{ \ - typedef int type; \ - enum { value = 0 }; \ -}; \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/ -#endif - -#define BOOST_MPL_AUX_NA_PARAM(param) param = na - -#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ -BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ -BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \ -/**/ - -#define BOOST_MPL_AUX_NA_SPEC(i, name) \ -BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ -/**/ - -#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \ -BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ -BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ -/**/ - - -#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nested_type_wknd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nested_type_wknd.hpp deleted file mode 100644 index 4207abd..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nested_type_wknd.hpp +++ /dev/null @@ -1,48 +0,0 @@ - -#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED -#define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) - -namespace boost { namespace mpl { namespace aux { -template< typename T > struct nested_type_wknd - : T::type -{ -}; -}}} - -#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ - aux::nested_type_wknd \ -/**/ -#else -# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ - ::boost::mpl::aux::nested_type_wknd \ -/**/ -#endif - -#else // !BOOST_MPL_CFG_GCC et al. - -# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type - -#endif - -#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nttp_decl.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nttp_decl.hpp deleted file mode 100644 index 8c344d8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/nttp_decl.hpp +++ /dev/null @@ -1,35 +0,0 @@ - -#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED -#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if defined(BOOST_MPL_CFG_NTTP_BUG) - -typedef bool _mpl_nttp_bool; -typedef int _mpl_nttp_int; -typedef unsigned _mpl_nttp_unsigned; -typedef long _mpl_nttp_long; - -# include -# define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/ - -#else - -# define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/ - -#endif - -#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_cast_utils.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_cast_utils.hpp deleted file mode 100644 index a7ac85a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_cast_utils.hpp +++ /dev/null @@ -1,77 +0,0 @@ - -#ifndef BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED -#define BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2003-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -namespace boost { namespace mpl { namespace aux { - -template< - typename F - , typename Tag1 - , typename Tag2 - > -struct cast1st_impl -{ - template< typename N1, typename N2 > struct apply -#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) - : apply_wrap2< - F - , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N1 >::type - , N2 - > - { -#else - { - typedef typename apply_wrap2< - F - , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N1 >::type - , N2 - >::type type; -#endif - }; -}; - -template< - typename F - , typename Tag1 - , typename Tag2 - > -struct cast2nd_impl -{ - template< typename N1, typename N2 > struct apply -#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) - : apply_wrap2< - F - , N1 - , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N2 >::type - > - { -#else - { - typedef typename apply_wrap2< - F - , N1 - , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N2 >::type - >::type type; -#endif - }; -}; - -}}} - -#endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_op.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_op.hpp deleted file mode 100644 index 5492557..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/numeric_op.hpp +++ /dev/null @@ -1,315 +0,0 @@ - -#if !defined(BOOST_PP_IS_ITERATING) - -///// header body - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -#endif - -#include - -#if defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - || defined(BOOST_MPL_PREPROCESSING_MODE) - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# include -# include -# include -# include - - -#if !defined(AUX778076_OP_ARITY) -# define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY -#endif - -#if !defined(AUX778076_OP_IMPL_NAME) -# define AUX778076_OP_IMPL_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_impl) -#endif - -#if !defined(AUX778076_OP_TAG_NAME) -# define AUX778076_OP_TAG_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_tag) -#endif - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct AUX778076_OP_IMPL_NAME - : if_c< - ( tag1_ > tag2_ ) -#else - > -struct AUX778076_OP_IMPL_NAME - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) -#endif - , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME,Tag1,Tag2 > - , aux::cast1st_impl< AUX778076_OP_IMPL_NAME,Tag1,Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct AUX778076_OP_IMPL_NAME -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -template< typename Tag > struct AUX778076_OP_IMPL_NAME -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct AUX778076_OP_IMPL_NAME -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; -#else -template<> struct AUX778076_OP_IMPL_NAME -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct AUX778076_OP_IMPL_NAME -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; -#endif - - -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && BOOST_WORKAROUND(BOOST_MSVC, >= 1300) -template< typename T > struct AUX778076_OP_TAG_NAME - : tag -{ -}; -#else -template< typename T > struct AUX778076_OP_TAG_NAME -{ - typedef typename T::tag type; -}; -#endif - - -#if AUX778076_OP_ARITY != 2 - -# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -# define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , BOOST_PP_CAT(N, BOOST_MPL_PP_ADD(i, 2))> -# define AUX778076_OP_N_CALLS(i, N) \ - BOOST_MPL_PP_REPEAT( BOOST_PP_DEC(i), BOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \ - N1 BOOST_MPL_PP_REPEAT( BOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \ -/**/ - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na) - > -struct AUX778076_OP_NAME - : AUX778076_OP_N_CALLS(AUX778076_OP_ARITY, N) -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - AUX778076_OP_ARITY - , AUX778076_OP_NAME - , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) - ) -}; - -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3,( BOOST_PP_DEC(AUX778076_OP_ARITY), 2, )) -#include BOOST_PP_ITERATE() - -# undef AUX778076_OP_N_CALLS -# undef AUX778076_OP_RIGHT_OPERAND - -# else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -/// forward declaration -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct BOOST_PP_CAT(AUX778076_OP_NAME,2); - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na) - > -struct AUX778076_OP_NAME -#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) - : aux::msvc_eti_base< typename if_< -#else - : if_< -#endif - is_na - , BOOST_PP_CAT(AUX778076_OP_NAME,2) - , AUX778076_OP_NAME< - BOOST_PP_CAT(AUX778076_OP_NAME,2) - , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N) - > - >::type -#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) - > -#endif -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - AUX778076_OP_ARITY - , AUX778076_OP_NAME - , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct BOOST_PP_CAT(AUX778076_OP_NAME,2) - -#endif - -#else // AUX778076_OP_ARITY == 2 - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct AUX778076_OP_NAME - -#endif - -#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) - : AUX778076_OP_IMPL_NAME< - typename AUX778076_OP_TAG_NAME::type - , typename AUX778076_OP_TAG_NAME::type - >::template apply::type -#else - : aux::msvc_eti_base< typename apply_wrap2< - AUX778076_OP_IMPL_NAME< - typename AUX778076_OP_TAG_NAME::type - , typename AUX778076_OP_TAG_NAME::type - > - , N1 - , N2 - >::type >::type -#endif -{ -#if AUX778076_OP_ARITY != 2 - -# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - AUX778076_OP_ARITY - , AUX778076_OP_NAME - , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) ) - ) -# else - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2)) -# endif - -#else - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2)) -#endif -}; - -BOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME) - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -///// iteration, depth == 1 - -// For gcc 4.4 compatability, we must include the -// BOOST_PP_ITERATION_DEPTH test inside an #else clause. -#else // BOOST_PP_IS_ITERATING -#if BOOST_PP_ITERATION_DEPTH() == 1 - -# define i_ BOOST_PP_FRAME_ITERATION(1) - -template< - BOOST_MPL_PP_PARAMS(i_, typename N) - > -struct AUX778076_OP_NAME -#if i_ != 2 - : AUX778076_OP_N_CALLS(i_, N) -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - AUX778076_OP_ARITY - , AUX778076_OP_NAME - , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) ) - ) -}; -#endif - -# undef i_ - -#endif // BOOST_PP_ITERATION_DEPTH() -#endif // BOOST_PP_IS_ITERATING diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/and.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/and.hpp deleted file mode 100644 index 010ad1f..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp deleted file mode 100644 index 34d51a1..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +++ /dev/null @@ -1,84 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - - , typename has_apply_ = typename aux::has_apply::type - - > -struct apply_wrap0 - - : F::template apply< > -{ -}; - -template< typename F > -struct apply_wrap0< F,true_ > - : F::apply -{ -}; - -template< - typename F, typename T1 - - > -struct apply_wrap1 - - : F::template apply -{ -}; - -template< - typename F, typename T1, typename T2 - - > -struct apply_wrap2 - - : F::template apply< T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - - > -struct apply_wrap3 - - : F::template apply< T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - - > -struct apply_wrap4 - - : F::template apply< T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - - > -struct apply_wrap5 - - : F::template apply< T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp deleted file mode 100644 index 62c9945..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/less.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/less.hpp deleted file mode 100644 index 4fe3cd1..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/times.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/times.hpp deleted file mode 100644 index cb97cc4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessed/gcc/times.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/def_params_tail.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/def_params_tail.hpp deleted file mode 100644 index cab3989..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/def_params_tail.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#include -#include -#include -#include - -// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value -// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value -// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include -# include - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \ - i \ - , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \ - , param \ - , value_func \ - ) \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \ - BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v()) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9) - -#else - -# include -# include -# include -# include -# include -# include - -# define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \ - , BOOST_PP_CAT( \ - BOOST_PP_TUPLE_ELEM(3, 1, op) \ - , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \ - ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ - BOOST_PP_REPEAT( \ - BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \ - , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \ - , (i, param, value_func) \ - ) \ - /**/ - - -#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES - -#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ - /**/ - -#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ - /**/ -#else -# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \ - /**/ -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/default_params.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/default_params.hpp deleted file mode 100644 index c3548c6..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/default_params.hpp +++ /dev/null @@ -1,67 +0,0 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): -// BOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int -// BOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int -// BOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include - -# define BOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \ - BOOST_PP_CAT(BOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \ - /**/ - -# define BOOST_MPL_PP_DEFAULT_PARAMS_0(p,v) -# define BOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_6(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_7(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_8(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v -# define BOOST_MPL_PP_DEFAULT_PARAMS_9(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v,p##9=v - -#else - -# include -# include -# include -# include -# include - -# define BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \ - BOOST_PP_COMMA_IF(i) \ - BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(2,0,pv), BOOST_PP_INC(i) ) \ - = BOOST_PP_TUPLE_ELEM(2,1,pv) \ - /**/ - -# define BOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \ - BOOST_PP_REPEAT( \ - n \ - , BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \ - , (param,value) \ - ) \ - /**/ - -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/enum.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/enum.hpp deleted file mode 100644 index 64c5e6a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/enum.hpp +++ /dev/null @@ -1,62 +0,0 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// BOOST_MPL_PP_ENUM(0,int): -// BOOST_MPL_PP_ENUM(1,int): int -// BOOST_MPL_PP_ENUM(2,int): int, int -// BOOST_MPL_PP_ENUM(n,int): int, int, .., int - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include - -# define BOOST_MPL_PP_ENUM(n, param) \ - BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \ - /**/ - -# define BOOST_MPL_PP_ENUM_0(p) -# define BOOST_MPL_PP_ENUM_1(p) p -# define BOOST_MPL_PP_ENUM_2(p) p,p -# define BOOST_MPL_PP_ENUM_3(p) p,p,p -# define BOOST_MPL_PP_ENUM_4(p) p,p,p,p -# define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p -# define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p -# define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p -# define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p -# define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p - -#else - -# include -# include - -# define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \ - BOOST_PP_COMMA_IF(i) param \ - /**/ - -# define BOOST_MPL_PP_ENUM(n, param) \ - BOOST_PP_REPEAT( \ - n \ - , BOOST_MPL_PP_AUX_ENUM_FUNC \ - , param \ - ) \ - /**/ - -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/params.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/params.hpp deleted file mode 100644 index acad321..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/preprocessor/params.hpp +++ /dev/null @@ -1,65 +0,0 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// BOOST_MPL_PP_PARAMS(0,T): -// BOOST_MPL_PP_PARAMS(1,T): T1 -// BOOST_MPL_PP_PARAMS(2,T): T1, T2 -// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include - -# define BOOST_MPL_PP_PARAMS(n,p) \ - BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \ - /**/ - -# define BOOST_MPL_PP_PARAMS_0(p) -# define BOOST_MPL_PP_PARAMS_1(p) p##1 -# define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2 -# define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3 -# define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4 -# define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5 -# define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6 -# define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7 -# define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8 -# define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9 - -#else - -# include -# include -# include -# include - -# define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \ - BOOST_PP_COMMA_IF(i) \ - BOOST_PP_CAT(param, BOOST_PP_INC(i)) \ - /**/ - -# define BOOST_MPL_PP_PARAMS(n, param) \ - BOOST_PP_REPEAT( \ - n \ - , BOOST_MPL_PP_AUX_PARAM_FUNC \ - , param \ - ) \ - /**/ - -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/static_cast.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/static_cast.hpp deleted file mode 100644 index f72d1c7..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/static_cast.hpp +++ /dev/null @@ -1,27 +0,0 @@ - -#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED -#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__GNUC__, < 3) \ - || BOOST_WORKAROUND(__MWERKS__, <= 0x3001) -# define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr) -#else -# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast(expr) -#endif - -#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/template_arity_fwd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/template_arity_fwd.hpp deleted file mode 100644 index 19d63a3..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/template_arity_fwd.hpp +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED -#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -namespace boost { namespace mpl { namespace aux { - -template< typename F > struct template_arity; - -}}} - -#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/type_wrapper.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/type_wrapper.hpp deleted file mode 100644 index f3ac307..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/type_wrapper.hpp +++ /dev/null @@ -1,47 +0,0 @@ - -#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED -#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Peter Dimov 2000-2003 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -namespace boost { namespace mpl { namespace aux { - -template< typename T > struct type_wrapper -{ - typedef T type; -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -// agurt 08/may/03: a complicated way to extract the wrapped type; need it -// mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the -// nested 'type' from 'type_wrapper' when the latter was the result of a -// 'typeof' expression -template< typename T > struct wrapped_type; - -template< typename T > struct wrapped_type< type_wrapper > -{ - typedef T type; -}; -#else -template< typename W > struct wrapped_type -{ - typedef typename W::type type; -}; -#endif - -}}} - -#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/value_wknd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/value_wknd.hpp deleted file mode 100644 index 23fefde..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/value_wknd.hpp +++ /dev/null @@ -1,89 +0,0 @@ - -#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED -#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ - || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) - -# include - -namespace boost { namespace mpl { namespace aux { -template< typename C_ > struct value_wknd - : C_ -{ -}; - -#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) -template<> struct value_wknd - : int_<1> -{ - using int_<1>::value; -}; -#endif -}}} - - -#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) -# define BOOST_MPL_AUX_VALUE_WKND(C) \ - ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \ -/**/ -# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C) -#else -# define BOOST_MPL_AUX_VALUE_WKND(C) C -# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \ - ::boost::mpl::aux::value_wknd< C > \ -/**/ -#endif - -#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS - -# define BOOST_MPL_AUX_VALUE_WKND(C) C -# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C - -#endif - -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) -# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ - BOOST_MPL_AUX_STATIC_CAST(T, C::value) \ -/**/ -#else -# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ - BOOST_MPL_AUX_VALUE_WKND(C)::value \ -/**/ -#endif - - -namespace boost { namespace mpl { namespace aux { - -template< typename T > struct value_type_wknd -{ - typedef typename T::value_type type; -}; - -#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) -template<> struct value_type_wknd -{ - typedef int type; -}; -#endif - -}}} - -#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/yes_no.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/yes_no.hpp deleted file mode 100644 index 21a18a2..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/aux_/yes_no.hpp +++ /dev/null @@ -1,58 +0,0 @@ - -#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED -#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - - -namespace boost { namespace mpl { namespace aux { - -typedef char (&no_tag)[1]; -typedef char (&yes_tag)[2]; - -template< bool C_ > struct yes_no_tag -{ - typedef no_tag type; -}; - -template<> struct yes_no_tag -{ - typedef yes_tag type; -}; - - -template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag -{ -#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - typedef char (&type)[n]; -#else - char buf[n]; - typedef weighted_tag type; -#endif -}; - -#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) -template<> struct weighted_tag<0> -{ - typedef char (&type)[1]; -}; -#endif - -}}} - -#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/bool.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/bool.hpp deleted file mode 100644 index 0a6180c..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/bool.hpp +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef BOOST_MPL_BOOL_HPP_INCLUDED -#define BOOST_MPL_BOOL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< bool C_ > struct bool_ -{ - BOOST_STATIC_CONSTANT(bool, value = C_); - typedef integral_c_tag tag; - typedef bool_ type; - typedef bool value_type; - BOOST_CONSTEXPR operator bool() const { return this->value; } -}; - -#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) -template< bool C_ > -bool const bool_::value; -#endif - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -#endif // BOOST_MPL_BOOL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/bool_fwd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/bool_fwd.hpp deleted file mode 100644 index e629252..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/bool_fwd.hpp +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED -#define BOOST_MPL_BOOL_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< bool C_ > struct bool_; - -// shorcuts -typedef bool_ true_; -typedef bool_ false_; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_) -BOOST_MPL_AUX_ADL_BARRIER_DECL(true_) -BOOST_MPL_AUX_ADL_BARRIER_DECL(false_) - -#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/equal_to.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/equal_to.hpp deleted file mode 100644 index 5dfc87d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/equal_to.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED -#define BOOST_MPL_EQUAL_TO_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME equal_to -#define AUX778076_OP_TOKEN == -#include - -#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/eval_if.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/eval_if.hpp deleted file mode 100644 index e892703..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/eval_if.hpp +++ /dev/null @@ -1,71 +0,0 @@ - -#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED -#define BOOST_MPL_EVAL_IF_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(C) - , typename BOOST_MPL_AUX_NA_PARAM(F1) - , typename BOOST_MPL_AUX_NA_PARAM(F2) - > -struct eval_if -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ - && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ - ) -{ - typedef typename if_::type f_; - typedef typename f_::type type; -#else - : if_::type -{ -#endif - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2)) -}; - -// (almost) copy & paste in order to save one more -// recursively nested template instantiation to user -template< - bool C - , typename F1 - , typename F2 - > -struct eval_if_c -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ - && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ - ) -{ - typedef typename if_c::type f_; - typedef typename f_::type type; -#else - : if_c::type -{ -#endif -}; - -BOOST_MPL_AUX_NA_SPEC(3, eval_if) - -}} - -#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/has_xxx.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/has_xxx.hpp deleted file mode 100644 index 82e67dd..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/has_xxx.hpp +++ /dev/null @@ -1,647 +0,0 @@ - -#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED -#define BOOST_MPL_HAS_XXX_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2006 -// Copyright David Abrahams 2002-2003 -// Copyright Daniel Walker 2007 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) ) -# include -#endif - -#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) - -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - -// agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET -// newsgroup's posting by John Madsen (comp.lang.c++.moderated, -// 1999-11-12 19:17:06 GMT); the code is _not_ standard-conforming, but -// it works way more reliably than the SFINAE-based implementation - -// Modified dwa 8/Oct/02 to handle reference types. - -# include -# include - -namespace boost { namespace mpl { namespace aux { - -struct has_xxx_tag; - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) -template< typename U > struct msvc_incomplete_array -{ - typedef char (&type)[sizeof(U) + 1]; -}; -#endif - -template< typename T > -struct msvc_is_incomplete -{ - // MSVC is capable of some kinds of SFINAE. If U is an incomplete - // type, it won't pick the second overload - static char tester(...); - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) - template< typename U > - static typename msvc_incomplete_array::type tester(type_wrapper); -#else - template< typename U > - static char (& tester(type_wrapper) )[sizeof(U)+1]; -#endif - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(tester(type_wrapper())) == 1 - ); -}; - -template<> -struct msvc_is_incomplete -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -}}} - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \ -template< typename T, typename name = ::boost::mpl::aux::has_xxx_tag > \ -struct BOOST_PP_CAT(trait,_impl) : T \ -{ \ - static boost::mpl::aux::no_tag \ - test(void(*)(::boost::mpl::aux::has_xxx_tag)); \ - \ - static boost::mpl::aux::yes_tag test(...); \ - \ - BOOST_STATIC_CONSTANT(bool, value = \ - sizeof(test(static_cast(0))) \ - != sizeof(boost::mpl::aux::no_tag) \ - ); \ - typedef boost::mpl::bool_ type; \ -}; \ -\ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ - : boost::mpl::if_c< \ - boost::mpl::aux::msvc_is_incomplete::value \ - , boost::mpl::bool_ \ - , BOOST_PP_CAT(trait,_impl) \ - >::type \ -{ \ -}; \ -\ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \ -/**/ - -# define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \ -template<> struct trait \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = false); \ - typedef boost::mpl::bool_ type; \ -}; \ -/**/ - -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ - BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \ -/**/ -#else -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ -/**/ -#endif - - -// SFINAE-based implementations below are derived from a USENET newsgroup's -// posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST) - -# elif BOOST_WORKAROUND(BOOST_MSVC, <= 1400) \ - || (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1800)) && defined(__CUDACC__)) \ - || BOOST_WORKAROUND(__IBMCPP__, <= 700) - -// MSVC 7.1 & MSVC 8.0 & VACPP - -// agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE -// applied to partial specialization to fix some apparently random failures -// (thanks to Daniel Wallin for researching this!) - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ -template< typename T > \ -struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \ -{ \ - typedef void type; \ -};\ -\ -template< typename T, typename U = void > \ -struct BOOST_PP_CAT(trait,_impl_) \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = false); \ - typedef boost::mpl::bool_ type; \ -}; \ -\ -template< typename T > \ -struct BOOST_PP_CAT(trait,_impl_)< \ - T \ - , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \ - > \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = true); \ - typedef boost::mpl::bool_ type; \ -}; \ -\ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ - : BOOST_PP_CAT(trait,_impl_) \ -{ \ -}; \ -/**/ - -# elif BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) ) - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \ -template< typename T, bool IS_CLASS > \ -struct trait_tester \ -{ \ - BOOST_STATIC_CONSTANT( bool, value = false ); \ -}; \ -template< typename T > \ -struct trait_tester< T, true > \ -{ \ - struct trait_tester_impl \ - { \ - template < class U > \ - static int resolve( boost::mpl::aux::type_wrapper const volatile * \ - , boost::mpl::aux::type_wrapper* = 0 ); \ - static char resolve( ... ); \ - }; \ - typedef boost::mpl::aux::type_wrapper t_; \ - BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \ -}; \ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ -{ \ - BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, boost::is_class< T >::value >::value) ); \ - typedef boost::mpl::bool_< trait< T, fallback_ >::value > type; \ -}; - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \ - , BOOST_PP_CAT(trait,_tester) \ - , name \ - , default_ ) \ -/**/ - -# else // other SFINAE-capable compilers - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ -{ \ - struct gcc_3_2_wknd \ - { \ - template< typename U > \ - static boost::mpl::aux::yes_tag test( \ - boost::mpl::aux::type_wrapper const volatile* \ - , boost::mpl::aux::type_wrapper* = 0 \ - ); \ - \ - static boost::mpl::aux::no_tag test(...); \ - }; \ - \ - typedef boost::mpl::aux::type_wrapper t_; \ - BOOST_STATIC_CONSTANT(bool, value = \ - sizeof(gcc_3_2_wknd::test(static_cast(0))) \ - == sizeof(boost::mpl::aux::yes_tag) \ - ); \ - typedef boost::mpl::bool_ type; \ -}; \ -/**/ - -# endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - - -#else // BOOST_MPL_CFG_NO_HAS_XXX - -// placeholder implementation - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \ - typedef fallback_ type; \ -}; \ -/**/ - -#endif - -#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \ -/**/ - - -#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE) - -// Create a boolean Metafunction to detect a nested template -// member. This implementation is based on a USENET newsgroup's -// posting by Aleksey Gurtovoy (comp.lang.c++.moderated, 2002-03-19), -// Rani Sharoni's USENET posting cited above, the non-template has_xxx -// implementations above, and discussion on the Boost mailing list. - -# if !defined(BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES) -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 1 -# else -# define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 0 -# endif -# endif - -# if !defined(BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION) -# if (defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)) -# define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 1 -# else -# define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 0 -# endif -# endif - -# if !defined(BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE) -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 1 -# else -# define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 0 -# endif -# endif - -// NOTE: Many internal implementation macros take a Boost.Preprocessor -// array argument called args which is of the following form. -// ( 4, ( trait, name, max_arity, default_ ) ) - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \ - BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _introspect) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ - BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) \ - BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _test) \ - /**/ - -// Thanks to Guillaume Melquiond for pointing out the need for the -// "substitute" template as an argument to the overloaded test -// functions to get SFINAE to work for member templates with the -// correct name but different number of arguments. -# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE(z, n, args) \ - template< \ - template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename V) > class V \ - > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) { \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE \ - , args \ - ) \ - /**/ - -# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION -# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ - template< typename V > \ - static boost::mpl::aux::no_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ - static boost::mpl::aux::no_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \ - /**/ -# endif - -# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES -# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT(z, n, args) \ - template< typename V > \ - static boost::mpl::aux::yes_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - boost::mpl::aux::type_wrapper< V > const volatile* \ - , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) < \ - V::template BOOST_PP_ARRAY_ELEM(1, args) \ - >* = 0 \ - ); \ - /**/ -# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT \ - , args \ - ) \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ - template< typename V > \ - static boost::mpl::aux::yes_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - V const volatile* \ - , member_macro(args, V, T)* = 0 \ - ); \ - /**/ -# endif - -# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION -# define BOOST_MPL_HAS_MEMBER_TEST(args) \ - sizeof(BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U >(0)) \ - == sizeof(boost::mpl::aux::yes_tag) \ - /**/ -# else -# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES -# define BOOST_MPL_HAS_MEMBER_TEST(args) \ - sizeof( \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - static_cast< boost::mpl::aux::type_wrapper< U >* >(0) \ - ) \ - ) == sizeof(boost::mpl::aux::yes_tag) \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_TEST(args) \ - sizeof( \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - static_cast< U* >(0) \ - ) \ - ) == sizeof(boost::mpl::aux::yes_tag) \ - /**/ -# endif -# endif - -# define BOOST_MPL_HAS_MEMBER_INTROSPECT( \ - args, substitute_macro, member_macro \ - ) \ - template< typename U > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) { \ - BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \ - BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ - BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ - BOOST_STATIC_CONSTANT( \ - bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \ - ); \ - typedef boost::mpl::bool_< value > type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ - args, introspect_macro, substitute_macro, member_macro \ - ) \ - template< \ - typename T \ - , typename fallback_ \ - = boost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \ - > \ - class BOOST_PP_ARRAY_ELEM(0, args) { \ - introspect_macro(args, substitute_macro, member_macro) \ - public: \ - static const bool value \ - = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< T >::value; \ - typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< \ - T \ - >::type type; \ - }; \ - /**/ - -// BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE expands to the full -// implementation of the function-based metafunction. Compile with -E -// to see the preprocessor output for this macro. -# define BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \ - args, substitute_macro, member_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ - args \ - , BOOST_MPL_HAS_MEMBER_INTROSPECT \ - , substitute_macro \ - , member_macro \ - ) \ - /**/ - -# if BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE - -# if !defined(BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE) -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE 1 -# endif -# endif - -# if !BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - ) \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - ) \ - BOOST_PP_CAT( \ - boost_mpl_has_xxx_ \ - , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ - ) \ - /**/ -# endif - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME( \ - args \ - ) \ - BOOST_PP_CAT( \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, 0 \ - ) \ - , _tag \ - ) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ - z, n, args \ - ) \ - template< \ - template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename U) > class U \ - > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - ) { \ - typedef \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \ - type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro \ - ) \ - typedef void \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE \ - , args \ - ) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE( \ - args, member_macro \ - ) \ - template< \ - typename U \ - , typename V \ - = BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \ - > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) { \ - BOOST_STATIC_CONSTANT(bool, value = false); \ - typedef boost::mpl::bool_< value > type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE( \ - z, n, args \ - ) \ - template< typename U > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< \ - U \ - , typename \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - )< \ - BOOST_MSVC_TYPENAME U::BOOST_PP_ARRAY_ELEM(1, args)< > \ - >::type \ - > { \ - BOOST_STATIC_CONSTANT(bool, value = true); \ - typedef boost::mpl::bool_< value > type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE( \ - args, member_macro \ - ) \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE \ - , args \ - ) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro, member_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args, member_macro) \ - BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args, member_macro) \ - template< typename U > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \ - : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U > { \ - }; \ - /**/ - -// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE expands to the full -// implementation of the template-based metafunction. Compile with -E -// to see the preprocessor output for this macro. -// -// Note that if BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE is -// defined BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE needs -// to be expanded at namespace level before -// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE can be used. -# define BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro, member_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ - args \ - , BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \ - , substitute_macro \ - , member_macro \ - ) \ - /**/ - -# endif // BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE - -// Note: In the current implementation the parameter and access macros -// are no longer expanded. -# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ - BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \ - ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \ - ) \ - /**/ -# else -# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ - BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \ - ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \ - ) \ - /**/ -# endif - -#else // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE - -// placeholder implementation - -# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ - template< typename T \ - , typename fallback_ = boost::mpl::bool_< default_ > > \ - struct trait { \ - BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \ - typedef fallback_ type; \ - }; \ - /**/ - -#endif // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE - -# define BOOST_MPL_HAS_XXX_TEMPLATE_DEF(name) \ - BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF( \ - BOOST_PP_CAT(has_, name), name, false \ - ) \ - /**/ - -#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/identity.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/identity.hpp deleted file mode 100644 index 190d2f5..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/identity.hpp +++ /dev/null @@ -1,45 +0,0 @@ - -#ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED -#define BOOST_MPL_IDENTITY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T) - > -struct identity -{ - typedef T type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T)) -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(T) - > -struct make_identity -{ - typedef identity type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T)) -}; - -BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity) -BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity) - -}} - -#endif // BOOST_MPL_IDENTITY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/if.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/if.hpp deleted file mode 100644 index 3b0ae19..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/if.hpp +++ /dev/null @@ -1,135 +0,0 @@ - -#ifndef BOOST_MPL_IF_HPP_INCLUDED -#define BOOST_MPL_IF_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< - bool C - , typename T1 - , typename T2 - > -struct if_c -{ - typedef T1 type; -}; - -template< - typename T1 - , typename T2 - > -struct if_c -{ - typedef T2 type; -}; - -// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars -// (and possibly MWCW < 8.0); see https://lists.boost.org/Archives/boost/2004/09/71383.php -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename BOOST_MPL_AUX_NA_PARAM(T3) - > -struct if_ -{ - private: - // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC - typedef if_c< -#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) - BOOST_MPL_AUX_VALUE_WKND(T1)::value -#else - BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value) -#endif - , T2 - , T3 - > almost_type_; - - public: - typedef typename almost_type_::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3)) -}; - -#else - -// no partial class template specialization - -namespace aux { - -template< bool C > -struct if_impl -{ - template< typename T1, typename T2 > struct result_ - { - typedef T1 type; - }; -}; - -template<> -struct if_impl -{ - template< typename T1, typename T2 > struct result_ - { - typedef T2 type; - }; -}; - -} // namespace aux - -template< - bool C_ - , typename T1 - , typename T2 - > -struct if_c -{ - typedef typename aux::if_impl< C_ > - ::template result_::type type; -}; - -// (almost) copy & paste in order to save one more -// recursively nested template instantiation to user -template< - typename BOOST_MPL_AUX_NA_PARAM(C_) - , typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct if_ -{ - enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value }; - - typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) > - ::template result_::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2)) -}; - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -BOOST_MPL_AUX_NA_SPEC(3, if_) - -}} - -#endif // BOOST_MPL_IF_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/int.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/int.hpp deleted file mode 100644 index b7fa0a7..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/int.hpp +++ /dev/null @@ -1,22 +0,0 @@ - -#ifndef BOOST_MPL_INT_HPP_INCLUDED -#define BOOST_MPL_INT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#define AUX_WRAPPER_VALUE_TYPE int -#include - -#endif // BOOST_MPL_INT_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/int_fwd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/int_fwd.hpp deleted file mode 100644 index 03d20c1..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/int_fwd.hpp +++ /dev/null @@ -1,27 +0,0 @@ - -#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED -#define BOOST_MPL_INT_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(int_) - -#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c.hpp deleted file mode 100644 index 7a692dc..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c.hpp +++ /dev/null @@ -1,51 +0,0 @@ - -#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED -#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2006 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -#if BOOST_WORKAROUND(__HP_aCC, <= 53800) -// the type of non-type template arguments may not depend on template arguments -# define AUX_WRAPPER_PARAMS(N) typename T, long N -#else -# define AUX_WRAPPER_PARAMS(N) typename T, T N -#endif - -#define AUX_WRAPPER_NAME integral_c -#define AUX_WRAPPER_VALUE_TYPE T -#define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value > -#include - - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551) -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -// 'bool' constant doesn't have 'next'/'prior' members -template< bool C > -struct integral_c -{ - BOOST_STATIC_CONSTANT(bool, value = C); - typedef integral_c_tag tag; - typedef integral_c type; - typedef bool value_type; - operator bool() const { return this->value; } -}; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -#endif - -#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_fwd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_fwd.hpp deleted file mode 100644 index 05e311d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_fwd.hpp +++ /dev/null @@ -1,32 +0,0 @@ - -#ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED -#define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2006 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -#if BOOST_WORKAROUND(__HP_aCC, <= 53800) -// the type of non-type template arguments may not depend on template arguments -template< typename T, long N > struct integral_c; -#else -template< typename T, T N > struct integral_c; -#endif - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c) - -#endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_tag.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_tag.hpp deleted file mode 100644 index b604692..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/integral_c_tag.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED -#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - - -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); }; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag) - -#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/lambda_fwd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/lambda_fwd.hpp deleted file mode 100644 index 57b0426..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/lambda_fwd.hpp +++ /dev/null @@ -1,57 +0,0 @@ - -#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED -#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) - -# include -# include -# include - -namespace boost { namespace mpl { - -template< - typename T = na - , typename Tag = void_ - BOOST_MPL_AUX_LAMBDA_ARITY_PARAM( - typename Arity = int_< aux::template_arity::value > - ) - > -struct lambda; - -}} - -#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -# include - -namespace boost { namespace mpl { - -template< - typename T = na - , typename Tag = void_ - , typename Protect = true_ - > -struct lambda; - -}} - -#endif - -#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/less.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/less.hpp deleted file mode 100644 index 63da5aa..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/less.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_LESS_HPP_INCLUDED -#define BOOST_MPL_LESS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME less -#define AUX778076_OP_TOKEN < -#include - -#endif // BOOST_MPL_LESS_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/limits/arity.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/limits/arity.hpp deleted file mode 100644 index 8c3eb36..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/limits/arity.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED -#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) -# define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5 -#endif - -#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/multiplies.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/multiplies.hpp deleted file mode 100644 index 53c39d9..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/multiplies.hpp +++ /dev/null @@ -1,53 +0,0 @@ - -#ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED -#define BOOST_MPL_MULTIPLIES_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -// backward compatibility header, deprecated - -namespace boost { namespace mpl { - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -# define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY -#else -# define AUX778076_OP_ARITY 2 -#endif - -template< - BOOST_MPL_PP_DEFAULT_PARAMS(AUX778076_OP_ARITY, typename N, na) - > -struct multiplies - : times< BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - AUX778076_OP_ARITY - , multiplies - , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(AUX778076_OP_ARITY, multiplies) - -#undef AUX778076_OP_ARITY - -}} - -#endif // BOOST_MPL_MULTIPLIES_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/not.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/not.hpp deleted file mode 100644 index d5f6025..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/not.hpp +++ /dev/null @@ -1,51 +0,0 @@ - -#ifndef BOOST_MPL_NOT_HPP_INCLUDED -#define BOOST_MPL_NOT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -namespace aux { - -template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here -struct not_impl - : bool_ -{ -}; - -} // namespace aux - - -template< - typename BOOST_MPL_AUX_NA_PARAM(T) - > -struct not_ - : aux::not_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T)) -}; - -BOOST_MPL_AUX_NA_SPEC(1,not_) - -}} - -#endif // BOOST_MPL_NOT_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/numeric_cast.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/numeric_cast.hpp deleted file mode 100644 index 6541470..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/numeric_cast.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -#ifndef BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED -#define BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2003-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// agurt 21/sep/04: portability macro for the sake of MSVC 6.x-7.0; -// resolves conflicts with 'boost::numeric_cast' function template. -// use it in your own code _only_ if you care about compatibility with -// these outdated compilers! -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) ) -# define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast_ -#else -# define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast -#endif - -namespace boost { namespace mpl { - -// no default implementation; the definition is needed to make MSVC happy - -template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_CAST -{ - template< typename N > struct apply; -}; - -}} - -#endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/tag.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/tag.hpp deleted file mode 100644 index 8586277..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/tag.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -#ifndef BOOST_MPL_TAG_HPP_INCLUDED -#define BOOST_MPL_TAG_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { - -namespace aux { -template< typename T > struct tag_impl -{ - typedef typename T::tag type; -}; -} - -template< typename T, typename Default = void_ > struct tag -#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) - : if_< - aux::has_tag - , aux::tag_impl - , Default - >::type -{ -#else -{ - typedef typename eval_if< - aux::has_tag - , aux::tag_impl - , Default - >::type type; - -#endif -}; - -}} - -#endif // BOOST_MPL_TAG_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/times.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/times.hpp deleted file mode 100644 index f309557..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/times.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_TIMES_HPP_INCLUDED -#define BOOST_MPL_TIMES_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#define AUX778076_OP_NAME times -#define AUX778076_OP_TOKEN * -#include - -#endif // BOOST_MPL_TIMES_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/void.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/void.hpp deleted file mode 100644 index 3dcbdd1..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/void.hpp +++ /dev/null @@ -1,76 +0,0 @@ - -#ifndef BOOST_MPL_VOID_HPP_INCLUDED -#define BOOST_MPL_VOID_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -// [JDG Feb-4-2003] made void_ a complete type to allow it to be -// instantiated so that it can be passed in as an object that can be -// used to select an overloaded function. Possible use includes signaling -// a zero arity functor evaluation call. -struct void_ { typedef void_ type; }; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -namespace boost { namespace mpl { - -template< typename T > -struct is_void_ - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -template<> -struct is_void_ - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template< typename T > -struct is_not_void_ - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template<> -struct is_not_void_ - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -BOOST_MPL_AUX_NA_SPEC(1, is_void_) -BOOST_MPL_AUX_NA_SPEC(1, is_not_void_) - -}} - -#endif // BOOST_MPL_VOID_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/void_fwd.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/void_fwd.hpp deleted file mode 100644 index 86078b5..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/mpl/void_fwd.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED -#define BOOST_MPL_VOID_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -struct void_; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(void_) - -#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/bounds.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/bounds.hpp deleted file mode 100644 index e4c7c7d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/bounds.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP - -#include "boost/numeric/conversion/detail/bounds.hpp" - -namespace boost { namespace numeric -{ - -template -struct bounds : boundsdetail::get_impl::type -{} ; - -} } // namespace boost::numeric - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/cast.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/cast.hpp deleted file mode 100644 index 61286c1..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/cast.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -// -// Revision History -// -// 19 Nov 2001 Syntatic changes as suggested by Darin Adler (Fernando Cacciola) -// 08 Nov 2001 Fixes to accommodate MSVC (Fernando Cacciola) -// 04 Nov 2001 Fixes to accommodate gcc2.92 (Fernando Cacciola) -// 30 Oct 2001 Some fixes suggested by Daryle Walker (Fernando Cacciola) -// 25 Oct 2001 Initial boostification (Fernando Cacciola) -// 23 Jan 2004 Inital add to cvs (post review)s -// 22 Jun 2011 Added support for specializing cast policies via numeric_cast_traits (Brandon Kohn). -// -#ifndef BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP -#define BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP - -#include - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) - -# include - -#else - -#include -#include -#include - -namespace boost -{ - template - inline Target numeric_cast( Source arg ) - { - typedef numeric::conversion_traits conv_traits; - typedef numeric::numeric_cast_traits cast_traits; - typedef boost::numeric::converter - < - Target, - Source, - conv_traits, - typename cast_traits::overflow_policy, - typename cast_traits::rounding_policy, - boost::numeric::raw_converter< conv_traits >, - typename cast_traits::range_checking_policy - > converter; - return converter::convert(arg); - } - - using numeric::bad_numeric_cast; -} // namespace boost - -#endif - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/conversion_traits.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/conversion_traits.hpp deleted file mode 100644 index 23e0eb8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/conversion_traits.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP - -#include "boost/numeric/conversion/detail/conversion_traits.hpp" -#include "boost/detail/workaround.hpp" -#include "boost/config.hpp" - -namespace boost { namespace numeric -{ - -template -struct conversion_traits - : convdetail::get_conversion_traits::type -{ -} ; - -} } // namespace boost::numeric - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter.hpp deleted file mode 100644 index 331cadd..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP - -#include "boost/numeric/conversion/conversion_traits.hpp" -#include "boost/numeric/conversion/converter_policies.hpp" - -#include "boost/numeric/conversion/detail/converter.hpp" - -namespace boost { namespace numeric -{ - -template, - class OverflowHandler = def_overflow_handler, - class Float2IntRounder = Trunc< BOOST_DEDUCED_TYPENAME Traits::source_type> , - class RawConverter = raw_converter, - class UserRangeChecker = UseInternalRangeChecker - > -struct converter : convdetail::get_converter_impl::type -{ - typedef Traits traits ; - - typedef typename Traits::argument_type argument_type ; - typedef typename Traits::result_type result_type ; - - result_type operator() ( argument_type s ) const { return this->convert(s) ; } -} ; - - - -template , - class UserRangeChecker = UseInternalRangeChecker - > -struct make_converter_from -{ - template, - class RawConverter = raw_converter - > - struct to - { - typedef converter type ; - } ; - -} ; - -} } // namespace boost::numeric - -#endif - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter_policies.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter_policies.hpp deleted file mode 100644 index 1619d64..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/converter_policies.hpp +++ /dev/null @@ -1,195 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP - -#include // for std::bad_cast - -#include -#include // for std::floor and std::ceil -#include - -#include - -#include "boost/type_traits/is_arithmetic.hpp" - -#include "boost/mpl/if.hpp" -#include "boost/mpl/integral_c.hpp" - -namespace boost { namespace numeric -{ - -template -struct Trunc -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; - - static source_type nearbyint ( argument_type s ) - { -#if !defined(BOOST_NO_STDC_NAMESPACE) - using std::floor ; - using std::ceil ; -#endif - - return s < static_cast(0) ? ceil(s) : floor(s) ; - } - - typedef mpl::integral_c< std::float_round_style, std::round_toward_zero> round_style ; -} ; - - - -template -struct Floor -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; - - static source_type nearbyint ( argument_type s ) - { -#if !defined(BOOST_NO_STDC_NAMESPACE) - using std::floor ; -#endif - - return floor(s) ; - } - - typedef mpl::integral_c< std::float_round_style, std::round_toward_neg_infinity> round_style ; -} ; - -template -struct Ceil -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; - - static source_type nearbyint ( argument_type s ) - { -#if !defined(BOOST_NO_STDC_NAMESPACE) - using std::ceil ; -#endif - - return ceil(s) ; - } - - typedef mpl::integral_c< std::float_round_style, std::round_toward_infinity> round_style ; -} ; - -template -struct RoundEven -{ - typedef S source_type ; - - typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; - - static source_type nearbyint ( argument_type s ) - { - // Algorithm contributed by Guillaume Melquiond - -#if !defined(BOOST_NO_STDC_NAMESPACE) - using std::floor ; - using std::ceil ; -#endif - - // only works inside the range not at the boundaries - S prev = floor(s); - S next = ceil(s); - - S rt = (s - prev) - (next - s); // remainder type - - S const zero(0.0); - S const two(2.0); - - if ( rt < zero ) - return prev; - else if ( rt > zero ) - return next; - else - { - bool is_prev_even = two * floor(prev / two) == prev ; - return ( is_prev_even ? prev : next ) ; - } - } - - typedef mpl::integral_c< std::float_round_style, std::round_to_nearest> round_style ; -} ; - - -enum range_check_result -{ - cInRange = 0 , - cNegOverflow = 1 , - cPosOverflow = 2 -} ; - -class bad_numeric_cast : public std::bad_cast -{ - public: - - virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW - { return "bad numeric conversion: overflow"; } -}; - -class negative_overflow : public bad_numeric_cast -{ - public: - - virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW - { return "bad numeric conversion: negative overflow"; } -}; -class positive_overflow : public bad_numeric_cast -{ - public: - - virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW - { return "bad numeric conversion: positive overflow"; } -}; - -struct def_overflow_handler -{ - void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow) - { -#ifndef BOOST_NO_EXCEPTIONS - if ( r == cNegOverflow ) - throw negative_overflow() ; - else if ( r == cPosOverflow ) - throw positive_overflow() ; -#else - if ( r == cNegOverflow ) - ::boost::throw_exception(negative_overflow()) ; - else if ( r == cPosOverflow ) - ::boost::throw_exception(positive_overflow()) ; -#endif - } -} ; - -struct silent_overflow_handler -{ - void operator() ( range_check_result ) {} // throw() -} ; - -template -struct raw_converter -{ - typedef typename Traits::result_type result_type ; - typedef typename Traits::argument_type argument_type ; - - static result_type low_level_convert ( argument_type s ) { return static_cast(s) ; } -} ; - -struct UseInternalRangeChecker {} ; - -} } // namespace boost::numeric - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/bounds.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/bounds.hpp deleted file mode 100644 index 67342b8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/bounds.hpp +++ /dev/null @@ -1,58 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP - -#include "boost/limits.hpp" -#include "boost/config.hpp" -#include "boost/mpl/if.hpp" - -namespace boost { namespace numeric { namespace boundsdetail -{ - template - class Integral - { - typedef std::numeric_limits limits ; - - public : - - static N lowest () { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); } - static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); } - static N smallest() { return static_cast(1); } - } ; - - template - class Float - { - typedef std::numeric_limits limits ; - - public : - - static N lowest () { return static_cast(-limits::max BOOST_PREVENT_MACRO_SUBSTITUTION ()) ; } - static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); } - static N smallest() { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); } - } ; - - template - struct get_impl - { - typedef mpl::bool_< ::std::numeric_limits::is_integer > is_int ; - - typedef Integral impl_int ; - typedef Float impl_float ; - - typedef typename mpl::if_::type type ; - } ; - -} } } // namespace boost::numeric::boundsdetail. - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/conversion_traits.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/conversion_traits.hpp deleted file mode 100644 index ed25349..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/conversion_traits.hpp +++ /dev/null @@ -1,97 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP - -#include "boost/type_traits/is_arithmetic.hpp" -#include "boost/type_traits/is_same.hpp" -#include "boost/type_traits/remove_cv.hpp" - -#include "boost/numeric/conversion/detail/meta.hpp" -#include "boost/numeric/conversion/detail/int_float_mixture.hpp" -#include "boost/numeric/conversion/detail/sign_mixture.hpp" -#include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp" -#include "boost/numeric/conversion/detail/is_subranged.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - //------------------------------------------------------------------- - // Implementation of the Conversion Traits for T != S - // - // This is a VISIBLE base class of the user-level conversion_traits<> class. - //------------------------------------------------------------------- - template - struct non_trivial_traits_impl - { - typedef typename get_int_float_mixture ::type int_float_mixture ; - typedef typename get_sign_mixture ::type sign_mixture ; - typedef typename get_udt_builtin_mixture ::type udt_builtin_mixture ; - - typedef typename get_is_subranged::type subranged ; - - typedef mpl::false_ trivial ; - - typedef T target_type ; - typedef S source_type ; - typedef T result_type ; - - typedef typename mpl::if_< is_arithmetic, S, S const&>::type argument_type ; - - typedef typename mpl::if_::type supertype ; - typedef typename mpl::if_::type subtype ; - } ; - - //------------------------------------------------------------------- - // Implementation of the Conversion Traits for T == S - // - // This is a VISIBLE base class of the user-level conversion_traits<> class. - //------------------------------------------------------------------- - template - struct trivial_traits_impl - { - typedef typename get_int_float_mixture ::type int_float_mixture ; - typedef typename get_sign_mixture ::type sign_mixture ; - typedef typename get_udt_builtin_mixture::type udt_builtin_mixture ; - - typedef mpl::false_ subranged ; - typedef mpl::true_ trivial ; - - typedef N target_type ; - typedef N source_type ; - typedef N const& result_type ; - typedef N const& argument_type ; - - typedef N supertype ; - typedef N subtype ; - - } ; - - //------------------------------------------------------------------- - // Top level implementation selector. - //------------------------------------------------------------------- - template - struct get_conversion_traits - { - typedef typename remove_cv::type target_type ; - typedef typename remove_cv::type source_type ; - - typedef typename is_same::type is_trivial ; - - typedef trivial_traits_impl trivial_imp ; - typedef non_trivial_traits_impl non_trivial_imp ; - - typedef typename mpl::if_::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/converter.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/converter.hpp deleted file mode 100644 index f7bf7b4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/converter.hpp +++ /dev/null @@ -1,593 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP - -#include - -#include "boost/numeric/conversion/detail/meta.hpp" -#include "boost/numeric/conversion/detail/conversion_traits.hpp" -#include "boost/numeric/conversion/bounds.hpp" - -#include "boost/type_traits/is_same.hpp" - -#include "boost/mpl/integral_c.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - // Integral Constants representing rounding modes - typedef mpl::integral_c round2zero_c ; - typedef mpl::integral_c round2nearest_c ; - typedef mpl::integral_c round2inf_c ; - typedef mpl::integral_c round2neg_inf_c ; - - // Metafunction: - // - // for_round_style::type - // - // {RoundStyle} Integral Constant specifying a round style as declared above. - // {RoundToZero,RoundToNearest,RoundToInf,RoundToNegInf} arbitrary types. - // - // Selects one of the 4 types according to the value of RoundStyle. - // - template - struct for_round_style - { - typedef ct_switch4 selector ; - - typedef typename selector::type type ; - } ; - - - - - - - - - - - - - - - - - - -//-------------------------------------------------------------------------- -// Range Checking Logic. -// -// The range checking logic is built up by combining 1 or 2 predicates. -// Each predicate is encapsulated in a template class and exposes -// the static member function 'apply'. -// -//-------------------------------------------------------------------------- - - - // Because a particular logic can combine either 1 or two predicates, the following - // tags are used to allow the predicate applier to receive 2 preds, but optimize away - // one of them if it is 'non-applicable' - struct non_applicable { typedef mpl::false_ do_apply ; } ; - struct applicable { typedef mpl::true_ do_apply ; } ; - - - //-------------------------------------------------------------------------- - // - // Range Checking Logic implementations. - // - // The following classes, collectivelly named 'Predicates', are instantiated within - // the corresponding range checkers. - // Their static member function 'apply' is called to perform the actual range checking logic. - //-------------------------------------------------------------------------- - - // s < Lowest(T) ? cNegOverflow : cInRange - // - template - struct LT_LoT : applicable - { - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - typedef typename Traits::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - return s < static_cast(bounds::lowest()) ? cNegOverflow : cInRange ; - } - } ; - - // s < 0 ? cNegOverflow : cInRange - // - template - struct LT_Zero : applicable - { - typedef typename Traits::source_type S ; - typedef typename Traits::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - return s < static_cast(0) ? cNegOverflow : cInRange ; - } - } ; - - // s <= Lowest(T)-1 ? cNegOverflow : cInRange - // - template - struct LE_PrevLoT : applicable - { - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - typedef typename Traits::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - return s <= static_cast(bounds::lowest()) - static_cast(1.0) - ? cNegOverflow : cInRange ; - } - } ; - - // s < Lowest(T)-0.5 ? cNegOverflow : cInRange - // - template - struct LT_HalfPrevLoT : applicable - { - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - typedef typename Traits::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - return s < static_cast(bounds::lowest()) - static_cast(0.5) - ? cNegOverflow : cInRange ; - } - } ; - - // s > Highest(T) ? cPosOverflow : cInRange - // - template - struct GT_HiT : applicable - { - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - typedef typename Traits::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - return s > static_cast(bounds::highest()) - ? cPosOverflow : cInRange ; - } - } ; - - // s >= Lowest(T) + 1 ? cPosOverflow : cInRange - // - template - struct GE_SuccHiT : applicable - { - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - typedef typename Traits::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - return s >= static_cast(bounds::highest()) + static_cast(1.0) - ? cPosOverflow : cInRange ; - } - } ; - - // s >= Lowest(T) + 0.5 ? cPosgOverflow : cInRange - // - template - struct GT_HalfSuccHiT : applicable - { - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - typedef typename Traits::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - return s >= static_cast(bounds::highest()) + static_cast(0.5) - ? cPosOverflow : cInRange ; - } - } ; - - - //-------------------------------------------------------------------------- - // - // Predicate Combiner. - // - // This helper classes are used to possibly combine the range checking logic - // individually performed by the predicates - // - //-------------------------------------------------------------------------- - - - // Applies both predicates: first 'PredA', and if it equals 'cInRange', 'PredB' - template - struct applyBoth - { - typedef typename PredA::argument_type argument_type ; - - static range_check_result apply ( argument_type s ) - { - range_check_result r = PredA::apply(s) ; - if ( r == cInRange ) - r = PredB::apply(s); - return r ; - } - } ; - - template - struct combine - { - typedef applyBoth Both ; - typedef void NNone ; // 'None' is defined as a macro in (/usr/X11R6/include/X11/X.h) - - typedef typename PredA::do_apply do_applyA ; - typedef typename PredB::do_apply do_applyB ; - - typedef typename for_both::type type ; - } ; - - - - - - - - - - - - -//-------------------------------------------------------------------------- -// Range Checker classes. -// -// The following classes are VISIBLE base classes of the user-level converter<> class. -// They supply the optimized 'out_of_range()' and 'validate_range()' static member functions -// visible in the user interface. -// -//-------------------------------------------------------------------------- - - // Dummy range checker. - template - struct dummy_range_checker - { - typedef typename Traits::argument_type argument_type ; - - static range_check_result out_of_range ( argument_type ) { return cInRange ; } - static void validate_range ( argument_type ) {} - } ; - - // Generic range checker. - // - // All the range checking logic for all possible combinations of source and target - // can be arranged in terms of one or two predicates, which test overflow on both neg/pos 'sides' - // of the ranges. - // - // These predicates are given here as IsNegOverflow and IsPosOverflow. - // - template - struct generic_range_checker - { - typedef OverflowHandler overflow_handler ; - - typedef typename Traits::argument_type argument_type ; - - static range_check_result out_of_range ( argument_type s ) - { - typedef typename combine::type Predicate ; - - return Predicate::apply(s); - } - - static void validate_range ( argument_type s ) - { OverflowHandler()( out_of_range(s) ) ; } - } ; - - - -//-------------------------------------------------------------------------- -// -// Selectors for the optimized Range Checker class. -// -//-------------------------------------------------------------------------- - - template - struct GetRC_Sig2Sig_or_Unsig2Unsig - { - typedef dummy_range_checker Dummy ; - - typedef LT_LoT Pred1 ; - typedef GT_HiT Pred2 ; - - typedef generic_range_checker Normal ; - - typedef typename Traits::subranged subranged ; - - typedef typename mpl::if_::type type ; - } ; - - template - struct GetRC_Sig2Unsig - { - typedef LT_Zero Pred1 ; - typedef GT_HiT Pred2 ; - - typedef generic_range_checker ChoiceA ; - - typedef generic_range_checker ChoiceB ; - - typedef typename Traits::target_type T ; - typedef typename Traits::source_type S ; - - typedef typename subranged_Unsig2Sig::type oposite_subranged ; - - typedef typename mpl::not_::type positively_subranged ; - - typedef typename mpl::if_::type type ; - } ; - - template - struct GetRC_Unsig2Sig - { - typedef GT_HiT Pred1 ; - - typedef generic_range_checker type ; - } ; - - template - struct GetRC_Int2Int - { - typedef GetRC_Sig2Sig_or_Unsig2Unsig Sig2SigQ ; - typedef GetRC_Sig2Unsig Sig2UnsigQ ; - typedef GetRC_Unsig2Sig Unsig2SigQ ; - typedef Sig2SigQ Unsig2UnsigQ ; - - typedef typename Traits::sign_mixture sign_mixture ; - - typedef typename - for_sign_mixture::type - selector ; - - typedef typename selector::type type ; - } ; - - template - struct GetRC_Int2Float - { - typedef dummy_range_checker type ; - } ; - - template - struct GetRC_Float2Int - { - typedef LE_PrevLoT Pred1 ; - typedef GE_SuccHiT Pred2 ; - typedef LT_HalfPrevLoT Pred3 ; - typedef GT_HalfSuccHiT Pred4 ; - typedef GT_HiT Pred5 ; - typedef LT_LoT Pred6 ; - - typedef generic_range_checker ToZero ; - typedef generic_range_checker ToNearest ; - typedef generic_range_checker ToInf ; - typedef generic_range_checker ToNegInf ; - - typedef typename Float2IntRounder::round_style round_style ; - - typedef typename for_round_style::type type ; - } ; - - template - struct GetRC_Float2Float - { - typedef dummy_range_checker Dummy ; - - typedef LT_LoT Pred1 ; - typedef GT_HiT Pred2 ; - - typedef generic_range_checker Normal ; - - typedef typename Traits::subranged subranged ; - - typedef typename mpl::if_::type type ; - } ; - - template - struct GetRC_BuiltIn2BuiltIn - { - typedef GetRC_Int2Int Int2IntQ ; - typedef GetRC_Int2Float Int2FloatQ ; - typedef GetRC_Float2Int Float2IntQ ; - typedef GetRC_Float2Float Float2FloatQ ; - - typedef typename Traits::int_float_mixture int_float_mixture ; - - typedef typename for_int_float_mixture::type selector ; - - typedef typename selector::type type ; - } ; - - template - struct GetRC - { - typedef GetRC_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; - - typedef dummy_range_checker Dummy ; - - typedef mpl::identity DummyQ ; - - typedef typename Traits::udt_builtin_mixture udt_builtin_mixture ; - - typedef typename for_udt_builtin_mixture::type selector ; - - typedef typename selector::type type ; - } ; - - - - -//-------------------------------------------------------------------------- -// Converter classes. -// -// The following classes are VISIBLE base classes of the user-level converter<> class. -// They supply the optimized 'nearbyint()' and 'convert()' static member functions -// visible in the user interface. -// -//-------------------------------------------------------------------------- - - // - // Trivial Converter : used when (cv-unqualified) T == (cv-unqualified) S - // - template - struct trivial_converter_impl : public dummy_range_checker - { - typedef Traits traits ; - - typedef typename Traits::source_type source_type ; - typedef typename Traits::argument_type argument_type ; - typedef typename Traits::result_type result_type ; - - static result_type low_level_convert ( argument_type s ) { return s ; } - static source_type nearbyint ( argument_type s ) { return s ; } - static result_type convert ( argument_type s ) { return s ; } - } ; - - - // - // Rounding Converter : used for float to integral conversions. - // - template - struct rounding_converter : public RangeChecker - ,public Float2IntRounder - ,public RawConverter - { - typedef RangeChecker RangeCheckerBase ; - typedef Float2IntRounder Float2IntRounderBase ; - typedef RawConverter RawConverterBase ; - - typedef Traits traits ; - - typedef typename Traits::source_type source_type ; - typedef typename Traits::argument_type argument_type ; - typedef typename Traits::result_type result_type ; - - static result_type convert ( argument_type s ) - { - RangeCheckerBase::validate_range(s); - source_type s1 = Float2IntRounderBase::nearbyint(s); - return RawConverterBase::low_level_convert(s1); - } - } ; - - - // - // Non-Rounding Converter : used for all other conversions. - // - template - struct non_rounding_converter : public RangeChecker - ,public RawConverter - { - typedef RangeChecker RangeCheckerBase ; - typedef RawConverter RawConverterBase ; - - typedef Traits traits ; - - typedef typename Traits::source_type source_type ; - typedef typename Traits::argument_type argument_type ; - typedef typename Traits::result_type result_type ; - - static source_type nearbyint ( argument_type s ) { return s ; } - - static result_type convert ( argument_type s ) - { - RangeCheckerBase::validate_range(s); - return RawConverterBase::low_level_convert(s); - } - } ; - - - - -//-------------------------------------------------------------------------- -// -// Selectors for the optimized Converter class. -// -//-------------------------------------------------------------------------- - - template - struct get_non_trivial_converter - { - typedef GetRC InternalRangeCheckerQ ; - - typedef is_same use_internal_RC ; - - typedef mpl::identity UserRangeCheckerQ ; - - typedef typename - mpl::eval_if::type - RangeChecker ; - - typedef non_rounding_converter NonRounding ; - typedef rounding_converter Rounding ; - - typedef mpl::identity NonRoundingQ ; - typedef mpl::identity RoundingQ ; - - typedef typename Traits::int_float_mixture int_float_mixture ; - - typedef typename - for_int_float_mixture::type - selector ; - - typedef typename selector::type type ; - } ; - - template< class Traits - ,class OverflowHandler - ,class Float2IntRounder - ,class RawConverter - ,class UserRangeChecker - > - struct get_converter_impl - { -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x0561 ) ) - // bcc55 prefers sometimes template parameters to be explicit local types. - // (notice that is is illegal to reuse the names like this) - typedef Traits Traits ; - typedef OverflowHandler OverflowHandler ; - typedef Float2IntRounder Float2IntRounder ; - typedef RawConverter RawConverter ; - typedef UserRangeChecker UserRangeChecker ; -#endif - - typedef trivial_converter_impl Trivial ; - typedef mpl::identity TrivialQ ; - - typedef get_non_trivial_converter< Traits - ,OverflowHandler - ,Float2IntRounder - ,RawConverter - ,UserRangeChecker - > NonTrivialQ ; - - typedef typename Traits::trivial trivial ; - - typedef typename mpl::eval_if::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/int_float_mixture.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/int_float_mixture.hpp deleted file mode 100644 index 464e527..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/int_float_mixture.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP - -#include "boost/config.hpp" -#include "boost/limits.hpp" - -#include "boost/numeric/conversion/int_float_mixture_enum.hpp" -#include "boost/numeric/conversion/detail/meta.hpp" - -#include "boost/mpl/integral_c.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - // Integral Constants for 'IntFloatMixture' - typedef mpl::integral_c int2int_c ; - typedef mpl::integral_c int2float_c ; - typedef mpl::integral_c float2int_c ; - typedef mpl::integral_c float2float_c ; - - // Metafunction: - // - // get_int_float_mixture::type - // - // Selects the appropriate Int-Float Mixture Integral Constant for the combination T,S. - // - template - struct get_int_float_mixture - { - typedef mpl::bool_< ::std::numeric_limits::is_integer > S_int ; - typedef mpl::bool_< ::std::numeric_limits::is_integer > T_int ; - - typedef typename - for_both::type - type ; - } ; - - // Metafunction: - // - // for_int_float_mixture::type - // - // {Mixture} is one of the Integral Constants for Mixture, declared above. - // {int_int,int_float,float_int,float_float} are aribtrary types. (not metafunctions) - // - // According to the value of 'IntFloatMixture', selects the corresponding type. - // - template - struct for_int_float_mixture - { - typedef typename - ct_switch4::type - type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/is_subranged.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/is_subranged.hpp deleted file mode 100644 index b5e7fe8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/is_subranged.hpp +++ /dev/null @@ -1,234 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP - -#include "boost/config.hpp" -#include "boost/limits.hpp" - -#include "boost/mpl/int.hpp" -#include "boost/mpl/multiplies.hpp" -#include "boost/mpl/less.hpp" -#include "boost/mpl/equal_to.hpp" - -#include "boost/type_traits/is_same.hpp" - -#include "boost/numeric/conversion/detail/meta.hpp" -#include "boost/numeric/conversion/detail/int_float_mixture.hpp" -#include "boost/numeric/conversion/detail/sign_mixture.hpp" -#include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - //--------------------------------------------------------------- - // Implementations of the compile time predicate "T is subranged" - //--------------------------------------------------------------- - - // for integral to integral conversions - template - struct subranged_Sig2Unsig - { - // Signed to unsigned conversions are 'subranged' because of possible loose - // of negative values. - typedef mpl::true_ type ; - } ; - - // for unsigned integral to signed integral conversions - template - struct subranged_Unsig2Sig - { - // IMPORTANT NOTE: - // - // This code assumes that signed/unsigned integral values are represented - // such that: - // - // numeric_limits::digits + 1 == numeric_limits::digits - // - // The '+1' is required since numeric_limits<>::digits gives 1 bit less for signed integral types. - // - // This fact is used by the following logic: - // - // if ( (numeric_limits::digits+1) < (2*numeric_limits::digits) ) - // then the conversion is subranged. - // - - typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; - typedef mpl::int_< ::std::numeric_limits::digits > T_digits ; - - // T is signed, so take digits+1 - typedef typename T_digits::next u_T_digits ; - - typedef mpl::int_<2> Two ; - - typedef typename mpl::multiplies::type S_digits_times_2 ; - - typedef typename mpl::less::type type ; - } ; - - // for integral to integral conversions of the same sign. - template - struct subranged_SameSign - { - // An integral conversion of the same sign is subranged if digits(T) < digits(S). - - typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; - typedef mpl::int_< ::std::numeric_limits::digits > T_digits ; - - typedef typename mpl::less::type type ; - } ; - - // for integral to float conversions - template - struct subranged_Int2Float - { - typedef mpl::false_ type ; - } ; - - // for float to integral conversions - template - struct subranged_Float2Int - { - typedef mpl::true_ type ; - } ; - - // for float to float conversions - template - struct subranged_Float2Float - { - // If both T and S are floats, - // compare exponent bits and if they match, mantisa bits. - - typedef mpl::int_< ::std::numeric_limits::digits > S_mantisa ; - typedef mpl::int_< ::std::numeric_limits::digits > T_mantisa ; - - typedef mpl::int_< ::std::numeric_limits::max_exponent > S_exponent ; - typedef mpl::int_< ::std::numeric_limits::max_exponent > T_exponent ; - - typedef typename mpl::less::type T_smaller_exponent ; - - typedef typename mpl::equal_to::type equal_exponents ; - - typedef mpl::less T_smaller_mantisa ; - - typedef mpl::eval_if not_bigger_exponent_case ; - - typedef typename - mpl::eval_if::type - type ; - } ; - - // for Udt to built-in conversions - template - struct subranged_Udt2BuiltIn - { - typedef mpl::true_ type ; - } ; - - // for built-in to Udt conversions - template - struct subranged_BuiltIn2Udt - { - typedef mpl::false_ type ; - } ; - - // for Udt to Udt conversions - template - struct subranged_Udt2Udt - { - typedef mpl::false_ type ; - } ; - - //------------------------------------------------------------------- - // Selectors for the implementations of the subranged predicate - //------------------------------------------------------------------- - - template - struct get_subranged_Int2Int - { - typedef subranged_SameSign Sig2Sig ; - typedef subranged_Sig2Unsig Sig2Unsig ; - typedef subranged_Unsig2Sig Unsig2Sig ; - typedef Sig2Sig Unsig2Unsig ; - - typedef typename get_sign_mixture::type sign_mixture ; - - typedef typename - for_sign_mixture::type - type ; - } ; - - template - struct get_subranged_BuiltIn2BuiltIn - { - typedef get_subranged_Int2Int Int2IntQ ; - - typedef subranged_Int2Float Int2Float ; - typedef subranged_Float2Int Float2Int ; - typedef subranged_Float2Float Float2Float ; - - typedef mpl::identity Int2FloatQ ; - typedef mpl::identity Float2IntQ ; - typedef mpl::identity Float2FloatQ ; - - typedef typename get_int_float_mixture::type int_float_mixture ; - - typedef for_int_float_mixture for_ ; - - typedef typename for_::type selected ; - - typedef typename selected::type type ; - } ; - - template - struct get_subranged - { - typedef get_subranged_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; - - typedef subranged_BuiltIn2Udt BuiltIn2Udt ; - typedef subranged_Udt2BuiltIn Udt2BuiltIn ; - typedef subranged_Udt2Udt Udt2Udt ; - - typedef mpl::identity BuiltIn2UdtQ ; - typedef mpl::identity Udt2BuiltInQ ; - typedef mpl::identity Udt2UdtQ ; - - typedef typename get_udt_builtin_mixture::type udt_builtin_mixture ; - - typedef typename - for_udt_builtin_mixture::type - selected ; - - typedef typename selected::type selected2 ; - - typedef typename selected2::type type ; - } ; - - - //------------------------------------------------------------------- - // Top level implementation selector. - //------------------------------------------------------------------- - template - struct get_is_subranged - { - typedef get_subranged non_trivial_case ; - typedef mpl::identity trivial_case ; - - typedef is_same is_trivial ; - - typedef typename mpl::if_::type selected ; - - typedef typename selected::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/meta.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/meta.hpp deleted file mode 100644 index 246a1b4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/meta.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP - -#include "boost/type_traits/remove_cv.hpp" - -#include "boost/mpl/if.hpp" -#include "boost/mpl/eval_if.hpp" -#include "boost/mpl/equal_to.hpp" -#include "boost/mpl/not.hpp" -#include "boost/mpl/and.hpp" -#include "boost/mpl/bool.hpp" -#include "boost/mpl/identity.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - template< class T1, class T2> - struct equal_to - { - #if !defined(__BORLANDC__) - - enum { x = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value ) }; - - BOOST_STATIC_CONSTANT(bool, value = x); - - typedef mpl::bool_ type; - - #else - - BOOST_STATIC_CONSTANT(bool, value = ( - BOOST_MPL_AUX_VALUE_WKND(T1)::value - == BOOST_MPL_AUX_VALUE_WKND(T2)::value - )); - - typedef mpl::bool_<( - BOOST_MPL_AUX_VALUE_WKND(T1)::value - == BOOST_MPL_AUX_VALUE_WKND(T2)::value - )> type; - #endif - }; - -// Metafunction: - // - // ct_switch4::type - // - // {Value,Case(X)Val} are Integral Constants (such as: mpl::int_<>) - // {Case(X)Type,DefaultType} are arbitrary types. (not metafunctions) - // - // Returns Case(X)Type if Val==Case(X)Val; DefaultType otherwise. - // - template - struct ct_switch4 - { - typedef mpl::identity Case0TypeQ ; - typedef mpl::identity Case1TypeQ ; - - typedef equal_to is_case0 ; - typedef equal_to is_case1 ; - typedef equal_to is_case2 ; - - typedef mpl::if_ choose_2_3Q ; - typedef mpl::eval_if choose_1_2_3Q ; - - typedef typename - mpl::eval_if::type - type ; - } ; - - - - - // Metafunction: - // - // for_both::type - // - // {exp0,expr1} are Boolean Integral Constants - // {TT,TF,FT,FF} are aribtrary types. (not metafunctions) - // - // According to the combined boolean value of 'expr0 && expr1', selects the corresponding type. - // - template - struct for_both - { - typedef mpl::identity TF_Q ; - typedef mpl::identity TT_Q ; - - typedef typename mpl::not_::type not_expr0 ; - typedef typename mpl::not_::type not_expr1 ; - - typedef typename mpl::and_::type caseTT ; - typedef typename mpl::and_::type caseTF ; - typedef typename mpl::and_::type caseFT ; - - typedef mpl::if_ choose_FT_FF_Q ; - typedef mpl::eval_if choose_TF_FT_FF_Q ; - - typedef typename mpl::eval_if::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/numeric_cast_traits.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/numeric_cast_traits.hpp deleted file mode 100644 index 150490d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/numeric_cast_traits.hpp +++ /dev/null @@ -1,138 +0,0 @@ -// -//! Copyright (c) 2011-2012 -//! Brandon Kohn -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#if !defined(BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES) - - #include - - #if !defined(BOOST_NO_LONG_LONG) - #include - #endif - -#else -#if !BOOST_PP_IS_ITERATING - - #include - #include - #include - - #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_common.hpp") - #endif -// -//! Copyright (c) 2011-2012 -//! Brandon Kohn -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 1) - #endif - - //! These are the assumed common built in fundamental types (not typedefs/macros.) - #define BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() \ - (char) \ - (signed char) \ - (unsigned char) \ - (short) \ - (unsigned short) \ - (int) \ - (unsigned int) \ - (long) \ - (unsigned long) \ - (float) \ - (double) \ - (long double) \ - /***/ - - #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() - #define BOOST_NUMERIC_CONVERSION_SEQ_B() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() - -namespace boost { namespace numeric { - - #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), )) - #include BOOST_PP_ITERATE() - -}}//namespace boost::numeric; - - #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) - #pragma wave option(output: null) - #endif - - #if ( defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) ) || !defined(BOOST_NO_LONG_LONG) - - #undef BOOST_NUMERIC_CONVERSION_SEQ_A - #undef BOOST_NUMERIC_CONVERSION_SEQ_B - - #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_long_long.hpp") - #endif - -// -//! Copyright (c) 2011-2012 -//! Brandon Kohn -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) - #pragma wave option(preserve: 1) - #endif - -namespace boost { namespace numeric { - - #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()(boost::long_long_type)(boost::ulong_long_type) - #define BOOST_NUMERIC_CONVERSION_SEQ_B() (boost::long_long_type)(boost::ulong_long_type) - - #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), )) - #include BOOST_PP_ITERATE() - -}}//namespace boost::numeric; - - #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) - #pragma wave option(output: null) - #endif - - #endif - - #undef BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES - #undef BOOST_NUMERIC_CONVERSION_SEQ_A - #undef BOOST_NUMERIC_CONVERSION_SEQ_B - -#elif BOOST_PP_ITERATION_DEPTH() == 1 - - #define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_B())), )) - #include BOOST_PP_ITERATE() - -#elif BOOST_PP_ITERATION_DEPTH() == 2 - - //! Generate default traits for the specified source and target. - #define BOOST_NUMERIC_CONVERSION_A BOOST_PP_FRAME_ITERATION(1) - #define BOOST_NUMERIC_CONVERSION_B BOOST_PP_FRAME_ITERATION(2) - - template <> - struct numeric_cast_traits - < - BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_A, BOOST_NUMERIC_CONVERSION_SEQ_A()) - , BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B()) - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - #undef BOOST_NUMERIC_CONVERSION_A - #undef BOOST_NUMERIC_CONVERSION_B - -#endif//! Depth 2. -#endif// BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp deleted file mode 100644 index 01dc932..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp +++ /dev/null @@ -1,1741 +0,0 @@ -// -//! Copyright (c) 2011-2012 -//! Brandon Kohn -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - - - -namespace boost { namespace numeric { - - template <> - struct numeric_cast_traits - < - char - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , signed char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned char - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned short - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned int - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , unsigned long - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , float - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , long double - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; -}} diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp deleted file mode 100644 index b358b9c..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp +++ /dev/null @@ -1,347 +0,0 @@ -// -//! Copyright (c) 2011-2012 -//! Brandon Kohn -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -namespace boost { namespace numeric { - - - template <> - struct numeric_cast_traits - < - char - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - char - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - signed char - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned char - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - short - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned short - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - int - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned int - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - unsigned long - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - float - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - double - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - long double - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - boost::long_long_type - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - boost::long_long_type - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - boost::ulong_long_type - , boost::long_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - - template <> - struct numeric_cast_traits - < - boost::ulong_long_type - , boost::ulong_long_type - > - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; -}} diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/sign_mixture.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/sign_mixture.hpp deleted file mode 100644 index c7f9e42..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/sign_mixture.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP - -#include "boost/config.hpp" -#include "boost/limits.hpp" - -#include "boost/numeric/conversion/sign_mixture_enum.hpp" -#include "boost/numeric/conversion/detail/meta.hpp" - -#include "boost/mpl/integral_c.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - // Integral Constants for 'SignMixture' - typedef mpl::integral_c unsig2unsig_c ; - typedef mpl::integral_c sig2sig_c ; - typedef mpl::integral_c sig2unsig_c ; - typedef mpl::integral_c unsig2sig_c ; - - // Metafunction: - // - // get_sign_mixture::type - // - // Selects the appropriate SignMixture Integral Constant for the combination T,S. - // - template - struct get_sign_mixture - { - typedef mpl::bool_< ::std::numeric_limits::is_signed > S_signed ; - typedef mpl::bool_< ::std::numeric_limits::is_signed > T_signed ; - - typedef typename - for_both::type - type ; - } ; - - // Metafunction: - // - // for_sign_mixture::type - // - // {SignMixture} is one of the Integral Constants for SignMixture, declared above. - // {Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig} are aribtrary types. (not metafunctions) - // - // According to the value of 'SignMixture', selects the corresponding type. - // - template - struct for_sign_mixture - { - typedef typename - ct_switch4::type - type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/udt_builtin_mixture.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/udt_builtin_mixture.hpp deleted file mode 100644 index 36dbc49..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP - -#include "boost/type_traits/is_arithmetic.hpp" - -#include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp" -#include "boost/numeric/conversion/detail/meta.hpp" - -#include "boost/mpl/integral_c.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - // Integral Constants for 'UdtMixture' - typedef mpl::integral_c builtin2builtin_c ; - typedef mpl::integral_c builtin2udt_c ; - typedef mpl::integral_c udt2builtin_c ; - typedef mpl::integral_c udt2udt_c ; - - // Metafunction: - // - // for_udt_mixture::type - // - // {UdtMixture} is one of the Integral Constants for UdMixture, declared above. - // {BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt} are aribtrary types. (not metafunctions) - // - // According to the value of 'UdtMixture', selects the corresponding type. - // - template - struct for_udt_builtin_mixture - { - typedef typename - ct_switch4::type - type ; - } ; - - // Metafunction: - // - // get_udt_mixture::type - // - // Selects the appropriate UdtMixture Integral Constant for the combination T,S. - // - template - struct get_udt_builtin_mixture - { - typedef is_arithmetic S_builtin ; - typedef is_arithmetic T_builtin ; - - typedef typename - for_both::type - type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/int_float_mixture_enum.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/int_float_mixture_enum.hpp deleted file mode 100644 index d0c2daa..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/int_float_mixture_enum.hpp +++ /dev/null @@ -1,29 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP - -namespace boost { namespace numeric -{ - enum int_float_mixture_enum - { - integral_to_integral - ,integral_to_float - ,float_to_integral - ,float_to_float - } ; - -} } // namespace boost::numeric - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/numeric_cast_traits.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/numeric_cast_traits.hpp deleted file mode 100644 index e24296b..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/numeric_cast_traits.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// -//! Copyright (c) 2011 -//! Brandon Kohn -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef BOOST_NUMERIC_CAST_TRAITS_HPP -#define BOOST_NUMERIC_CAST_TRAITS_HPP - -#include - -namespace boost { namespace numeric { - - template - struct numeric_cast_traits - { - typedef def_overflow_handler overflow_policy; - typedef UseInternalRangeChecker range_checking_policy; - typedef Trunc rounding_policy; - }; - -}}//namespace boost::numeric; - -#if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS ) -#include -#include -#endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS - -#endif//BOOST_NUMERIC_CAST_TRAITS_HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/sign_mixture_enum.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/sign_mixture_enum.hpp deleted file mode 100644 index 1525f8d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/sign_mixture_enum.hpp +++ /dev/null @@ -1,29 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP - -namespace boost { namespace numeric -{ - enum sign_mixture_enum - { - unsigned_to_unsigned - ,signed_to_signed - ,signed_to_unsigned - ,unsigned_to_signed - } ; - -} } // namespace boost::numeric - -#endif -// -/////////////////////////////////////////////////////////////////////////////////////////////// - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/udt_builtin_mixture_enum.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/udt_builtin_mixture_enum.hpp deleted file mode 100644 index 2540e80..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/numeric/conversion/udt_builtin_mixture_enum.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP - -namespace boost { namespace numeric -{ - enum udt_builtin_mixture_enum - { - builtin_to_builtin - ,builtin_to_udt - ,udt_to_builtin - ,udt_to_udt - } ; - -} } // namespace boost::numeric - -#endif - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/add.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/add.hpp deleted file mode 100644 index 5a29f55..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/add.hpp +++ /dev/null @@ -1,51 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP -# -# include -# include -# include -# include -# include -# -# /* BOOST_PP_ADD */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# else -# define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y) -# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# endif -# -# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy -# else -# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) -# endif -# -# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y)) -# -# /* BOOST_PP_ADD_D */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# else -# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y) -# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/dec.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/dec.hpp deleted file mode 100644 index 23dd0a3..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/dec.hpp +++ /dev/null @@ -1,289 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP -# -# include -# -# /* BOOST_PP_DEC */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) -# else -# define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) -# define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par -# endif -# -# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x -# -# define BOOST_PP_DEC_0 0 -# define BOOST_PP_DEC_1 0 -# define BOOST_PP_DEC_2 1 -# define BOOST_PP_DEC_3 2 -# define BOOST_PP_DEC_4 3 -# define BOOST_PP_DEC_5 4 -# define BOOST_PP_DEC_6 5 -# define BOOST_PP_DEC_7 6 -# define BOOST_PP_DEC_8 7 -# define BOOST_PP_DEC_9 8 -# define BOOST_PP_DEC_10 9 -# define BOOST_PP_DEC_11 10 -# define BOOST_PP_DEC_12 11 -# define BOOST_PP_DEC_13 12 -# define BOOST_PP_DEC_14 13 -# define BOOST_PP_DEC_15 14 -# define BOOST_PP_DEC_16 15 -# define BOOST_PP_DEC_17 16 -# define BOOST_PP_DEC_18 17 -# define BOOST_PP_DEC_19 18 -# define BOOST_PP_DEC_20 19 -# define BOOST_PP_DEC_21 20 -# define BOOST_PP_DEC_22 21 -# define BOOST_PP_DEC_23 22 -# define BOOST_PP_DEC_24 23 -# define BOOST_PP_DEC_25 24 -# define BOOST_PP_DEC_26 25 -# define BOOST_PP_DEC_27 26 -# define BOOST_PP_DEC_28 27 -# define BOOST_PP_DEC_29 28 -# define BOOST_PP_DEC_30 29 -# define BOOST_PP_DEC_31 30 -# define BOOST_PP_DEC_32 31 -# define BOOST_PP_DEC_33 32 -# define BOOST_PP_DEC_34 33 -# define BOOST_PP_DEC_35 34 -# define BOOST_PP_DEC_36 35 -# define BOOST_PP_DEC_37 36 -# define BOOST_PP_DEC_38 37 -# define BOOST_PP_DEC_39 38 -# define BOOST_PP_DEC_40 39 -# define BOOST_PP_DEC_41 40 -# define BOOST_PP_DEC_42 41 -# define BOOST_PP_DEC_43 42 -# define BOOST_PP_DEC_44 43 -# define BOOST_PP_DEC_45 44 -# define BOOST_PP_DEC_46 45 -# define BOOST_PP_DEC_47 46 -# define BOOST_PP_DEC_48 47 -# define BOOST_PP_DEC_49 48 -# define BOOST_PP_DEC_50 49 -# define BOOST_PP_DEC_51 50 -# define BOOST_PP_DEC_52 51 -# define BOOST_PP_DEC_53 52 -# define BOOST_PP_DEC_54 53 -# define BOOST_PP_DEC_55 54 -# define BOOST_PP_DEC_56 55 -# define BOOST_PP_DEC_57 56 -# define BOOST_PP_DEC_58 57 -# define BOOST_PP_DEC_59 58 -# define BOOST_PP_DEC_60 59 -# define BOOST_PP_DEC_61 60 -# define BOOST_PP_DEC_62 61 -# define BOOST_PP_DEC_63 62 -# define BOOST_PP_DEC_64 63 -# define BOOST_PP_DEC_65 64 -# define BOOST_PP_DEC_66 65 -# define BOOST_PP_DEC_67 66 -# define BOOST_PP_DEC_68 67 -# define BOOST_PP_DEC_69 68 -# define BOOST_PP_DEC_70 69 -# define BOOST_PP_DEC_71 70 -# define BOOST_PP_DEC_72 71 -# define BOOST_PP_DEC_73 72 -# define BOOST_PP_DEC_74 73 -# define BOOST_PP_DEC_75 74 -# define BOOST_PP_DEC_76 75 -# define BOOST_PP_DEC_77 76 -# define BOOST_PP_DEC_78 77 -# define BOOST_PP_DEC_79 78 -# define BOOST_PP_DEC_80 79 -# define BOOST_PP_DEC_81 80 -# define BOOST_PP_DEC_82 81 -# define BOOST_PP_DEC_83 82 -# define BOOST_PP_DEC_84 83 -# define BOOST_PP_DEC_85 84 -# define BOOST_PP_DEC_86 85 -# define BOOST_PP_DEC_87 86 -# define BOOST_PP_DEC_88 87 -# define BOOST_PP_DEC_89 88 -# define BOOST_PP_DEC_90 89 -# define BOOST_PP_DEC_91 90 -# define BOOST_PP_DEC_92 91 -# define BOOST_PP_DEC_93 92 -# define BOOST_PP_DEC_94 93 -# define BOOST_PP_DEC_95 94 -# define BOOST_PP_DEC_96 95 -# define BOOST_PP_DEC_97 96 -# define BOOST_PP_DEC_98 97 -# define BOOST_PP_DEC_99 98 -# define BOOST_PP_DEC_100 99 -# define BOOST_PP_DEC_101 100 -# define BOOST_PP_DEC_102 101 -# define BOOST_PP_DEC_103 102 -# define BOOST_PP_DEC_104 103 -# define BOOST_PP_DEC_105 104 -# define BOOST_PP_DEC_106 105 -# define BOOST_PP_DEC_107 106 -# define BOOST_PP_DEC_108 107 -# define BOOST_PP_DEC_109 108 -# define BOOST_PP_DEC_110 109 -# define BOOST_PP_DEC_111 110 -# define BOOST_PP_DEC_112 111 -# define BOOST_PP_DEC_113 112 -# define BOOST_PP_DEC_114 113 -# define BOOST_PP_DEC_115 114 -# define BOOST_PP_DEC_116 115 -# define BOOST_PP_DEC_117 116 -# define BOOST_PP_DEC_118 117 -# define BOOST_PP_DEC_119 118 -# define BOOST_PP_DEC_120 119 -# define BOOST_PP_DEC_121 120 -# define BOOST_PP_DEC_122 121 -# define BOOST_PP_DEC_123 122 -# define BOOST_PP_DEC_124 123 -# define BOOST_PP_DEC_125 124 -# define BOOST_PP_DEC_126 125 -# define BOOST_PP_DEC_127 126 -# define BOOST_PP_DEC_128 127 -# define BOOST_PP_DEC_129 128 -# define BOOST_PP_DEC_130 129 -# define BOOST_PP_DEC_131 130 -# define BOOST_PP_DEC_132 131 -# define BOOST_PP_DEC_133 132 -# define BOOST_PP_DEC_134 133 -# define BOOST_PP_DEC_135 134 -# define BOOST_PP_DEC_136 135 -# define BOOST_PP_DEC_137 136 -# define BOOST_PP_DEC_138 137 -# define BOOST_PP_DEC_139 138 -# define BOOST_PP_DEC_140 139 -# define BOOST_PP_DEC_141 140 -# define BOOST_PP_DEC_142 141 -# define BOOST_PP_DEC_143 142 -# define BOOST_PP_DEC_144 143 -# define BOOST_PP_DEC_145 144 -# define BOOST_PP_DEC_146 145 -# define BOOST_PP_DEC_147 146 -# define BOOST_PP_DEC_148 147 -# define BOOST_PP_DEC_149 148 -# define BOOST_PP_DEC_150 149 -# define BOOST_PP_DEC_151 150 -# define BOOST_PP_DEC_152 151 -# define BOOST_PP_DEC_153 152 -# define BOOST_PP_DEC_154 153 -# define BOOST_PP_DEC_155 154 -# define BOOST_PP_DEC_156 155 -# define BOOST_PP_DEC_157 156 -# define BOOST_PP_DEC_158 157 -# define BOOST_PP_DEC_159 158 -# define BOOST_PP_DEC_160 159 -# define BOOST_PP_DEC_161 160 -# define BOOST_PP_DEC_162 161 -# define BOOST_PP_DEC_163 162 -# define BOOST_PP_DEC_164 163 -# define BOOST_PP_DEC_165 164 -# define BOOST_PP_DEC_166 165 -# define BOOST_PP_DEC_167 166 -# define BOOST_PP_DEC_168 167 -# define BOOST_PP_DEC_169 168 -# define BOOST_PP_DEC_170 169 -# define BOOST_PP_DEC_171 170 -# define BOOST_PP_DEC_172 171 -# define BOOST_PP_DEC_173 172 -# define BOOST_PP_DEC_174 173 -# define BOOST_PP_DEC_175 174 -# define BOOST_PP_DEC_176 175 -# define BOOST_PP_DEC_177 176 -# define BOOST_PP_DEC_178 177 -# define BOOST_PP_DEC_179 178 -# define BOOST_PP_DEC_180 179 -# define BOOST_PP_DEC_181 180 -# define BOOST_PP_DEC_182 181 -# define BOOST_PP_DEC_183 182 -# define BOOST_PP_DEC_184 183 -# define BOOST_PP_DEC_185 184 -# define BOOST_PP_DEC_186 185 -# define BOOST_PP_DEC_187 186 -# define BOOST_PP_DEC_188 187 -# define BOOST_PP_DEC_189 188 -# define BOOST_PP_DEC_190 189 -# define BOOST_PP_DEC_191 190 -# define BOOST_PP_DEC_192 191 -# define BOOST_PP_DEC_193 192 -# define BOOST_PP_DEC_194 193 -# define BOOST_PP_DEC_195 194 -# define BOOST_PP_DEC_196 195 -# define BOOST_PP_DEC_197 196 -# define BOOST_PP_DEC_198 197 -# define BOOST_PP_DEC_199 198 -# define BOOST_PP_DEC_200 199 -# define BOOST_PP_DEC_201 200 -# define BOOST_PP_DEC_202 201 -# define BOOST_PP_DEC_203 202 -# define BOOST_PP_DEC_204 203 -# define BOOST_PP_DEC_205 204 -# define BOOST_PP_DEC_206 205 -# define BOOST_PP_DEC_207 206 -# define BOOST_PP_DEC_208 207 -# define BOOST_PP_DEC_209 208 -# define BOOST_PP_DEC_210 209 -# define BOOST_PP_DEC_211 210 -# define BOOST_PP_DEC_212 211 -# define BOOST_PP_DEC_213 212 -# define BOOST_PP_DEC_214 213 -# define BOOST_PP_DEC_215 214 -# define BOOST_PP_DEC_216 215 -# define BOOST_PP_DEC_217 216 -# define BOOST_PP_DEC_218 217 -# define BOOST_PP_DEC_219 218 -# define BOOST_PP_DEC_220 219 -# define BOOST_PP_DEC_221 220 -# define BOOST_PP_DEC_222 221 -# define BOOST_PP_DEC_223 222 -# define BOOST_PP_DEC_224 223 -# define BOOST_PP_DEC_225 224 -# define BOOST_PP_DEC_226 225 -# define BOOST_PP_DEC_227 226 -# define BOOST_PP_DEC_228 227 -# define BOOST_PP_DEC_229 228 -# define BOOST_PP_DEC_230 229 -# define BOOST_PP_DEC_231 230 -# define BOOST_PP_DEC_232 231 -# define BOOST_PP_DEC_233 232 -# define BOOST_PP_DEC_234 233 -# define BOOST_PP_DEC_235 234 -# define BOOST_PP_DEC_236 235 -# define BOOST_PP_DEC_237 236 -# define BOOST_PP_DEC_238 237 -# define BOOST_PP_DEC_239 238 -# define BOOST_PP_DEC_240 239 -# define BOOST_PP_DEC_241 240 -# define BOOST_PP_DEC_242 241 -# define BOOST_PP_DEC_243 242 -# define BOOST_PP_DEC_244 243 -# define BOOST_PP_DEC_245 244 -# define BOOST_PP_DEC_246 245 -# define BOOST_PP_DEC_247 246 -# define BOOST_PP_DEC_248 247 -# define BOOST_PP_DEC_249 248 -# define BOOST_PP_DEC_250 249 -# define BOOST_PP_DEC_251 250 -# define BOOST_PP_DEC_252 251 -# define BOOST_PP_DEC_253 252 -# define BOOST_PP_DEC_254 253 -# define BOOST_PP_DEC_255 254 -# define BOOST_PP_DEC_256 255 -# define BOOST_PP_DEC_257 256 -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/inc.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/inc.hpp deleted file mode 100644 index 1597ab8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/inc.hpp +++ /dev/null @@ -1,288 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP -# -# include -# -# /* BOOST_PP_INC */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_INC(x) BOOST_PP_INC_I(x) -# else -# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x)) -# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par -# endif -# -# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x -# -# define BOOST_PP_INC_0 1 -# define BOOST_PP_INC_1 2 -# define BOOST_PP_INC_2 3 -# define BOOST_PP_INC_3 4 -# define BOOST_PP_INC_4 5 -# define BOOST_PP_INC_5 6 -# define BOOST_PP_INC_6 7 -# define BOOST_PP_INC_7 8 -# define BOOST_PP_INC_8 9 -# define BOOST_PP_INC_9 10 -# define BOOST_PP_INC_10 11 -# define BOOST_PP_INC_11 12 -# define BOOST_PP_INC_12 13 -# define BOOST_PP_INC_13 14 -# define BOOST_PP_INC_14 15 -# define BOOST_PP_INC_15 16 -# define BOOST_PP_INC_16 17 -# define BOOST_PP_INC_17 18 -# define BOOST_PP_INC_18 19 -# define BOOST_PP_INC_19 20 -# define BOOST_PP_INC_20 21 -# define BOOST_PP_INC_21 22 -# define BOOST_PP_INC_22 23 -# define BOOST_PP_INC_23 24 -# define BOOST_PP_INC_24 25 -# define BOOST_PP_INC_25 26 -# define BOOST_PP_INC_26 27 -# define BOOST_PP_INC_27 28 -# define BOOST_PP_INC_28 29 -# define BOOST_PP_INC_29 30 -# define BOOST_PP_INC_30 31 -# define BOOST_PP_INC_31 32 -# define BOOST_PP_INC_32 33 -# define BOOST_PP_INC_33 34 -# define BOOST_PP_INC_34 35 -# define BOOST_PP_INC_35 36 -# define BOOST_PP_INC_36 37 -# define BOOST_PP_INC_37 38 -# define BOOST_PP_INC_38 39 -# define BOOST_PP_INC_39 40 -# define BOOST_PP_INC_40 41 -# define BOOST_PP_INC_41 42 -# define BOOST_PP_INC_42 43 -# define BOOST_PP_INC_43 44 -# define BOOST_PP_INC_44 45 -# define BOOST_PP_INC_45 46 -# define BOOST_PP_INC_46 47 -# define BOOST_PP_INC_47 48 -# define BOOST_PP_INC_48 49 -# define BOOST_PP_INC_49 50 -# define BOOST_PP_INC_50 51 -# define BOOST_PP_INC_51 52 -# define BOOST_PP_INC_52 53 -# define BOOST_PP_INC_53 54 -# define BOOST_PP_INC_54 55 -# define BOOST_PP_INC_55 56 -# define BOOST_PP_INC_56 57 -# define BOOST_PP_INC_57 58 -# define BOOST_PP_INC_58 59 -# define BOOST_PP_INC_59 60 -# define BOOST_PP_INC_60 61 -# define BOOST_PP_INC_61 62 -# define BOOST_PP_INC_62 63 -# define BOOST_PP_INC_63 64 -# define BOOST_PP_INC_64 65 -# define BOOST_PP_INC_65 66 -# define BOOST_PP_INC_66 67 -# define BOOST_PP_INC_67 68 -# define BOOST_PP_INC_68 69 -# define BOOST_PP_INC_69 70 -# define BOOST_PP_INC_70 71 -# define BOOST_PP_INC_71 72 -# define BOOST_PP_INC_72 73 -# define BOOST_PP_INC_73 74 -# define BOOST_PP_INC_74 75 -# define BOOST_PP_INC_75 76 -# define BOOST_PP_INC_76 77 -# define BOOST_PP_INC_77 78 -# define BOOST_PP_INC_78 79 -# define BOOST_PP_INC_79 80 -# define BOOST_PP_INC_80 81 -# define BOOST_PP_INC_81 82 -# define BOOST_PP_INC_82 83 -# define BOOST_PP_INC_83 84 -# define BOOST_PP_INC_84 85 -# define BOOST_PP_INC_85 86 -# define BOOST_PP_INC_86 87 -# define BOOST_PP_INC_87 88 -# define BOOST_PP_INC_88 89 -# define BOOST_PP_INC_89 90 -# define BOOST_PP_INC_90 91 -# define BOOST_PP_INC_91 92 -# define BOOST_PP_INC_92 93 -# define BOOST_PP_INC_93 94 -# define BOOST_PP_INC_94 95 -# define BOOST_PP_INC_95 96 -# define BOOST_PP_INC_96 97 -# define BOOST_PP_INC_97 98 -# define BOOST_PP_INC_98 99 -# define BOOST_PP_INC_99 100 -# define BOOST_PP_INC_100 101 -# define BOOST_PP_INC_101 102 -# define BOOST_PP_INC_102 103 -# define BOOST_PP_INC_103 104 -# define BOOST_PP_INC_104 105 -# define BOOST_PP_INC_105 106 -# define BOOST_PP_INC_106 107 -# define BOOST_PP_INC_107 108 -# define BOOST_PP_INC_108 109 -# define BOOST_PP_INC_109 110 -# define BOOST_PP_INC_110 111 -# define BOOST_PP_INC_111 112 -# define BOOST_PP_INC_112 113 -# define BOOST_PP_INC_113 114 -# define BOOST_PP_INC_114 115 -# define BOOST_PP_INC_115 116 -# define BOOST_PP_INC_116 117 -# define BOOST_PP_INC_117 118 -# define BOOST_PP_INC_118 119 -# define BOOST_PP_INC_119 120 -# define BOOST_PP_INC_120 121 -# define BOOST_PP_INC_121 122 -# define BOOST_PP_INC_122 123 -# define BOOST_PP_INC_123 124 -# define BOOST_PP_INC_124 125 -# define BOOST_PP_INC_125 126 -# define BOOST_PP_INC_126 127 -# define BOOST_PP_INC_127 128 -# define BOOST_PP_INC_128 129 -# define BOOST_PP_INC_129 130 -# define BOOST_PP_INC_130 131 -# define BOOST_PP_INC_131 132 -# define BOOST_PP_INC_132 133 -# define BOOST_PP_INC_133 134 -# define BOOST_PP_INC_134 135 -# define BOOST_PP_INC_135 136 -# define BOOST_PP_INC_136 137 -# define BOOST_PP_INC_137 138 -# define BOOST_PP_INC_138 139 -# define BOOST_PP_INC_139 140 -# define BOOST_PP_INC_140 141 -# define BOOST_PP_INC_141 142 -# define BOOST_PP_INC_142 143 -# define BOOST_PP_INC_143 144 -# define BOOST_PP_INC_144 145 -# define BOOST_PP_INC_145 146 -# define BOOST_PP_INC_146 147 -# define BOOST_PP_INC_147 148 -# define BOOST_PP_INC_148 149 -# define BOOST_PP_INC_149 150 -# define BOOST_PP_INC_150 151 -# define BOOST_PP_INC_151 152 -# define BOOST_PP_INC_152 153 -# define BOOST_PP_INC_153 154 -# define BOOST_PP_INC_154 155 -# define BOOST_PP_INC_155 156 -# define BOOST_PP_INC_156 157 -# define BOOST_PP_INC_157 158 -# define BOOST_PP_INC_158 159 -# define BOOST_PP_INC_159 160 -# define BOOST_PP_INC_160 161 -# define BOOST_PP_INC_161 162 -# define BOOST_PP_INC_162 163 -# define BOOST_PP_INC_163 164 -# define BOOST_PP_INC_164 165 -# define BOOST_PP_INC_165 166 -# define BOOST_PP_INC_166 167 -# define BOOST_PP_INC_167 168 -# define BOOST_PP_INC_168 169 -# define BOOST_PP_INC_169 170 -# define BOOST_PP_INC_170 171 -# define BOOST_PP_INC_171 172 -# define BOOST_PP_INC_172 173 -# define BOOST_PP_INC_173 174 -# define BOOST_PP_INC_174 175 -# define BOOST_PP_INC_175 176 -# define BOOST_PP_INC_176 177 -# define BOOST_PP_INC_177 178 -# define BOOST_PP_INC_178 179 -# define BOOST_PP_INC_179 180 -# define BOOST_PP_INC_180 181 -# define BOOST_PP_INC_181 182 -# define BOOST_PP_INC_182 183 -# define BOOST_PP_INC_183 184 -# define BOOST_PP_INC_184 185 -# define BOOST_PP_INC_185 186 -# define BOOST_PP_INC_186 187 -# define BOOST_PP_INC_187 188 -# define BOOST_PP_INC_188 189 -# define BOOST_PP_INC_189 190 -# define BOOST_PP_INC_190 191 -# define BOOST_PP_INC_191 192 -# define BOOST_PP_INC_192 193 -# define BOOST_PP_INC_193 194 -# define BOOST_PP_INC_194 195 -# define BOOST_PP_INC_195 196 -# define BOOST_PP_INC_196 197 -# define BOOST_PP_INC_197 198 -# define BOOST_PP_INC_198 199 -# define BOOST_PP_INC_199 200 -# define BOOST_PP_INC_200 201 -# define BOOST_PP_INC_201 202 -# define BOOST_PP_INC_202 203 -# define BOOST_PP_INC_203 204 -# define BOOST_PP_INC_204 205 -# define BOOST_PP_INC_205 206 -# define BOOST_PP_INC_206 207 -# define BOOST_PP_INC_207 208 -# define BOOST_PP_INC_208 209 -# define BOOST_PP_INC_209 210 -# define BOOST_PP_INC_210 211 -# define BOOST_PP_INC_211 212 -# define BOOST_PP_INC_212 213 -# define BOOST_PP_INC_213 214 -# define BOOST_PP_INC_214 215 -# define BOOST_PP_INC_215 216 -# define BOOST_PP_INC_216 217 -# define BOOST_PP_INC_217 218 -# define BOOST_PP_INC_218 219 -# define BOOST_PP_INC_219 220 -# define BOOST_PP_INC_220 221 -# define BOOST_PP_INC_221 222 -# define BOOST_PP_INC_222 223 -# define BOOST_PP_INC_223 224 -# define BOOST_PP_INC_224 225 -# define BOOST_PP_INC_225 226 -# define BOOST_PP_INC_226 227 -# define BOOST_PP_INC_227 228 -# define BOOST_PP_INC_228 229 -# define BOOST_PP_INC_229 230 -# define BOOST_PP_INC_230 231 -# define BOOST_PP_INC_231 232 -# define BOOST_PP_INC_232 233 -# define BOOST_PP_INC_233 234 -# define BOOST_PP_INC_234 235 -# define BOOST_PP_INC_235 236 -# define BOOST_PP_INC_236 237 -# define BOOST_PP_INC_237 238 -# define BOOST_PP_INC_238 239 -# define BOOST_PP_INC_239 240 -# define BOOST_PP_INC_240 241 -# define BOOST_PP_INC_241 242 -# define BOOST_PP_INC_242 243 -# define BOOST_PP_INC_243 244 -# define BOOST_PP_INC_244 245 -# define BOOST_PP_INC_245 246 -# define BOOST_PP_INC_246 247 -# define BOOST_PP_INC_247 248 -# define BOOST_PP_INC_248 249 -# define BOOST_PP_INC_249 250 -# define BOOST_PP_INC_250 251 -# define BOOST_PP_INC_251 252 -# define BOOST_PP_INC_252 253 -# define BOOST_PP_INC_253 254 -# define BOOST_PP_INC_254 255 -# define BOOST_PP_INC_255 256 -# define BOOST_PP_INC_256 256 -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/sub.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/sub.hpp deleted file mode 100644 index 5262cda..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/arithmetic/sub.hpp +++ /dev/null @@ -1,50 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_SUB */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# else -# define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y) -# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# endif -# -# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy -# else -# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) -# endif -# -# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y)) -# -# /* BOOST_PP_SUB_D */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# else -# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y) -# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/data.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/data.hpp deleted file mode 100644 index 10c926a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/data.hpp +++ /dev/null @@ -1,28 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP -# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP -# -# include -# include -# -# /* BOOST_PP_ARRAY_DATA */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array) -# else -# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array) -# define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array -# define BOOST_PP_ARRAY_DATA_II(size, data) data -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/elem.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/elem.hpp deleted file mode 100644 index 105ba24..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/elem.hpp +++ /dev/null @@ -1,29 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP -# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_ARRAY_ELEM */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) -# else -# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array) -# define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/size.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/size.hpp deleted file mode 100644 index 3f370ee..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/array/size.hpp +++ /dev/null @@ -1,28 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP -# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP -# -# include -# include -# -# /* BOOST_PP_ARRAY_SIZE */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array) -# else -# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array) -# define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array -# define BOOST_PP_ARRAY_SIZE_II(size, data) size -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/cat.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/cat.hpp deleted file mode 100644 index 52a3892..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/cat.hpp +++ /dev/null @@ -1,35 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CAT_HPP -# define BOOST_PREPROCESSOR_CAT_HPP -# -# include -# -# /* BOOST_PP_CAT */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b) -# else -# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b)) -# define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par -# endif -# -# if (~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) -# define BOOST_PP_CAT_I(a, b) a ## b -# else -# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b) -# define BOOST_PP_CAT_II(p, res) res -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/comma_if.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/comma_if.hpp deleted file mode 100644 index 9ceb079..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/comma_if.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP -# define BOOST_PREPROCESSOR_COMMA_IF_HPP -# -# include -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/config/config.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/config/config.hpp deleted file mode 100644 index 2c1e72f..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/config/config.hpp +++ /dev/null @@ -1,115 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002-2011. * -# * (C) Copyright Edward Diener 2011. * -# * Distributed under the Boost Software License, Version 1.0. (See * -# * accompanying file LICENSE_1_0.txt or copy at * -# * http://www.boost.org/LICENSE_1_0.txt) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP -# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP -# -# /* BOOST_PP_CONFIG_FLAGS */ -# -# define BOOST_PP_CONFIG_STRICT() 0x0001 -# define BOOST_PP_CONFIG_IDEAL() 0x0002 -# -# define BOOST_PP_CONFIG_MSVC() 0x0004 -# define BOOST_PP_CONFIG_MWCC() 0x0008 -# define BOOST_PP_CONFIG_BCC() 0x0010 -# define BOOST_PP_CONFIG_EDG() 0x0020 -# define BOOST_PP_CONFIG_DMC() 0x0040 -# -# ifndef BOOST_PP_CONFIG_FLAGS -# if defined(__GCCXML__) || defined(__WAVE__) || defined(__MWERKS__) && __MWERKS__ >= 0x3200 -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# elif defined(__EDG__) || defined(__EDG_VERSION__) -# if defined(_MSC_VER) && !defined(__clang__) && (defined(__INTELLISENSE__) || __EDG_VERSION__ >= 308) -# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# endif -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT()) -# endif -# elif defined(_MSC_VER) && defined(__clang__) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# elif defined(__MWERKS__) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC()) -# elif defined(__DMC__) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC()) -# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581 -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC()) -# elif defined(_MSC_VER) -# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# endif -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# endif -# endif -# -# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */ -# -# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO -# define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0 -# endif -# -# /* BOOST_PP_CONFIG_ERRORS */ -# -# ifndef BOOST_PP_CONFIG_ERRORS -# ifdef NDEBUG -# define BOOST_PP_CONFIG_ERRORS 0 -# else -# define BOOST_PP_CONFIG_ERRORS 1 -# endif -# endif -# -# /* BOOST_PP_VARIADICS */ -# -# define BOOST_PP_VARIADICS_MSVC 0 -# if !defined BOOST_PP_VARIADICS -# /* variadic support explicitly disabled for all untested compilers */ - -# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || ( defined __SUNPRO_CC && __SUNPRO_CC < 0x5120 ) || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || (defined(__PGI) && !defined(__EDG__)) -# define BOOST_PP_VARIADICS 0 -# elif defined(_MSC_VER) && defined(__clang__) -# define BOOST_PP_VARIADICS 1 -# /* VC++ (C/C++) and Intel C++ Compiler >= 17.0 with MSVC */ -# elif defined _MSC_VER && _MSC_VER >= 1400 && (!defined __EDG__ || defined(__INTELLISENSE__) || defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) -# define BOOST_PP_VARIADICS 1 -# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL -# undef BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADICS_MSVC 1 -# endif -# /* Wave (C/C++), GCC (C++) */ -# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && defined __GXX_EXPERIMENTAL_CXX0X__ && __GXX_EXPERIMENTAL_CXX0X__ -# define BOOST_PP_VARIADICS 1 -# /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */ -# elif !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L -# define BOOST_PP_VARIADICS 1 -# else -# define BOOST_PP_VARIADICS 0 -# endif -# elif !BOOST_PP_VARIADICS + 1 < 2 -# undef BOOST_PP_VARIADICS -# define BOOST_PP_VARIADICS 1 -# if defined _MSC_VER && _MSC_VER >= 1400 && !defined(__clang__) && (defined(__INTELLISENSE__) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) || !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) && (!defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL) -# undef BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADICS_MSVC 1 -# endif -# else -# undef BOOST_PP_VARIADICS -# define BOOST_PP_VARIADICS 0 -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/detail/while.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/detail/while.hpp deleted file mode 100644 index 7315e1d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/detail/while.hpp +++ /dev/null @@ -1,536 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP -# -# include -# include -# include -# -# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s) -# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s) -# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s) -# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s) -# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s) -# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s) -# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s) -# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s) -# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s) -# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s) -# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s) -# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s) -# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s) -# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s) -# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s) -# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s) -# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s) -# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s) -# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s) -# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s) -# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s) -# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s) -# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s) -# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s) -# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s) -# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s) -# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s) -# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s) -# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s) -# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s) -# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s) -# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s) -# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s) -# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s) -# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s) -# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s) -# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s) -# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s) -# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s) -# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s) -# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s) -# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s) -# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s) -# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s) -# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s) -# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s) -# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s) -# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s) -# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s) -# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s) -# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s) -# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s) -# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s) -# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s) -# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s) -# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s) -# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s) -# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s) -# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s) -# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s) -# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s) -# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s) -# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s) -# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s) -# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s) -# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s) -# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s) -# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s) -# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s) -# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s) -# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s) -# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s) -# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s) -# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s) -# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s) -# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s) -# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s) -# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s) -# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s) -# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s) -# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s) -# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s) -# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s) -# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s) -# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s) -# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s) -# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s) -# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s) -# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s) -# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s) -# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s) -# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s) -# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s) -# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s) -# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s) -# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s) -# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s) -# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s) -# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s) -# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s) -# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s) -# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s) -# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s) -# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s) -# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s) -# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s) -# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s) -# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s) -# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s) -# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s) -# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s) -# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s) -# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s) -# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s) -# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s) -# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s) -# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s) -# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s) -# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s) -# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s) -# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s) -# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s) -# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s) -# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s) -# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s) -# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s) -# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s) -# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s) -# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s) -# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s) -# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s) -# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s) -# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s) -# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s) -# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s) -# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s) -# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s) -# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s) -# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s) -# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s) -# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s) -# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s) -# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s) -# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s) -# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s) -# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s) -# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s) -# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s) -# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s) -# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s) -# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s) -# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s) -# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s) -# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s) -# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s) -# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s) -# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s) -# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s) -# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s) -# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s) -# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s) -# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s) -# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s) -# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s) -# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s) -# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s) -# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s) -# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s) -# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s) -# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s) -# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s) -# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s) -# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s) -# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s) -# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s) -# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s) -# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s) -# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s) -# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s) -# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s) -# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s) -# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s) -# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s) -# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s) -# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s) -# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s) -# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s) -# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s) -# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s) -# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s) -# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s) -# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s) -# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s) -# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s) -# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s) -# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s) -# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s) -# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s) -# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s) -# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s) -# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s) -# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s) -# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s) -# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s) -# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s) -# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s) -# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s) -# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s) -# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s) -# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s) -# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s) -# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s) -# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s) -# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s) -# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s) -# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s) -# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s) -# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s) -# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s) -# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s) -# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s) -# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s) -# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s) -# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s) -# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s) -# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s) -# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s) -# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s) -# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s) -# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s) -# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s) -# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s) -# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s) -# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s) -# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s) -# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s) -# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s) -# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s) -# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s) -# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s) -# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s) -# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s) -# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s) -# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s) -# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s) -# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s) -# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s) -# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s) -# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s) -# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s) -# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s) -# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s) -# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s) -# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s) -# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s) -# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s) -# -# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s)) -# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s)) -# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s)) -# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s)) -# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s)) -# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s)) -# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s)) -# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s)) -# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s)) -# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s)) -# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s)) -# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s)) -# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s)) -# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s)) -# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s)) -# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s)) -# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s)) -# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s)) -# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s)) -# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s)) -# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s)) -# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s)) -# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s)) -# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s)) -# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s)) -# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s)) -# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s)) -# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s)) -# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s)) -# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s)) -# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s)) -# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s)) -# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s)) -# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s)) -# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s)) -# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s)) -# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s)) -# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s)) -# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s)) -# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s)) -# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s)) -# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s)) -# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s)) -# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s)) -# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s)) -# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s)) -# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s)) -# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s)) -# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s)) -# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s)) -# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s)) -# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s)) -# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s)) -# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s)) -# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s)) -# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s)) -# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s)) -# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s)) -# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s)) -# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s)) -# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s)) -# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s)) -# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s)) -# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s)) -# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s)) -# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s)) -# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s)) -# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s)) -# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s)) -# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s)) -# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s)) -# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s)) -# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s)) -# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s)) -# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s)) -# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s)) -# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s)) -# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s)) -# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s)) -# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s)) -# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s)) -# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s)) -# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s)) -# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s)) -# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s)) -# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s)) -# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s)) -# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s)) -# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s)) -# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s)) -# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s)) -# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s)) -# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s)) -# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s)) -# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s)) -# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s)) -# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s)) -# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s)) -# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s)) -# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s)) -# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s)) -# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s)) -# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s)) -# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s)) -# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s)) -# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s)) -# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s)) -# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s)) -# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s)) -# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s)) -# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s)) -# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s)) -# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s)) -# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s)) -# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s)) -# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s)) -# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s)) -# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s)) -# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s)) -# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s)) -# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s)) -# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s)) -# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s)) -# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s)) -# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s)) -# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s)) -# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s)) -# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s)) -# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s)) -# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s)) -# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s)) -# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s)) -# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s)) -# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s)) -# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s)) -# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s)) -# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s)) -# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s)) -# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s)) -# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s)) -# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s)) -# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s)) -# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s)) -# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s)) -# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s)) -# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s)) -# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s)) -# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s)) -# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s)) -# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s)) -# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s)) -# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s)) -# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s)) -# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s)) -# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s)) -# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s)) -# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s)) -# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s)) -# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s)) -# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s)) -# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s)) -# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s)) -# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s)) -# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s)) -# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s)) -# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s)) -# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s)) -# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s)) -# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s)) -# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s)) -# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s)) -# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s)) -# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s)) -# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s)) -# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s)) -# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s)) -# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s)) -# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s)) -# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s)) -# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s)) -# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s)) -# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s)) -# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s)) -# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s)) -# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s)) -# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s)) -# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s)) -# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s)) -# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s)) -# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s)) -# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s)) -# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s)) -# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s)) -# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s)) -# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s)) -# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s)) -# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s)) -# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s)) -# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s)) -# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s)) -# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s)) -# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s)) -# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s)) -# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s)) -# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s)) -# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s)) -# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s)) -# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s)) -# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s)) -# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s)) -# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s)) -# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s)) -# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s)) -# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s)) -# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s)) -# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s)) -# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s)) -# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s)) -# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s)) -# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s)) -# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s)) -# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s)) -# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s)) -# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s)) -# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s)) -# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s)) -# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s)) -# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s)) -# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s)) -# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s)) -# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s)) -# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s)) -# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s)) -# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s)) -# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s)) -# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s)) -# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s)) -# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s)) -# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s)) -# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s)) -# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s)) -# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s)) -# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s)) -# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s)) -# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s)) -# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s)) -# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s)) -# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s)) -# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s)) -# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s)) -# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s)) -# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s)) -# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s)) -# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s)) -# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s)) -# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s)) -# -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/expr_iif.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/expr_iif.hpp deleted file mode 100644 index 58f45a4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/expr_iif.hpp +++ /dev/null @@ -1,31 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP -# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP -# -# include -# -# /* BOOST_PP_EXPR_IIF */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr) -# else -# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr)) -# define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par -# endif -# -# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr) -# -# define BOOST_PP_EXPR_IIF_0(expr) -# define BOOST_PP_EXPR_IIF_1(expr) expr -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/if.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/if.hpp deleted file mode 100644 index 52cfc3d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/if.hpp +++ /dev/null @@ -1,30 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP -# define BOOST_PREPROCESSOR_CONTROL_IF_HPP -# -# include -# include -# include -# -# /* BOOST_PP_IF */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) -# else -# define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f) -# define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/iif.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/iif.hpp deleted file mode 100644 index fd07817..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/iif.hpp +++ /dev/null @@ -1,34 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP -# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f) -# else -# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f)) -# define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f) -# else -# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f)) -# define BOOST_PP_IIF_II(id) id -# endif -# -# define BOOST_PP_IIF_0(t, f) f -# define BOOST_PP_IIF_1(t, f) t -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/while.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/while.hpp deleted file mode 100644 index e8a65ff..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/control/while.hpp +++ /dev/null @@ -1,312 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP -# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP -# -# include -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_WHILE */ -# -# if 0 -# define BOOST_PP_WHILE(pred, op, state) -# endif -# -# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))) -# else -# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))) -# endif -# -# define BOOST_PP_WHILE_F(d, _) 0 -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001) -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1 -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0 -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/debug/error.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/debug/error.hpp deleted file mode 100644 index c8ae5e7..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/debug/error.hpp +++ /dev/null @@ -1,33 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP -# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP -# -# include -# include -# -# /* BOOST_PP_ERROR */ -# -# if BOOST_PP_CONFIG_ERRORS -# define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code) -# endif -# -# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS) -# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW) -# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW) -# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW) -# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW) -# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW) -# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW) -# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO) -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/auto_rec.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/auto_rec.hpp deleted file mode 100644 index 39de1d0..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/auto_rec.hpp +++ /dev/null @@ -1,293 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# include -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# -# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP -# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP -# -# include -# -# /* BOOST_PP_AUTO_REC */ -# -# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) -# -# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) -# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) -# -# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) -# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) -# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) -# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) -# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) -# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) -# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) -# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2) -# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4) -# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) -# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6) -# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8) -# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) -# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) -# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10) -# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12) -# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) -# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14) -# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16) -# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) -# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) -# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) -# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18) -# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20) -# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) -# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22) -# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24) -# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) -# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) -# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26) -# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28) -# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) -# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30) -# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32) -# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) -# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) -# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) -# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) -# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34) -# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36) -# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) -# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38) -# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40) -# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) -# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) -# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42) -# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44) -# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) -# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46) -# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48) -# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) -# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) -# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) -# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50) -# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52) -# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) -# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54) -# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56) -# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) -# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) -# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58) -# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60) -# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) -# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62) -# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64) -# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) -# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) -# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) -# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) -# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) -# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66) -# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68) -# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) -# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70) -# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72) -# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) -# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) -# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74) -# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76) -# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) -# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78) -# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80) -# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) -# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) -# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) -# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82) -# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84) -# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) -# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86) -# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88) -# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) -# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) -# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90) -# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92) -# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) -# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94) -# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96) -# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) -# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) -# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) -# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) -# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98) -# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100) -# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) -# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102) -# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104) -# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) -# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) -# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106) -# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108) -# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) -# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110) -# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112) -# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) -# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) -# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) -# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114) -# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116) -# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) -# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118) -# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120) -# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) -# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) -# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122) -# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124) -# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) -# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126) -# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128) -# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) -# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) -# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) -# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) -# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) -# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) -# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130) -# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132) -# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) -# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134) -# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136) -# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) -# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) -# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138) -# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140) -# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) -# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142) -# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144) -# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) -# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) -# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) -# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146) -# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148) -# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) -# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150) -# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152) -# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) -# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) -# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154) -# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156) -# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) -# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158) -# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160) -# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) -# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) -# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) -# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) -# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162) -# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164) -# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) -# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166) -# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168) -# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) -# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) -# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170) -# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172) -# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) -# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174) -# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176) -# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) -# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) -# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) -# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178) -# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180) -# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) -# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182) -# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184) -# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) -# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) -# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186) -# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188) -# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) -# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190) -# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192) -# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) -# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) -# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) -# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) -# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) -# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194) -# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196) -# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) -# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198) -# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200) -# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) -# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) -# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202) -# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204) -# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) -# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206) -# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208) -# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) -# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) -# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) -# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210) -# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212) -# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) -# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214) -# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216) -# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) -# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) -# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218) -# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220) -# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) -# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222) -# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224) -# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) -# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) -# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) -# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) -# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226) -# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228) -# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) -# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230) -# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232) -# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) -# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) -# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234) -# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236) -# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) -# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238) -# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240) -# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) -# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) -# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) -# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242) -# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244) -# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) -# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246) -# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248) -# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) -# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) -# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250) -# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252) -# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) -# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254) -# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256) -# -# endif -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/check.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/check.hpp deleted file mode 100644 index 63f8ff9..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/check.hpp +++ /dev/null @@ -1,48 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP -# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP -# -# include -# include -# -# /* BOOST_PP_CHECK */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type) -# else -# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type)) -# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x)) -# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) -# define BOOST_PP_CHECK_2(res, _) res -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x) -# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) -# define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk)) -# define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im) -# define BOOST_PP_CHECK_4(res, _) res -# define BOOST_PP_CHECK_5(res) res -# else /* DMC */ -# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x)) -# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par -# define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk)) -# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) -# define BOOST_PP_CHECK_2(res, _) res -# endif -# -# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/is_binary.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/is_binary.hpp deleted file mode 100644 index 3428833..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/detail/is_binary.hpp +++ /dev/null @@ -1,30 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP -# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP -# -# include -# include -# -# /* BOOST_PP_IS_BINARY */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) -# else -# define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x) -# define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) -# endif -# -# define BOOST_PP_IS_BINARY_CHECK(a, b) 1 -# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/empty.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/empty.hpp deleted file mode 100644 index 116ef74..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/empty.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_EMPTY_HPP -# define BOOST_PREPROCESSOR_EMPTY_HPP -# -# include -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/empty.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/empty.hpp deleted file mode 100644 index 6f215dc..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/empty.hpp +++ /dev/null @@ -1,23 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP -# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP -# -# include -# -# /* BOOST_PP_EMPTY */ -# -# define BOOST_PP_EMPTY() -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/expand.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/expand.hpp deleted file mode 100644 index c8661a1..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/expand.hpp +++ /dev/null @@ -1,28 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP -# define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x) -# else -# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x)) -# define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par -# endif -# -# define BOOST_PP_EXPAND_I(x) x -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/identity.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/identity.hpp deleted file mode 100644 index 8a7834d..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/identity.hpp +++ /dev/null @@ -1,27 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2015) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP -# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP -# -# include -# include -# -# /* BOOST_PP_IDENTITY */ -# -# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY -# -# define BOOST_PP_IDENTITY_N(item,n) item BOOST_PP_TUPLE_EAT_N(n) -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/overload.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/overload.hpp deleted file mode 100644 index 1576316..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/facilities/overload.hpp +++ /dev/null @@ -1,25 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2011. * -# * (C) Copyright Edward Diener 2011. * -# * Distributed under the Boost Software License, Version 1.0. (See * -# * accompanying file LICENSE_1_0.txt or copy at * -# * http://www.boost.org/LICENSE_1_0.txt) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP -# define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP -# -# include -# include -# -# /* BOOST_PP_OVERLOAD */ -# -# if BOOST_PP_VARIADICS -# define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/identity.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/identity.hpp deleted file mode 100644 index 847dd13..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/identity.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP -# define BOOST_PREPROCESSOR_IDENTITY_HPP -# -# include -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/inc.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/inc.hpp deleted file mode 100644 index b98d3a6..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/inc.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_INC_HPP -# define BOOST_PREPROCESSOR_INC_HPP -# -# include -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/adt.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/adt.hpp deleted file mode 100644 index b4f12ba..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/adt.hpp +++ /dev/null @@ -1,73 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * -# * See http://www.boost.org for most recent version. -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP -# define BOOST_PREPROCESSOR_LIST_ADT_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_LIST_CONS */ -# -# define BOOST_PP_LIST_CONS(head, tail) (head, tail) -# -# /* BOOST_PP_LIST_NIL */ -# -# define BOOST_PP_LIST_NIL BOOST_PP_NIL -# -# /* BOOST_PP_LIST_FIRST */ -# -# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list -# else -# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list -# endif -# -# define BOOST_PP_LIST_FIRST_I(head, tail) head -# -# /* BOOST_PP_LIST_REST */ -# -# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list -# else -# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list -# endif -# -# define BOOST_PP_LIST_REST_I(head, tail) tail -# -# /* BOOST_PP_LIST_IS_CONS */ -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() -# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list) -# define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list -# define BOOST_PP_LIST_IS_CONS_(head, tail) 1 -# define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0 -# else -# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list) -# endif -# -# /* BOOST_PP_LIST_IS_NIL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() -# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list)) -# else -# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list)) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_left.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_left.hpp deleted file mode 100644 index f5fcab7..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_left.hpp +++ /dev/null @@ -1,279 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP -# -# include -# include -# include -# include -# -# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_right.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_right.hpp deleted file mode 100644 index 29146d5..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/detail/fold_right.hpp +++ /dev/null @@ -1,277 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP -# -# include -# include -# -# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l)) -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_left.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_left.hpp deleted file mode 100644 index f235aec..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_left.hpp +++ /dev/null @@ -1,303 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP -# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_LIST_FOLD_LEFT */ -# -# if 0 -# define BOOST_PP_LIST_FOLD_LEFT(op, state, list) -# endif -# -# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) -# -# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004) -# -# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT -# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1 -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0 -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_right.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_right.hpp deleted file mode 100644 index ce18afe..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/fold_right.hpp +++ /dev/null @@ -1,40 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP -# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP -# -# include -# include -# include -# include -# -# if 0 -# define BOOST_PP_LIST_FOLD_RIGHT(op, state, list) -# endif -# -# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) -# -# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004) -# -# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT -# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# else -# include -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/reverse.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/reverse.hpp deleted file mode 100644 index 651da05..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/list/reverse.hpp +++ /dev/null @@ -1,40 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP -# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP -# -# include -# include -# -# /* BOOST_PP_LIST_REVERSE */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# else -# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list) -# define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# endif -# -# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s) -# -# /* BOOST_PP_LIST_REVERSE_D */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# else -# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list) -# define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/and.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/and.hpp deleted file mode 100644 index 8590365..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/and.hpp +++ /dev/null @@ -1,30 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP -# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP -# -# include -# include -# include -# -# /* BOOST_PP_AND */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) -# else -# define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q) -# define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bitand.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bitand.hpp deleted file mode 100644 index 74e9527..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bitand.hpp +++ /dev/null @@ -1,38 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP -# -# include -# -# /* BOOST_PP_BITAND */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y) -# else -# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y)) -# define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y -# else -# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y) -# define BOOST_PP_BITAND_ID(res) res -# endif -# -# define BOOST_PP_BITAND_00 0 -# define BOOST_PP_BITAND_01 0 -# define BOOST_PP_BITAND_10 0 -# define BOOST_PP_BITAND_11 1 -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bool.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bool.hpp deleted file mode 100644 index fc01b5b..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/bool.hpp +++ /dev/null @@ -1,288 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP -# -# include -# -# /* BOOST_PP_BOOL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x) -# else -# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x)) -# define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par -# endif -# -# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x -# -# define BOOST_PP_BOOL_0 0 -# define BOOST_PP_BOOL_1 1 -# define BOOST_PP_BOOL_2 1 -# define BOOST_PP_BOOL_3 1 -# define BOOST_PP_BOOL_4 1 -# define BOOST_PP_BOOL_5 1 -# define BOOST_PP_BOOL_6 1 -# define BOOST_PP_BOOL_7 1 -# define BOOST_PP_BOOL_8 1 -# define BOOST_PP_BOOL_9 1 -# define BOOST_PP_BOOL_10 1 -# define BOOST_PP_BOOL_11 1 -# define BOOST_PP_BOOL_12 1 -# define BOOST_PP_BOOL_13 1 -# define BOOST_PP_BOOL_14 1 -# define BOOST_PP_BOOL_15 1 -# define BOOST_PP_BOOL_16 1 -# define BOOST_PP_BOOL_17 1 -# define BOOST_PP_BOOL_18 1 -# define BOOST_PP_BOOL_19 1 -# define BOOST_PP_BOOL_20 1 -# define BOOST_PP_BOOL_21 1 -# define BOOST_PP_BOOL_22 1 -# define BOOST_PP_BOOL_23 1 -# define BOOST_PP_BOOL_24 1 -# define BOOST_PP_BOOL_25 1 -# define BOOST_PP_BOOL_26 1 -# define BOOST_PP_BOOL_27 1 -# define BOOST_PP_BOOL_28 1 -# define BOOST_PP_BOOL_29 1 -# define BOOST_PP_BOOL_30 1 -# define BOOST_PP_BOOL_31 1 -# define BOOST_PP_BOOL_32 1 -# define BOOST_PP_BOOL_33 1 -# define BOOST_PP_BOOL_34 1 -# define BOOST_PP_BOOL_35 1 -# define BOOST_PP_BOOL_36 1 -# define BOOST_PP_BOOL_37 1 -# define BOOST_PP_BOOL_38 1 -# define BOOST_PP_BOOL_39 1 -# define BOOST_PP_BOOL_40 1 -# define BOOST_PP_BOOL_41 1 -# define BOOST_PP_BOOL_42 1 -# define BOOST_PP_BOOL_43 1 -# define BOOST_PP_BOOL_44 1 -# define BOOST_PP_BOOL_45 1 -# define BOOST_PP_BOOL_46 1 -# define BOOST_PP_BOOL_47 1 -# define BOOST_PP_BOOL_48 1 -# define BOOST_PP_BOOL_49 1 -# define BOOST_PP_BOOL_50 1 -# define BOOST_PP_BOOL_51 1 -# define BOOST_PP_BOOL_52 1 -# define BOOST_PP_BOOL_53 1 -# define BOOST_PP_BOOL_54 1 -# define BOOST_PP_BOOL_55 1 -# define BOOST_PP_BOOL_56 1 -# define BOOST_PP_BOOL_57 1 -# define BOOST_PP_BOOL_58 1 -# define BOOST_PP_BOOL_59 1 -# define BOOST_PP_BOOL_60 1 -# define BOOST_PP_BOOL_61 1 -# define BOOST_PP_BOOL_62 1 -# define BOOST_PP_BOOL_63 1 -# define BOOST_PP_BOOL_64 1 -# define BOOST_PP_BOOL_65 1 -# define BOOST_PP_BOOL_66 1 -# define BOOST_PP_BOOL_67 1 -# define BOOST_PP_BOOL_68 1 -# define BOOST_PP_BOOL_69 1 -# define BOOST_PP_BOOL_70 1 -# define BOOST_PP_BOOL_71 1 -# define BOOST_PP_BOOL_72 1 -# define BOOST_PP_BOOL_73 1 -# define BOOST_PP_BOOL_74 1 -# define BOOST_PP_BOOL_75 1 -# define BOOST_PP_BOOL_76 1 -# define BOOST_PP_BOOL_77 1 -# define BOOST_PP_BOOL_78 1 -# define BOOST_PP_BOOL_79 1 -# define BOOST_PP_BOOL_80 1 -# define BOOST_PP_BOOL_81 1 -# define BOOST_PP_BOOL_82 1 -# define BOOST_PP_BOOL_83 1 -# define BOOST_PP_BOOL_84 1 -# define BOOST_PP_BOOL_85 1 -# define BOOST_PP_BOOL_86 1 -# define BOOST_PP_BOOL_87 1 -# define BOOST_PP_BOOL_88 1 -# define BOOST_PP_BOOL_89 1 -# define BOOST_PP_BOOL_90 1 -# define BOOST_PP_BOOL_91 1 -# define BOOST_PP_BOOL_92 1 -# define BOOST_PP_BOOL_93 1 -# define BOOST_PP_BOOL_94 1 -# define BOOST_PP_BOOL_95 1 -# define BOOST_PP_BOOL_96 1 -# define BOOST_PP_BOOL_97 1 -# define BOOST_PP_BOOL_98 1 -# define BOOST_PP_BOOL_99 1 -# define BOOST_PP_BOOL_100 1 -# define BOOST_PP_BOOL_101 1 -# define BOOST_PP_BOOL_102 1 -# define BOOST_PP_BOOL_103 1 -# define BOOST_PP_BOOL_104 1 -# define BOOST_PP_BOOL_105 1 -# define BOOST_PP_BOOL_106 1 -# define BOOST_PP_BOOL_107 1 -# define BOOST_PP_BOOL_108 1 -# define BOOST_PP_BOOL_109 1 -# define BOOST_PP_BOOL_110 1 -# define BOOST_PP_BOOL_111 1 -# define BOOST_PP_BOOL_112 1 -# define BOOST_PP_BOOL_113 1 -# define BOOST_PP_BOOL_114 1 -# define BOOST_PP_BOOL_115 1 -# define BOOST_PP_BOOL_116 1 -# define BOOST_PP_BOOL_117 1 -# define BOOST_PP_BOOL_118 1 -# define BOOST_PP_BOOL_119 1 -# define BOOST_PP_BOOL_120 1 -# define BOOST_PP_BOOL_121 1 -# define BOOST_PP_BOOL_122 1 -# define BOOST_PP_BOOL_123 1 -# define BOOST_PP_BOOL_124 1 -# define BOOST_PP_BOOL_125 1 -# define BOOST_PP_BOOL_126 1 -# define BOOST_PP_BOOL_127 1 -# define BOOST_PP_BOOL_128 1 -# define BOOST_PP_BOOL_129 1 -# define BOOST_PP_BOOL_130 1 -# define BOOST_PP_BOOL_131 1 -# define BOOST_PP_BOOL_132 1 -# define BOOST_PP_BOOL_133 1 -# define BOOST_PP_BOOL_134 1 -# define BOOST_PP_BOOL_135 1 -# define BOOST_PP_BOOL_136 1 -# define BOOST_PP_BOOL_137 1 -# define BOOST_PP_BOOL_138 1 -# define BOOST_PP_BOOL_139 1 -# define BOOST_PP_BOOL_140 1 -# define BOOST_PP_BOOL_141 1 -# define BOOST_PP_BOOL_142 1 -# define BOOST_PP_BOOL_143 1 -# define BOOST_PP_BOOL_144 1 -# define BOOST_PP_BOOL_145 1 -# define BOOST_PP_BOOL_146 1 -# define BOOST_PP_BOOL_147 1 -# define BOOST_PP_BOOL_148 1 -# define BOOST_PP_BOOL_149 1 -# define BOOST_PP_BOOL_150 1 -# define BOOST_PP_BOOL_151 1 -# define BOOST_PP_BOOL_152 1 -# define BOOST_PP_BOOL_153 1 -# define BOOST_PP_BOOL_154 1 -# define BOOST_PP_BOOL_155 1 -# define BOOST_PP_BOOL_156 1 -# define BOOST_PP_BOOL_157 1 -# define BOOST_PP_BOOL_158 1 -# define BOOST_PP_BOOL_159 1 -# define BOOST_PP_BOOL_160 1 -# define BOOST_PP_BOOL_161 1 -# define BOOST_PP_BOOL_162 1 -# define BOOST_PP_BOOL_163 1 -# define BOOST_PP_BOOL_164 1 -# define BOOST_PP_BOOL_165 1 -# define BOOST_PP_BOOL_166 1 -# define BOOST_PP_BOOL_167 1 -# define BOOST_PP_BOOL_168 1 -# define BOOST_PP_BOOL_169 1 -# define BOOST_PP_BOOL_170 1 -# define BOOST_PP_BOOL_171 1 -# define BOOST_PP_BOOL_172 1 -# define BOOST_PP_BOOL_173 1 -# define BOOST_PP_BOOL_174 1 -# define BOOST_PP_BOOL_175 1 -# define BOOST_PP_BOOL_176 1 -# define BOOST_PP_BOOL_177 1 -# define BOOST_PP_BOOL_178 1 -# define BOOST_PP_BOOL_179 1 -# define BOOST_PP_BOOL_180 1 -# define BOOST_PP_BOOL_181 1 -# define BOOST_PP_BOOL_182 1 -# define BOOST_PP_BOOL_183 1 -# define BOOST_PP_BOOL_184 1 -# define BOOST_PP_BOOL_185 1 -# define BOOST_PP_BOOL_186 1 -# define BOOST_PP_BOOL_187 1 -# define BOOST_PP_BOOL_188 1 -# define BOOST_PP_BOOL_189 1 -# define BOOST_PP_BOOL_190 1 -# define BOOST_PP_BOOL_191 1 -# define BOOST_PP_BOOL_192 1 -# define BOOST_PP_BOOL_193 1 -# define BOOST_PP_BOOL_194 1 -# define BOOST_PP_BOOL_195 1 -# define BOOST_PP_BOOL_196 1 -# define BOOST_PP_BOOL_197 1 -# define BOOST_PP_BOOL_198 1 -# define BOOST_PP_BOOL_199 1 -# define BOOST_PP_BOOL_200 1 -# define BOOST_PP_BOOL_201 1 -# define BOOST_PP_BOOL_202 1 -# define BOOST_PP_BOOL_203 1 -# define BOOST_PP_BOOL_204 1 -# define BOOST_PP_BOOL_205 1 -# define BOOST_PP_BOOL_206 1 -# define BOOST_PP_BOOL_207 1 -# define BOOST_PP_BOOL_208 1 -# define BOOST_PP_BOOL_209 1 -# define BOOST_PP_BOOL_210 1 -# define BOOST_PP_BOOL_211 1 -# define BOOST_PP_BOOL_212 1 -# define BOOST_PP_BOOL_213 1 -# define BOOST_PP_BOOL_214 1 -# define BOOST_PP_BOOL_215 1 -# define BOOST_PP_BOOL_216 1 -# define BOOST_PP_BOOL_217 1 -# define BOOST_PP_BOOL_218 1 -# define BOOST_PP_BOOL_219 1 -# define BOOST_PP_BOOL_220 1 -# define BOOST_PP_BOOL_221 1 -# define BOOST_PP_BOOL_222 1 -# define BOOST_PP_BOOL_223 1 -# define BOOST_PP_BOOL_224 1 -# define BOOST_PP_BOOL_225 1 -# define BOOST_PP_BOOL_226 1 -# define BOOST_PP_BOOL_227 1 -# define BOOST_PP_BOOL_228 1 -# define BOOST_PP_BOOL_229 1 -# define BOOST_PP_BOOL_230 1 -# define BOOST_PP_BOOL_231 1 -# define BOOST_PP_BOOL_232 1 -# define BOOST_PP_BOOL_233 1 -# define BOOST_PP_BOOL_234 1 -# define BOOST_PP_BOOL_235 1 -# define BOOST_PP_BOOL_236 1 -# define BOOST_PP_BOOL_237 1 -# define BOOST_PP_BOOL_238 1 -# define BOOST_PP_BOOL_239 1 -# define BOOST_PP_BOOL_240 1 -# define BOOST_PP_BOOL_241 1 -# define BOOST_PP_BOOL_242 1 -# define BOOST_PP_BOOL_243 1 -# define BOOST_PP_BOOL_244 1 -# define BOOST_PP_BOOL_245 1 -# define BOOST_PP_BOOL_246 1 -# define BOOST_PP_BOOL_247 1 -# define BOOST_PP_BOOL_248 1 -# define BOOST_PP_BOOL_249 1 -# define BOOST_PP_BOOL_250 1 -# define BOOST_PP_BOOL_251 1 -# define BOOST_PP_BOOL_252 1 -# define BOOST_PP_BOOL_253 1 -# define BOOST_PP_BOOL_254 1 -# define BOOST_PP_BOOL_255 1 -# define BOOST_PP_BOOL_256 1 -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/compl.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/compl.hpp deleted file mode 100644 index ad4c7a4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/logical/compl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP -# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP -# -# include -# -# /* BOOST_PP_COMPL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x) -# else -# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x)) -# define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x -# else -# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x) -# define BOOST_PP_COMPL_ID(id) id -# endif -# -# define BOOST_PP_COMPL_0 1 -# define BOOST_PP_COMPL_1 0 -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma.hpp deleted file mode 100644 index 38c2e0e..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma.hpp +++ /dev/null @@ -1,21 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP -# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP -# -# /* BOOST_PP_COMMA */ -# -# define BOOST_PP_COMMA() , -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma_if.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma_if.hpp deleted file mode 100644 index c711f36..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/punctuation/comma_if.hpp +++ /dev/null @@ -1,31 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP -# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_COMMA_IF */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() -# else -# define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond) -# define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repeat.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repeat.hpp deleted file mode 100644 index 7c47ee8..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repeat.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPEAT_HPP -# define BOOST_PREPROCESSOR_REPEAT_HPP -# -# include -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_params.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_params.hpp deleted file mode 100644 index 65a2369..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_params.hpp +++ /dev/null @@ -1,41 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP -# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP -# -# include -# include -# include -# -# /* BOOST_PP_ENUM_PARAMS */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param) -# define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) -# endif -# -# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n -# -# /* BOOST_PP_ENUM_PARAMS_Z */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) -# define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_trailing_params.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_trailing_params.hpp deleted file mode 100644 index f7520db..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/enum_trailing_params.hpp +++ /dev/null @@ -1,38 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP -# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP -# -# include -# include -# -# /* BOOST_PP_ENUM_TRAILING_PARAMS */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) -# define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# endif -# -# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n -# -# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) -# define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/repeat.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/repeat.hpp deleted file mode 100644 index 0172738..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/repetition/repeat.hpp +++ /dev/null @@ -1,825 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP -# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP -# -# include -# include -# include -# include -# include -# -# /* BOOST_PP_REPEAT */ -# -# if 0 -# define BOOST_PP_REPEAT(count, macro, data) -# endif -# -# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) -# -# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL)) -# -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1 -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0 -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0 -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0 -# -# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d) -# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d) -# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d) -# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003) -# -# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d) -# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d) -# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d) -# -# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1 -# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2 -# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3 -# -# define BOOST_PP_REPEAT_1_0(m, d) -# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d) -# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d) -# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d) -# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d) -# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d) -# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d) -# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d) -# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d) -# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d) -# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d) -# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d) -# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d) -# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d) -# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d) -# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d) -# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d) -# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d) -# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d) -# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d) -# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d) -# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d) -# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d) -# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d) -# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d) -# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d) -# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d) -# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d) -# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d) -# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d) -# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d) -# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d) -# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d) -# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d) -# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d) -# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d) -# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d) -# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d) -# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d) -# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d) -# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d) -# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d) -# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d) -# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d) -# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d) -# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d) -# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d) -# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d) -# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d) -# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d) -# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d) -# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d) -# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d) -# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d) -# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d) -# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d) -# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d) -# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d) -# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d) -# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d) -# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d) -# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d) -# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d) -# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d) -# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d) -# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d) -# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d) -# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d) -# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d) -# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d) -# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d) -# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d) -# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d) -# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d) -# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d) -# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d) -# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d) -# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d) -# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d) -# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d) -# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d) -# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d) -# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d) -# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d) -# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d) -# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d) -# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d) -# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d) -# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d) -# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d) -# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d) -# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d) -# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d) -# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d) -# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d) -# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d) -# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d) -# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d) -# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d) -# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d) -# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d) -# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d) -# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d) -# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d) -# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d) -# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d) -# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d) -# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d) -# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d) -# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d) -# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d) -# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d) -# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d) -# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d) -# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d) -# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d) -# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d) -# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d) -# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d) -# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d) -# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d) -# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d) -# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d) -# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d) -# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d) -# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d) -# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d) -# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d) -# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d) -# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d) -# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d) -# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d) -# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d) -# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d) -# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d) -# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d) -# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d) -# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d) -# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d) -# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d) -# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d) -# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d) -# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d) -# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d) -# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d) -# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d) -# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d) -# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d) -# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d) -# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d) -# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d) -# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d) -# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d) -# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d) -# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d) -# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d) -# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d) -# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d) -# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d) -# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d) -# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d) -# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d) -# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d) -# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d) -# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d) -# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d) -# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d) -# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d) -# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d) -# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d) -# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d) -# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d) -# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d) -# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d) -# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d) -# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d) -# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d) -# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d) -# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d) -# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d) -# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d) -# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d) -# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d) -# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d) -# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d) -# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d) -# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d) -# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d) -# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d) -# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d) -# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d) -# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d) -# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d) -# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d) -# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d) -# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d) -# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d) -# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d) -# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d) -# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d) -# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d) -# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d) -# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d) -# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d) -# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d) -# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d) -# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d) -# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d) -# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d) -# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d) -# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d) -# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d) -# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d) -# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d) -# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d) -# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d) -# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d) -# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d) -# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d) -# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d) -# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d) -# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d) -# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d) -# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d) -# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d) -# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d) -# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d) -# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d) -# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d) -# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d) -# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d) -# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d) -# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d) -# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d) -# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d) -# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d) -# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d) -# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d) -# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d) -# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d) -# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d) -# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d) -# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d) -# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d) -# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d) -# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d) -# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d) -# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d) -# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d) -# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d) -# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d) -# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d) -# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d) -# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d) -# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d) -# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d) -# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d) -# -# define BOOST_PP_REPEAT_2_0(m, d) -# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d) -# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d) -# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d) -# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d) -# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d) -# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d) -# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d) -# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d) -# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d) -# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d) -# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d) -# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d) -# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d) -# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d) -# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d) -# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d) -# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d) -# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d) -# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d) -# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d) -# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d) -# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d) -# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d) -# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d) -# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d) -# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d) -# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d) -# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d) -# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d) -# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d) -# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d) -# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d) -# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d) -# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d) -# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d) -# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d) -# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d) -# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d) -# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d) -# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d) -# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d) -# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d) -# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d) -# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d) -# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d) -# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d) -# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d) -# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d) -# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d) -# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d) -# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d) -# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d) -# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d) -# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d) -# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d) -# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d) -# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d) -# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d) -# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d) -# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d) -# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d) -# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d) -# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d) -# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d) -# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d) -# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d) -# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d) -# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d) -# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d) -# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d) -# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d) -# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d) -# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d) -# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d) -# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d) -# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d) -# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d) -# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d) -# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d) -# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d) -# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d) -# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d) -# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d) -# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d) -# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d) -# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d) -# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d) -# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d) -# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d) -# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d) -# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d) -# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d) -# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d) -# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d) -# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d) -# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d) -# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d) -# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d) -# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d) -# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d) -# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d) -# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d) -# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d) -# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d) -# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d) -# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d) -# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d) -# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d) -# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d) -# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d) -# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d) -# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d) -# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d) -# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d) -# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d) -# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d) -# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d) -# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d) -# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d) -# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d) -# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d) -# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d) -# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d) -# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d) -# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d) -# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d) -# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d) -# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d) -# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d) -# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d) -# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d) -# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d) -# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d) -# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d) -# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d) -# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d) -# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d) -# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d) -# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d) -# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d) -# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d) -# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d) -# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d) -# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d) -# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d) -# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d) -# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d) -# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d) -# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d) -# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d) -# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d) -# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d) -# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d) -# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d) -# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d) -# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d) -# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d) -# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d) -# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d) -# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d) -# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d) -# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d) -# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d) -# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d) -# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d) -# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d) -# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d) -# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d) -# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d) -# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d) -# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d) -# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d) -# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d) -# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d) -# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d) -# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d) -# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d) -# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d) -# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d) -# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d) -# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d) -# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d) -# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d) -# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d) -# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d) -# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d) -# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d) -# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d) -# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d) -# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d) -# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d) -# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d) -# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d) -# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d) -# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d) -# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d) -# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d) -# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d) -# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d) -# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d) -# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d) -# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d) -# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d) -# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d) -# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d) -# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d) -# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d) -# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d) -# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d) -# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d) -# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d) -# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d) -# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d) -# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d) -# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d) -# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d) -# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d) -# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d) -# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d) -# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d) -# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d) -# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d) -# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d) -# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d) -# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d) -# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d) -# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d) -# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d) -# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d) -# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d) -# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d) -# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d) -# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d) -# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d) -# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d) -# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d) -# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d) -# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d) -# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d) -# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d) -# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d) -# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d) -# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d) -# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d) -# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d) -# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d) -# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d) -# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d) -# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d) -# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d) -# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d) -# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d) -# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d) -# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d) -# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d) -# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d) -# -# define BOOST_PP_REPEAT_3_0(m, d) -# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d) -# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d) -# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d) -# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d) -# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d) -# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d) -# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d) -# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d) -# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d) -# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d) -# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d) -# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d) -# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d) -# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d) -# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d) -# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d) -# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d) -# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d) -# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d) -# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d) -# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d) -# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d) -# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d) -# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d) -# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d) -# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d) -# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d) -# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d) -# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d) -# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d) -# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d) -# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d) -# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d) -# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d) -# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d) -# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d) -# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d) -# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d) -# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d) -# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d) -# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d) -# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d) -# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d) -# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d) -# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d) -# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d) -# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d) -# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d) -# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d) -# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d) -# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d) -# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d) -# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d) -# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d) -# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d) -# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d) -# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d) -# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d) -# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d) -# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d) -# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d) -# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d) -# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d) -# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d) -# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d) -# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d) -# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d) -# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d) -# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d) -# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d) -# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d) -# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d) -# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d) -# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d) -# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d) -# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d) -# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d) -# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d) -# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d) -# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d) -# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d) -# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d) -# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d) -# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d) -# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d) -# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d) -# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d) -# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d) -# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d) -# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d) -# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d) -# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d) -# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d) -# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d) -# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d) -# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d) -# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d) -# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d) -# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d) -# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d) -# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d) -# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d) -# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d) -# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d) -# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d) -# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d) -# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d) -# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d) -# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d) -# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d) -# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d) -# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d) -# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d) -# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d) -# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d) -# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d) -# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d) -# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d) -# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d) -# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d) -# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d) -# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d) -# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d) -# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d) -# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d) -# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d) -# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d) -# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d) -# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d) -# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d) -# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d) -# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d) -# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d) -# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d) -# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d) -# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d) -# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d) -# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d) -# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d) -# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d) -# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d) -# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d) -# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d) -# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d) -# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d) -# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d) -# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d) -# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d) -# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d) -# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d) -# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d) -# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d) -# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d) -# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d) -# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d) -# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d) -# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d) -# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d) -# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d) -# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d) -# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d) -# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d) -# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d) -# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d) -# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d) -# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d) -# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d) -# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d) -# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d) -# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d) -# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d) -# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d) -# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d) -# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d) -# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d) -# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d) -# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d) -# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d) -# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d) -# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d) -# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d) -# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d) -# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d) -# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d) -# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d) -# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d) -# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d) -# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d) -# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d) -# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d) -# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d) -# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d) -# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d) -# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d) -# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d) -# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d) -# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d) -# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d) -# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d) -# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d) -# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d) -# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d) -# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d) -# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d) -# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d) -# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d) -# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d) -# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d) -# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d) -# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d) -# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d) -# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d) -# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d) -# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d) -# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d) -# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d) -# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d) -# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d) -# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d) -# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d) -# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d) -# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d) -# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d) -# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d) -# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d) -# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d) -# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d) -# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d) -# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d) -# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d) -# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d) -# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d) -# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d) -# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d) -# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d) -# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d) -# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d) -# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d) -# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d) -# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d) -# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d) -# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d) -# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d) -# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d) -# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d) -# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d) -# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d) -# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d) -# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d) -# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d) -# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d) -# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d) -# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d) -# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d) -# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d) -# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d) -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/stringize.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/stringize.hpp deleted file mode 100644 index e072dbd..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/stringize.hpp +++ /dev/null @@ -1,37 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP -# define BOOST_PREPROCESSOR_STRINGIZE_HPP -# -# include -# -# /* BOOST_PP_STRINGIZE */ -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text)) -# define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text)) -# define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par -# else -# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text) -# endif -# -#if BOOST_PP_VARIADICS -# define BOOST_PP_STRINGIZE_I(...) #__VA_ARGS__ -#else -# define BOOST_PP_STRINGIZE_I(text) #text -#endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/detail/is_single_return.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/detail/is_single_return.hpp deleted file mode 100644 index 02a4fb2..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/detail/is_single_return.hpp +++ /dev/null @@ -1,28 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2014. * -# * Distributed under the Boost Software License, Version 1.0. (See * -# * accompanying file LICENSE_1_0.txt or copy at * -# * http://www.boost.org/LICENSE_1_0.txt) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP -# define BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP -# -# include -# -# /* BOOST_PP_TUPLE_IS_SINGLE_RETURN */ -# -# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC -# include -# include -# include -# define BOOST_PP_TUPLE_IS_SINGLE_RETURN(sr,nsr,tuple) \ - BOOST_PP_IIF(BOOST_PP_IS_1(BOOST_PP_TUPLE_SIZE(tuple)),sr,nsr) \ - /**/ -# endif /* BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC */ -# -# endif /* BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP */ diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/eat.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/eat.hpp deleted file mode 100644 index 7e8a100..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/eat.hpp +++ /dev/null @@ -1,115 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011,2015) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP -# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP -# -# include -# -# /* BOOST_PP_EAT */ -# -# if BOOST_PP_VARIADICS -# define BOOST_PP_EAT(...) -# else -# define BOOST_PP_EAT(x) -# endif -# -# /* BOOST_PP_TUPLE_EAT */ -# -# if BOOST_PP_VARIADICS -# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_EAT -# else -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size) -# else -# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size)) -# define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par -# endif -# define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_I(size) -# else -# define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_OO((size)) -# define BOOST_PP_TUPLE_EAT_N_OO(par) BOOST_PP_TUPLE_EAT_N_I ## par -# endif -# define BOOST_PP_TUPLE_EAT_N_I(size) BOOST_PP_TUPLE_EAT_ ## size -# -# define BOOST_PP_TUPLE_EAT_1(e0) -# define BOOST_PP_TUPLE_EAT_2(e0, e1) -# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2) -# define BOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3) -# define BOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4) -# define BOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5) -# define BOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6) -# define BOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7) -# define BOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) -# define BOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) -# define BOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) -# define BOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) -# define BOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) -# define BOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) -# define BOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) -# define BOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) -# define BOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) -# define BOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) -# define BOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) -# define BOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) -# define BOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) -# define BOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) -# define BOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) -# define BOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) -# define BOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) -# define BOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) -# define BOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) -# define BOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) -# define BOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) -# define BOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) -# define BOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) -# define BOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) -# define BOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) -# define BOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) -# define BOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) -# define BOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) -# define BOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) -# define BOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) -# define BOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) -# define BOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) -# define BOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) -# define BOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) -# define BOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) -# define BOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) -# define BOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) -# define BOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) -# define BOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) -# define BOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) -# define BOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) -# define BOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) -# define BOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) -# define BOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) -# define BOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) -# define BOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) -# define BOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) -# define BOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) -# define BOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) -# define BOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) -# define BOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) -# define BOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) -# define BOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) -# define BOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) -# define BOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) -# define BOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/elem.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/elem.hpp deleted file mode 100644 index 88044d3..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/elem.hpp +++ /dev/null @@ -1,201 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * Distributed under the Boost Software License, Version 1.0. (See -# * accompanying file LICENSE_1_0.txt or copy at -# * http://www.boost.org/LICENSE_1_0.txt) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011,2014) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP -# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP -# -# include -# include -# include -# include -# include -# include -# include -# -# if BOOST_PP_VARIADICS -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__)) -# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args) -# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,) -/* - Use BOOST_PP_REM_CAT if it is a single element tuple ( which might be empty ) - else use BOOST_PP_REM. This fixes a VC++ problem with an empty tuple and BOOST_PP_TUPLE_ELEM - functionality. See tuple_elem_bug_test.cxx. -*/ -# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) \ - BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple)) \ - /**/ -# else -# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__) -# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple) -# endif -# define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple) -# else -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n), BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size), tuple)) -# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args) -# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,) -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I_OO((size, n, tuple)) -# define BOOST_PP_TUPLE_ELEM_I_OO(par) BOOST_PP_TUPLE_ELEM_I ## par -# define BOOST_PP_TUPLE_ELEM_I(size, n, tuple) BOOST_PP_TUPLE_ELEM_II((n, BOOST_PP_TUPLE_ELEM_E_ ## size ## tuple)) -# define BOOST_PP_TUPLE_ELEM_II(par) BOOST_PP_TUPLE_ELEM_III_OO(par) -# define BOOST_PP_TUPLE_ELEM_III_OO(par) BOOST_PP_TUPLE_ELEM_III ## par -# define BOOST_PP_TUPLE_ELEM_III(n, etuple) BOOST_PP_TUPLE_ELEM_ ## n ## etuple -# else -# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size) tuple) -# define BOOST_PP_TUPLE_ELEM_I(x) x -# endif -# define BOOST_PP_TUPLE_ELEM_E_1(e0) (e0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_2(e0, e1) (e0, e1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_3(e0, e1, e2) (e0, e1, e2, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_4(e0, e1, e2, e3) (e0, e1, e2, e3, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_5(e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_6(e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_7(e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ?, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ?, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ?, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ?, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ?, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ?, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ?, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ?, ?) -# define BOOST_PP_TUPLE_ELEM_E_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ?) -# define BOOST_PP_TUPLE_ELEM_E_64 -# define BOOST_PP_TUPLE_ELEM_0(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0 -# define BOOST_PP_TUPLE_ELEM_1(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e1 -# define BOOST_PP_TUPLE_ELEM_2(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e2 -# define BOOST_PP_TUPLE_ELEM_3(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e3 -# define BOOST_PP_TUPLE_ELEM_4(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e4 -# define BOOST_PP_TUPLE_ELEM_5(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e5 -# define BOOST_PP_TUPLE_ELEM_6(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e6 -# define BOOST_PP_TUPLE_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e7 -# define BOOST_PP_TUPLE_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e8 -# define BOOST_PP_TUPLE_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e9 -# define BOOST_PP_TUPLE_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e10 -# define BOOST_PP_TUPLE_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e11 -# define BOOST_PP_TUPLE_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e12 -# define BOOST_PP_TUPLE_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e13 -# define BOOST_PP_TUPLE_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e14 -# define BOOST_PP_TUPLE_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e15 -# define BOOST_PP_TUPLE_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e16 -# define BOOST_PP_TUPLE_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e17 -# define BOOST_PP_TUPLE_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e18 -# define BOOST_PP_TUPLE_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e19 -# define BOOST_PP_TUPLE_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e20 -# define BOOST_PP_TUPLE_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e21 -# define BOOST_PP_TUPLE_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e22 -# define BOOST_PP_TUPLE_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e23 -# define BOOST_PP_TUPLE_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e24 -# define BOOST_PP_TUPLE_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e25 -# define BOOST_PP_TUPLE_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e26 -# define BOOST_PP_TUPLE_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e27 -# define BOOST_PP_TUPLE_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e28 -# define BOOST_PP_TUPLE_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e29 -# define BOOST_PP_TUPLE_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e30 -# define BOOST_PP_TUPLE_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e31 -# define BOOST_PP_TUPLE_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e32 -# define BOOST_PP_TUPLE_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e33 -# define BOOST_PP_TUPLE_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e34 -# define BOOST_PP_TUPLE_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e35 -# define BOOST_PP_TUPLE_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e36 -# define BOOST_PP_TUPLE_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e37 -# define BOOST_PP_TUPLE_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e38 -# define BOOST_PP_TUPLE_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e39 -# define BOOST_PP_TUPLE_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e40 -# define BOOST_PP_TUPLE_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e41 -# define BOOST_PP_TUPLE_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e42 -# define BOOST_PP_TUPLE_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e43 -# define BOOST_PP_TUPLE_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e44 -# define BOOST_PP_TUPLE_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e45 -# define BOOST_PP_TUPLE_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e46 -# define BOOST_PP_TUPLE_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e47 -# define BOOST_PP_TUPLE_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e48 -# define BOOST_PP_TUPLE_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e49 -# define BOOST_PP_TUPLE_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e50 -# define BOOST_PP_TUPLE_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e51 -# define BOOST_PP_TUPLE_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e52 -# define BOOST_PP_TUPLE_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e53 -# define BOOST_PP_TUPLE_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e54 -# define BOOST_PP_TUPLE_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e55 -# define BOOST_PP_TUPLE_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e56 -# define BOOST_PP_TUPLE_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e57 -# define BOOST_PP_TUPLE_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e58 -# define BOOST_PP_TUPLE_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e59 -# define BOOST_PP_TUPLE_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e60 -# define BOOST_PP_TUPLE_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e61 -# define BOOST_PP_TUPLE_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e62 -# define BOOST_PP_TUPLE_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e63 -# endif -# -# /* directly used elsewhere in Boost... */ -# -# define BOOST_PP_TUPLE_ELEM_1_0(a) a -# -# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a -# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b -# -# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a -# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b -# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/rem.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/rem.hpp deleted file mode 100644 index c934447..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/tuple/rem.hpp +++ /dev/null @@ -1,149 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002-2011. * -# * (C) Copyright Edward Diener 2011,2013. * -# * Distributed under the Boost Software License, Version 1.0. (See * -# * accompanying file LICENSE_1_0.txt or copy at * -# * http://www.boost.org/LICENSE_1_0.txt) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP -# define BOOST_PREPROCESSOR_TUPLE_REM_HPP -# -# include -# include -# include -# include -# include -# -# /* BOOST_PP_REM */ -# -# if BOOST_PP_VARIADICS -# if BOOST_PP_VARIADICS_MSVC - /* To be used internally when __VA_ARGS__ could be empty ( or is a single element ) */ -# define BOOST_PP_REM_CAT(...) BOOST_PP_CAT(__VA_ARGS__,) -# endif -# define BOOST_PP_REM(...) __VA_ARGS__ -# else -# define BOOST_PP_REM(x) x -# endif -# -# /* BOOST_PP_TUPLE_REM */ -# -/* - VC++8.0 cannot handle the variadic version of BOOST_PP_TUPLE_REM(size) -*/ -# if BOOST_PP_VARIADICS && !(BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400) -# if BOOST_PP_VARIADICS_MSVC - /* To be used internally when the size could be 0 ( or 1 ) */ -# define BOOST_PP_TUPLE_REM_CAT(size) BOOST_PP_REM_CAT -# endif -# define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM -# else -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size) -# else -# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size)) -# define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par -# endif -# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size -# endif -# define BOOST_PP_TUPLE_REM_0() -# define BOOST_PP_TUPLE_REM_1(e0) e0 -# define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1 -# define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2 -# define BOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3 -# define BOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4 -# define BOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5 -# define BOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6 -# define BOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7 -# define BOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8 -# define BOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9 -# define BOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10 -# define BOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11 -# define BOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12 -# define BOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13 -# define BOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14 -# define BOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15 -# define BOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16 -# define BOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17 -# define BOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18 -# define BOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19 -# define BOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20 -# define BOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21 -# define BOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22 -# define BOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23 -# define BOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24 -# define BOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25 -# define BOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26 -# define BOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27 -# define BOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28 -# define BOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29 -# define BOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30 -# define BOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31 -# define BOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32 -# define BOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33 -# define BOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34 -# define BOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35 -# define BOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36 -# define BOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37 -# define BOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38 -# define BOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39 -# define BOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40 -# define BOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41 -# define BOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42 -# define BOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43 -# define BOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44 -# define BOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45 -# define BOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46 -# define BOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47 -# define BOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48 -# define BOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49 -# define BOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50 -# define BOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51 -# define BOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52 -# define BOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53 -# define BOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54 -# define BOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55 -# define BOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56 -# define BOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57 -# define BOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58 -# define BOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59 -# define BOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60 -# define BOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61 -# define BOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62 -# define BOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63 -# -# /* BOOST_PP_TUPLE_REM_CTOR */ -# -# if BOOST_PP_VARIADICS -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__)) -# define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args) -# define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,) -# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple) -# else -# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__) -# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple -# endif -# define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) -# else -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) -# else -# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) -# define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) -# endif -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple -# else -# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple)) -# define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par -# define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple -# endif -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/elem.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/elem.hpp deleted file mode 100644 index be38a94..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/elem.hpp +++ /dev/null @@ -1,94 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * Distributed under the Boost Software License, Version 1.0. (See * -# * accompanying file LICENSE_1_0.txt or copy at * -# * http://www.boost.org/LICENSE_1_0.txt) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP -# define BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP -# -# include -# include -# -# /* BOOST_PP_VARIADIC_ELEM */ -# -# if BOOST_PP_VARIADICS -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__) -# define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),) -# else -# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,) -# endif -# define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0 -# define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1 -# define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2 -# define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3 -# define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4 -# define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5 -# define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6 -# define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7 -# define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8 -# define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9 -# define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10 -# define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11 -# define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12 -# define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13 -# define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14 -# define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15 -# define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16 -# define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17 -# define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18 -# define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19 -# define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20 -# define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21 -# define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22 -# define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23 -# define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24 -# define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25 -# define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26 -# define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27 -# define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28 -# define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29 -# define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30 -# define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31 -# define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32 -# define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33 -# define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34 -# define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35 -# define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36 -# define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37 -# define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38 -# define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39 -# define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40 -# define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41 -# define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42 -# define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43 -# define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44 -# define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45 -# define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46 -# define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47 -# define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48 -# define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49 -# define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50 -# define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51 -# define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52 -# define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53 -# define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54 -# define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55 -# define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56 -# define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57 -# define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58 -# define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59 -# define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60 -# define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61 -# define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62 -# define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63 -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/size.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/size.hpp deleted file mode 100644 index b92a5ff..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/preprocessor/variadic/size.hpp +++ /dev/null @@ -1,30 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * Distributed under the Boost Software License, Version 1.0. (See * -# * accompanying file LICENSE_1_0.txt or copy at * -# * http://www.boost.org/LICENSE_1_0.txt) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP -# define BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP -# -# include -# include -# -# /* BOOST_PP_VARIADIC_SIZE */ -# -# if BOOST_PP_VARIADICS -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) -# else -# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) -# endif -# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size -# endif -# -# endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/scoped_array.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/scoped_array.hpp deleted file mode 100644 index d91889b..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/scoped_array.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED -#define BOOST_SCOPED_ARRAY_HPP_INCLUDED - -// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. -// Copyright (c) 2001, 2002 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/smart_ptr/ for documentation. - -#include - -#endif // #ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/operator_bool.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/operator_bool.hpp deleted file mode 100644 index f9c5ef6..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/operator_bool.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// This header intentionally has no include guards. -// -// Copyright (c) 2001-2009, 2012 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt - -#if !defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ) && !defined( BOOST_NO_CXX11_NULLPTR )\ - && !(defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5130)) - - explicit operator bool () const BOOST_SP_NOEXCEPT - { - return px != 0; - } - -#elif ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__) - - operator bool () const BOOST_SP_NOEXCEPT - { - return px != 0; - } - -#elif defined( _MANAGED ) - - static void unspecified_bool( this_type*** ) - { - } - - typedef void (*unspecified_bool_type)( this_type*** ); - - operator unspecified_bool_type() const BOOST_SP_NOEXCEPT - { - return px == 0? 0: unspecified_bool; - } - -#elif \ - ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \ - ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \ - ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) ) - - typedef element_type * (this_type::*unspecified_bool_type)() const; - - operator unspecified_bool_type() const BOOST_SP_NOEXCEPT - { - return px == 0? 0: &this_type::get; - } - -#else - - typedef element_type * this_type::*unspecified_bool_type; - - operator unspecified_bool_type() const BOOST_SP_NOEXCEPT - { - return px == 0? 0: &this_type::px; - } - -#endif - - // operator! is redundant, but some compilers need it - bool operator! () const BOOST_SP_NOEXCEPT - { - return px == 0; - } diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_noexcept.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_noexcept.hpp deleted file mode 100644 index 1287ba4..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_noexcept.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef BOOST_SMART_PTR_DETAIL_SP_NOEXCEPT_HPP_INCLUDED -#define BOOST_SMART_PTR_DETAIL_SP_NOEXCEPT_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// detail/sp_noexcept.hpp -// -// Copyright 2016, 2017 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt - -#include - -// BOOST_SP_NOEXCEPT - -#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1700 && BOOST_MSVC < 1900 - -# define BOOST_SP_NOEXCEPT BOOST_NOEXCEPT_OR_NOTHROW - -#else - -# define BOOST_SP_NOEXCEPT BOOST_NOEXCEPT - -#endif - -// BOOST_SP_NOEXCEPT_WITH_ASSERT - -#if defined(BOOST_DISABLE_ASSERTS) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) ) - -# define BOOST_SP_NOEXCEPT_WITH_ASSERT BOOST_SP_NOEXCEPT - -#elif defined(BOOST_ENABLE_ASSERT_HANDLER) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) ) - -# define BOOST_SP_NOEXCEPT_WITH_ASSERT - -#else - -# define BOOST_SP_NOEXCEPT_WITH_ASSERT BOOST_SP_NOEXCEPT - -#endif - -#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_NOEXCEPT_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_nullptr_t.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_nullptr_t.hpp deleted file mode 100644 index 219ae80..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/detail/sp_nullptr_t.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED -#define BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// detail/sp_nullptr_t.hpp -// -// Copyright 2013 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt - -#include -#include - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - -namespace boost -{ - -namespace detail -{ - -#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) ) - - typedef decltype(nullptr) sp_nullptr_t; - -#else - - typedef std::nullptr_t sp_nullptr_t; - -#endif - -} // namespace detail - -} // namespace boost - -#endif // !defined( BOOST_NO_CXX11_NULLPTR ) - -#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/scoped_array.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/scoped_array.hpp deleted file mode 100644 index 05dd05a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/smart_ptr/scoped_array.hpp +++ /dev/null @@ -1,132 +0,0 @@ -#ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED -#define BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED - -// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. -// Copyright (c) 2001, 2002 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/smart_ptr/ for documentation. - -#include -#include -#include -#include -#include - -#include - -#include // for std::ptrdiff_t - -namespace boost -{ - -// Debug hooks - -#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) - -void sp_array_constructor_hook(void * p); -void sp_array_destructor_hook(void * p); - -#endif - -// scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to -// is guaranteed, either on destruction of the scoped_array or via an explicit -// reset(). Use shared_array or std::vector if your needs are more complex. - -template class scoped_array // noncopyable -{ -private: - - T * px; - - scoped_array(scoped_array const &); - scoped_array & operator=(scoped_array const &); - - typedef scoped_array this_type; - - void operator==( scoped_array const& ) const; - void operator!=( scoped_array const& ) const; - -public: - - typedef T element_type; - - explicit scoped_array( T * p = 0 ) BOOST_SP_NOEXCEPT : px( p ) - { -#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) - boost::sp_array_constructor_hook( px ); -#endif - } - - ~scoped_array() BOOST_SP_NOEXCEPT - { -#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) - boost::sp_array_destructor_hook( px ); -#endif - boost::checked_array_delete( px ); - } - - void reset(T * p = 0) BOOST_SP_NOEXCEPT_WITH_ASSERT - { - BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors - this_type(p).swap(*this); - } - - T & operator[](std::ptrdiff_t i) const BOOST_SP_NOEXCEPT_WITH_ASSERT - { - BOOST_ASSERT( px != 0 ); - BOOST_ASSERT( i >= 0 ); - return px[i]; - } - - T * get() const BOOST_SP_NOEXCEPT - { - return px; - } - -// implicit conversion to "bool" -#include - - void swap(scoped_array & b) BOOST_SP_NOEXCEPT - { - T * tmp = b.px; - b.px = px; - px = tmp; - } -}; - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - -template inline bool operator==( scoped_array const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT -{ - return p.get() == 0; -} - -template inline bool operator==( boost::detail::sp_nullptr_t, scoped_array const & p ) BOOST_SP_NOEXCEPT -{ - return p.get() == 0; -} - -template inline bool operator!=( scoped_array const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT -{ - return p.get() != 0; -} - -template inline bool operator!=( boost::detail::sp_nullptr_t, scoped_array const & p ) BOOST_SP_NOEXCEPT -{ - return p.get() != 0; -} - -#endif - -template inline void swap(scoped_array & a, scoped_array & b) BOOST_SP_NOEXCEPT -{ - a.swap(b); -} - -} // namespace boost - -#endif // #ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/static_assert.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/static_assert.hpp deleted file mode 100644 index fd7b224..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/static_assert.hpp +++ /dev/null @@ -1,180 +0,0 @@ -// (C) Copyright John Maddock 2000. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/static_assert for documentation. - -/* - Revision history: - 02 August 2000 - Initial version. -*/ - -#ifndef BOOST_STATIC_ASSERT_HPP -#define BOOST_STATIC_ASSERT_HPP - -#include -#include - -#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) -// -// This is horrible, but it seems to be the only we can shut up the -// "anonymous variadic macros were introduced in C99 [-Wvariadic-macros]" -// warning that get spewed out otherwise in non-C++11 mode. -// -#pragma GCC system_header -#endif - -#ifndef BOOST_NO_CXX11_STATIC_ASSERT -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__) -# else -# define BOOST_STATIC_ASSERT_MSG( B, Msg ) static_assert( B, Msg ) -# endif -#else -# define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B ) -#endif - -#ifdef __BORLANDC__ -// -// workaround for buggy integral-constant expression support: -#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS -#endif - -#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4)) -// gcc 3.3 and 3.4 don't produce good error messages with the default version: -# define BOOST_SA_GCC_WORKAROUND -#endif - -// -// If the compiler issues warnings about old C style casts, -// then enable this: -// -#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))) -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) != 0) -# else -# define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) != 0) -# endif -#else -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) (bool)(__VA_ARGS__) -# else -# define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x) -# endif -#endif - -#ifndef BOOST_NO_CXX11_STATIC_ASSERT -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__) -# else -# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B) -# endif -#else - -namespace boost{ - -// HP aCC cannot deal with missing names for template value parameters -template struct STATIC_ASSERTION_FAILURE; - -template <> struct STATIC_ASSERTION_FAILURE { enum { value = 1 }; }; - -// HP aCC cannot deal with missing names for template value parameters -template struct static_assert_test{}; - -} - -// -// Implicit instantiation requires that all member declarations be -// instantiated, but that the definitions are *not* instantiated. -// -// It's not particularly clear how this applies to enum's or typedefs; -// both are described as declarations [7.1.3] and [7.2] in the standard, -// however some compilers use "delayed evaluation" of one or more of -// these when implicitly instantiating templates. We use typedef declarations -// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum -// version gets better results from your compiler... -// -// Implementation: -// Both of these versions rely on sizeof(incomplete_type) generating an error -// message containing the name of the incomplete type. We use -// "STATIC_ASSERTION_FAILURE" as the type name here to generate -// an eye catching error message. The result of the sizeof expression is either -// used as an enum initialiser, or as a template argument depending which version -// is in use... -// Note that the argument to the assert is explicitly cast to bool using old- -// style casts: too many compilers currently have problems with static_cast -// when used inside integral constant expressions. -// -#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS) - -#if defined(BOOST_MSVC) && defined(BOOST_NO_CXX11_VARIADIC_MACROS) -#define BOOST_STATIC_ASSERT( B ) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__) -#elif defined(BOOST_MSVC) -#define BOOST_STATIC_ASSERT(...) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST (__VA_ARGS__) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__) -#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && defined(BOOST_NO_CXX11_VARIADIC_MACROS) -// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error -// instead of warning in case of failure -# define BOOST_STATIC_ASSERT( B ) \ - typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \ - [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ] -#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && !defined(BOOST_NO_CXX11_VARIADIC_MACROS) -// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error -// instead of warning in case of failure -# define BOOST_STATIC_ASSERT(...) \ - typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \ - [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >::value ] -#elif defined(__sgi) -// special version for SGI MIPSpro compiler -#define BOOST_STATIC_ASSERT( B ) \ - BOOST_STATIC_CONSTANT(bool, \ - BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< \ - BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __LINE__) -#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003) -// special version for CodeWarrior <= 8.x -#define BOOST_STATIC_ASSERT( B ) \ - BOOST_STATIC_CONSTANT(int, \ - BOOST_JOIN(boost_static_assert_test_, __LINE__) = \ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) ) -#else -// generic version -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT( ... ) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_ATTRIBUTE_UNUSED -# else -# define BOOST_STATIC_ASSERT( B ) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_ATTRIBUTE_UNUSED -# endif -#endif - -#else -// alternative enum based implementation: -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT( ... ) \ - enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \ - = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( __VA_ARGS__ ) >) } -# else -# define BOOST_STATIC_ASSERT(B) \ - enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \ - = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) } -# endif -#endif -#endif // defined(BOOST_NO_CXX11_STATIC_ASSERT) - -#endif // BOOST_STATIC_ASSERT_HPP - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/throw_exception.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/throw_exception.hpp deleted file mode 100644 index cd77ead..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/throw_exception.hpp +++ /dev/null @@ -1,103 +0,0 @@ -#ifndef UUID_AA15E74A856F11E08B8D93F24824019B -#define UUID_AA15E74A856F11E08B8D93F24824019B - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// boost/throw_exception.hpp -// -// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc. -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// http://www.boost.org/libs/utility/throw_exception.html -// - -#include -#include -#include - -#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) ) -# define BOOST_EXCEPTION_DISABLE -#endif - -#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 ) -# define BOOST_EXCEPTION_DISABLE -#endif - -#if !defined( BOOST_EXCEPTION_DISABLE ) -# include -#if !defined(BOOST_THROW_EXCEPTION_CURRENT_FUNCTION) -# include -# define BOOST_THROW_EXCEPTION_CURRENT_FUNCTION BOOST_CURRENT_FUNCTION -#endif -# define BOOST_THROW_EXCEPTION(x) ::boost::exception_detail::throw_exception_(x,BOOST_THROW_EXCEPTION_CURRENT_FUNCTION,__FILE__,__LINE__) -#else -# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x) -#endif - -#if defined(__GNUC__) && (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma GCC system_header -#endif -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(push,1) -#endif - -namespace boost -{ -#ifdef BOOST_NO_EXCEPTIONS - -BOOST_NORETURN void throw_exception( std::exception const & e ); // user defined - -#else - -inline void throw_exception_assert_compatibility( std::exception const & ) { } - -template BOOST_NORETURN inline void throw_exception( E const & e ) -{ - //All boost exceptions are required to derive from std::exception, - //to ensure compatibility with BOOST_NO_EXCEPTIONS. - throw_exception_assert_compatibility(e); - -#ifndef BOOST_EXCEPTION_DISABLE - throw exception_detail::enable_both( e ); -#else - throw e; -#endif -} - -#endif - -#if !defined( BOOST_EXCEPTION_DISABLE ) - namespace - exception_detail - { - template - BOOST_NORETURN - void - throw_exception_( E const & x, char const * current_function, char const * file, int line ) - { - boost::throw_exception( - set_info( - set_info( - set_info( - enable_error_info(x), - throw_function(current_function)), - throw_file(file)), - throw_line(line))); - } - } -#endif -} // namespace boost - -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(pop) -#endif -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type.hpp deleted file mode 100644 index ab81c91..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// (C) Copyright David Abrahams 2001. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_TYPE_DWA20010120_HPP -# define BOOST_TYPE_DWA20010120_HPP - -namespace boost { - - // Just a simple "type envelope". Useful in various contexts, mostly to work - // around some MSVC deficiencies. - template - struct type {}; - -} - -#endif // BOOST_TYPE_DWA20010120_HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_lvalue_reference.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_lvalue_reference.hpp deleted file mode 100644 index 26b74e6..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_lvalue_reference.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2010 John Maddock - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP -#define BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP - -#include - -namespace boost{ - -template struct add_lvalue_reference -{ - typedef typename boost::add_reference::type type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template struct add_lvalue_reference -{ - typedef T& type; -}; -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_lvalue_reference_t = typename add_lvalue_reference::type; - -#endif - -} - -#endif // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_reference.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_reference.hpp deleted file mode 100644 index 33e9bc7..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_reference.hpp +++ /dev/null @@ -1,66 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_ADD_REFERENCE_HPP_INCLUDED -#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - -namespace detail { - -// -// We can't filter out rvalue_references at the same level as -// references or we get ambiguities from msvc: -// - -template -struct add_reference_impl -{ - typedef T& type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template -struct add_reference_impl -{ - typedef T&& type; -}; -#endif - -} // namespace detail - -template struct add_reference -{ - typedef typename boost::detail::add_reference_impl::type type; -}; -template struct add_reference -{ - typedef T& type; -}; - -// these full specialisations are always required: -template <> struct add_reference { typedef void type; }; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> struct add_reference { typedef const void type; }; -template <> struct add_reference { typedef const volatile void type; }; -template <> struct add_reference { typedef volatile void type; }; -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - -template using add_reference_t = typename add_reference::type; - -#endif - - -} // namespace boost - -#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_rvalue_reference.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_rvalue_reference.hpp deleted file mode 100644 index ad64894..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/add_rvalue_reference.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// add_rvalue_reference.hpp ---------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP -#define BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP - -#include - -//----------------------------------------------------------------------------// - -#include -#include - -//----------------------------------------------------------------------------// -// // -// C++03 implementation of // -// 20.9.7.2 Reference modifications [meta.trans.ref] // -// Written by Vicente J. Botet Escriba // -// // -// If T names an object or function type then the member typedef type -// shall name T&&; otherwise, type shall name T. [ Note: This rule reflects -// the semantics of reference collapsing. For example, when a type T names -// a type T1&, the type add_rvalue_reference::type is not an rvalue -// reference. -end note ] -//----------------------------------------------------------------------------// - -namespace boost { - -namespace type_traits_detail { - - template - struct add_rvalue_reference_helper - { typedef T type; }; - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - struct add_rvalue_reference_helper - { - typedef T&& type; - }; -#endif - - template - struct add_rvalue_reference_imp - { - typedef typename boost::type_traits_detail::add_rvalue_reference_helper - ::value == false && is_reference::value == false) >::type type; - }; - -} - -template struct add_rvalue_reference -{ - typedef typename boost::type_traits_detail::add_rvalue_reference_imp::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_rvalue_reference_t = typename add_rvalue_reference::type; - -#endif - -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/declval.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/declval.hpp deleted file mode 100644 index a050012..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/declval.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// declval.hpp -------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED - -#include - -//----------------------------------------------------------------------------// - -#include - -//----------------------------------------------------------------------------// -// // -// C++03 implementation of // -// 20.2.4 Function template declval [declval] // -// Written by Vicente J. Botet Escriba // -// // -// 1 The library provides the function template declval to simplify the -// definition of expressions which occur as unevaluated operands. -// 2 Remarks: If this function is used, the program is ill-formed. -// 3 Remarks: The template parameter T of declval may be an incomplete type. -// [ Example: -// -// template -// decltype(static_cast(declval())) convert(From&&); -// -// declares a function template convert which only participates in overloading -// if the type From can be explicitly converted to type To. For another example -// see class template common_type (20.9.7.6). -end example ] -//----------------------------------------------------------------------------// - -namespace boost { - - template - typename add_rvalue_reference::type declval() BOOST_NOEXCEPT; // as unevaluated operand - -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/config.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/config.hpp deleted file mode 100644 index 7c4b4f2..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/config.hpp +++ /dev/null @@ -1,113 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_CONFIG_HPP_INCLUDED -#define BOOST_TT_CONFIG_HPP_INCLUDED - -#ifndef BOOST_CONFIG_HPP -#include -#endif -#include -#include - -// -// whenever we have a conversion function with ellipses -// it needs to be declared __cdecl to suppress compiler -// warnings from MS and Borland compilers (this *must* -// appear before we include is_same.hpp below): -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) -# define BOOST_TT_DECL __cdecl -#else -# define BOOST_TT_DECL /**/ -#endif - -# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000) \ - || BOOST_WORKAROUND(__IBMCPP__, < 600 ) \ - || BOOST_WORKAROUND(__BORLANDC__, < 0x5A0) \ - || defined(__ghs) \ - || BOOST_WORKAROUND(__HP_aCC, < 60700) \ - || BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890)) \ - || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580))) \ - && defined(BOOST_NO_IS_ABSTRACT) - -# define BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1 - -#endif - -#ifndef BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION -# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1 -#endif - -// -// define BOOST_TT_TEST_MS_FUNC_SIGS -// when we want to test __stdcall etc function types with is_function etc -// (Note, does not work with Borland, even though it does support __stdcall etc): -// -#if defined(_MSC_EXTENSIONS) && !defined(__BORLANDC__) -# define BOOST_TT_TEST_MS_FUNC_SIGS -#endif - -// -// define BOOST_TT_NO_CV_FUNC_TEST -// if tests for cv-qualified member functions don't -// work in is_member_function_pointer -// -#if BOOST_WORKAROUND(__MWERKS__, < 0x3000) || BOOST_WORKAROUND(__IBMCPP__, <= 600) -# define BOOST_TT_NO_CV_FUNC_TEST -#endif - -// -// Macros that have been deprecated, defined here for backwards compatibility: -// -#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(x) -#define BOOST_TT_BROKEN_COMPILER_SPEC(x) - -// -// Can we implement "accurate" binary operator detection: -// -#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(BOOST_GCC, < 40900) -# define BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION -#endif - -#if defined(__clang__) && (__clang_major__ == 3) && (__clang_minor__ < 2) && defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) -#undef BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION -#endif - -// -// Can we implement accurate is_function/is_member_function_pointer (post C++03)? -// -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !BOOST_WORKAROUND(BOOST_GCC, < 40805)\ - && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4) -# define BOOST_TT_HAS_ASCCURATE_IS_FUNCTION -#endif - -#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703) -# define BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM -#endif -#if defined(__APPLE_CC__) && defined(__clang_major__) && (__clang_major__ == 9) && (__clang_minor__ == 0) -# define BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM -# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE -#endif -// -// If we have the SD6 macros (check for C++11's __cpp_rvalue_references), and we don't have __cpp_noexcept_function_type -// set, then don't treat noexcept functions as seperate types. This is a fix for msvc with the /Zc:noexceptTypes- flag set. -// -#if defined(__cpp_rvalue_references) && !defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) -# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE -#endif -// -// Check MSVC specific macro on older msvc compilers that don't support the SD6 macros, we don't rely on this -// if the SD6 macros *are* available as it appears to be undocumented. -// -#if defined(BOOST_MSVC) && !defined(__cpp_rvalue_references) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) && !defined(_NOEXCEPT_TYPES_SUPPORTED) -# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE -#endif - -#endif // BOOST_TT_CONFIG_HPP_INCLUDED - - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/is_function_cxx_11.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/is_function_cxx_11.hpp deleted file mode 100644 index 4de74a7..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/is_function_cxx_11.hpp +++ /dev/null @@ -1,597 +0,0 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) -// -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED -#define BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED - -#include - -namespace boost { - - template - struct is_function : public false_type {}; - -#if defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) -#define BOOST_TT_NOEXCEPT_PARAM , bool NE -#define BOOST_TT_NOEXCEPT_DECL noexcept(NE) -#else -#define BOOST_TT_NOEXCEPT_PARAM -#define BOOST_TT_NOEXCEPT_DECL -#endif - -#ifdef _MSC_VER -#define BOOST_TT_DEF_CALL __cdecl -#else -#define BOOST_TT_DEF_CALL -#endif - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // Reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // rvalue reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - -#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // rvalue reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - -#endif // _MSC_VER - - // All over again for msvc with noexcept: - -#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) - -#undef BOOST_TT_NOEXCEPT_DECL -#define BOOST_TT_NOEXCEPT_DECL noexcept - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // Reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // rvalue reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - -#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // rvalue reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - -#endif // defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) - -#endif - -} - -#undef BOOST_TT_NOEXCEPT_DECL -#undef BOOST_TT_NOEXCEPT_PARAM -#undef BOOST_TT_DEF_CALL - -#endif // BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/yes_no_type.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/yes_no_type.hpp deleted file mode 100644 index f583730..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/detail/yes_no_type.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -// (C) Copyright John Maddock and Steve Cleary 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. -// -// macros and helpers for working with integral-constant-expressions. - -#ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED -#define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED - -namespace boost { -namespace type_traits { - -typedef char yes_type; -struct no_type -{ - char padding[8]; -}; - -} // namespace type_traits -} // namespace boost - -#endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/integral_constant.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/integral_constant.hpp deleted file mode 100644 index 1b36dbd..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/integral_constant.hpp +++ /dev/null @@ -1,97 +0,0 @@ -// (C) Copyright John Maddock 2015. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP -#define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP - -#include -#include - -#if (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ - || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) )\ - || defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) - - -namespace boost{ - namespace mpl - { - template struct bool_; - template struct integral_c; - struct integral_c_tag; - } -} - -#else - -namespace mpl_{ - - template struct bool_; - template struct integral_c; - struct integral_c_tag; -} - -namespace boost -{ - namespace mpl - { - using ::mpl_::bool_; - using ::mpl_::integral_c; - using ::mpl_::integral_c_tag; - } -} - -#endif - -namespace boost{ - - template - struct integral_constant - { - typedef mpl::integral_c_tag tag; - typedef T value_type; - typedef integral_constant type; - static const T value = val; - - operator const mpl::integral_c& ()const - { - static const char data[sizeof(long)] = { 0 }; - static const void* pdata = data; - return *(reinterpret_cast*>(pdata)); - } - BOOST_CONSTEXPR operator T()const { return val; } - }; - - template - T const integral_constant::value; - - template - struct integral_constant - { - typedef mpl::integral_c_tag tag; - typedef bool value_type; - typedef integral_constant type; - static const bool value = val; - - operator const mpl::bool_& ()const - { - static const char data[sizeof(long)] = { 0 }; - static const void* pdata = data; - return *(reinterpret_cast*>(pdata)); - } - BOOST_CONSTEXPR operator bool()const { return val; } - }; - - template - bool const integral_constant::value; - - typedef integral_constant true_type; - typedef integral_constant false_type; - -} - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/intrinsics.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/intrinsics.hpp deleted file mode 100644 index d41a61e..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/intrinsics.hpp +++ /dev/null @@ -1,391 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_INTRINSICS_HPP_INCLUDED -#define BOOST_TT_INTRINSICS_HPP_INCLUDED - -#ifndef BOOST_TT_DISABLE_INTRINSICS - -#include - -#ifndef BOOST_TT_CONFIG_HPP_INCLUDED -#include -#endif - -// -// Helper macros for builtin compiler support. -// If your compiler has builtin support for any of the following -// traits concepts, then redefine the appropriate macros to pick -// up on the compiler support: -// -// (these should largely ignore cv-qualifiers) -// BOOST_IS_UNION(T) should evaluate to true if T is a union type -// BOOST_IS_POD(T) should evaluate to true if T is a POD type -// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union) -// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect -// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy -// BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy -// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy -// BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(u) <==> memcpy -// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect -// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw -// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw -// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw -// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor -// BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) should evaluate to true if T has a non-throwing move constructor. -// BOOST_IS_NOTHROW_MOVE_ASSIGN(T) should evaluate to true if T has a non-throwing move assignment operator. -// -// The following can also be defined: when detected our implementation is greatly simplified. -// -// BOOST_IS_ABSTRACT(T) true if T is an abstract type -// BOOST_IS_BASE_OF(T,U) true if T is a base class of U -// BOOST_IS_CLASS(T) true if T is a class type (and not a union) -// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U -// BOOST_IS_ENUM(T) true is T is an enum -// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type -// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T. -// -// define BOOST_TT_DISABLE_INTRINSICS to prevent any intrinsics being used (mostly used when testing) -// - -#ifdef BOOST_HAS_SGI_TYPE_TRAITS - // Hook into SGI's __type_traits class, this will pick up user supplied - // specializations as well as SGI - compiler supplied specializations. -# include -# ifdef __NetBSD__ - // There are two different versions of type_traits.h on NetBSD on Spark - // use an implicit include via algorithm instead, to make sure we get - // the same version as the std lib: -# include -# else -# include -# endif -# define BOOST_IS_POD(T) ::boost::is_same< typename ::__type_traits::is_POD_type, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::boost::is_same< typename ::__type_traits::has_trivial_default_constructor, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_COPY(T) ::boost::is_same< typename ::__type_traits::has_trivial_copy_constructor, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ::boost::is_same< typename ::__type_traits::has_trivial_assignment_operator, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::boost::is_same< typename ::__type_traits::has_trivial_destructor, ::__true_type>::value - -# ifdef __sgi -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -# endif -#endif - -#if defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) - // Metrowerks compiler is acquiring intrinsic type traits support - // post version 8. We hook into the published interface to pick up - // user defined specializations as well as compiler intrinsics as - // and when they become available: -# include -# define BOOST_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union::value -# define BOOST_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD::value -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor::value -# define BOOST_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor::value -# define BOOST_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment::value -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor::value -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\ - || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500)) -// -// Note that even though these intrinsics rely on other type traits classes -// we do not #include those here as it produces cyclic dependencies and -// can cause the intrinsics to not even be used at all! -// -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T)) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ( ::boost::is_pod::value && ! ::boost::is_const::value && !::boost::is_volatile::value)) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::boost::is_pod::value) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::boost::has_trivial_constructor::value) -#if !defined(BOOST_INTEL) -# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) || ::boost::has_trivial_copy::value) && !is_array::value) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) || ::boost::is_pod::value) -#elif (_MSC_VER >= 1900) -# define BOOST_HAS_NOTHROW_COPY(T) ((__is_nothrow_constructible(T, typename add_lvalue_reference::type>::type)) && !is_array::value) -# define BOOST_HAS_TRIVIAL_COPY(T) (__is_trivially_constructible(T, typename add_lvalue_reference::type>::type)) -#endif -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::boost::has_trivial_assign::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same::value && !is_function::value)) && !__is_abstract(U)) -# define BOOST_IS_ENUM(T) __is_enum(T) -// This one fails if the default alignment has been changed with /Zp: -// # define BOOST_ALIGNMENT_OF(T) __alignof(T) - -# if defined(_MSC_VER) && (_MSC_VER >= 1800) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__is_trivially_constructible(T, T&&) || boost::is_pod::value) && ! ::boost::is_volatile::value && ! ::boost::is_reference::value) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__is_trivially_assignable(T, T&&) || boost::is_pod::value) && ! ::boost::is_const::value && !::boost::is_volatile::value && ! ::boost::is_reference::value) -# elif defined(_MSC_VER) && (_MSC_VER >= 1700) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || boost::is_pod::value) && ! ::boost::is_volatile::value && ! ::boost::is_reference::value) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || boost::is_pod::value) && ! ::boost::is_const::value && !::boost::is_volatile::value && ! ::boost::is_reference::value) -# endif -#ifndef BOOST_NO_CXX11_FINAL -// This one doesn't quite always do the right thing on older VC++ versions -// we really need it when the final keyword is supported though: -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -#endif -#if _MSC_FULL_VER >= 180020827 -# define BOOST_IS_NOTHROW_MOVE_ASSIGN(T) (__is_nothrow_assignable(T&, T&&)) -# define BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) (__is_nothrow_constructible(T, T&&)) -#endif -#if _MSC_VER >= 1800 -# define BOOST_IS_FINAL(T) __is_final(T) -#endif -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__DMC__) && (__DMC__ >= 0x848) -// For Digital Mars C++, www.digitalmars.com -# define BOOST_IS_UNION(T) (__typeinfo(T) & 0x400) -# define BOOST_IS_POD(T) (__typeinfo(T) & 0x800) -# define BOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10) -# define BOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80) -# define BOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4) -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(BOOST_CLANG) && defined(__has_feature) && !defined(__CUDACC__) -// -// Note that these intrinsics are disabled for the CUDA meta-compiler as it appears -// to not support them, even though the underlying clang compiler does so. -// This is a rubbish fix as it basically stops type traits from working correctly, -// but maybe the best we can do for now. See https://svn.boost.org/trac/boost/ticket/10694 -// -// -// Note that even though these intrinsics rely on other type traits classes -// we do not #include those here as it produces cyclic dependencies and -// can cause the intrinsics to not even be used at all! -// -# include - -# if __has_feature(is_union) -# define BOOST_IS_UNION(T) __is_union(T) -# endif -# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod) -# define BOOST_IS_POD(T) __is_pod(T) -# endif -# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# endif -# if __has_feature(has_trivial_constructor) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# endif -# if __has_feature(has_trivial_copy) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) -# endif -# if __has_feature(has_trivial_assign) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value && is_assignable::value) -# endif -# if __has_feature(has_trivial_destructor) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) && is_destructible::value) -# endif -# if __has_feature(has_nothrow_constructor) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value) -# endif -# if __has_feature(has_nothrow_copy) -# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) -# endif -# if __has_feature(has_nothrow_assign) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value && is_assignable::value) -# endif -# if __has_feature(has_virtual_destructor) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) -# endif -# if __has_feature(is_abstract) -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# endif -# if __has_feature(is_base_of) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# endif -# if __has_feature(is_class) -# define BOOST_IS_CLASS(T) __is_class(T) -# endif -# if __has_feature(is_convertible_to) -# define BOOST_IS_CONVERTIBLE(T,U) __is_convertible_to(T,U) -# endif -# if __has_feature(is_enum) -# define BOOST_IS_ENUM(T) __is_enum(T) -# endif -# if __has_feature(is_polymorphic) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# endif -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -# if __has_extension(is_trivially_constructible) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible::value && !::boost::is_volatile::value) -# endif -# if __has_extension(is_trivially_assignable) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable::value && !::boost::is_volatile::value) -# endif -#endif -# if (!defined(unix) && !defined(__unix__)) || defined(__LP64__) || !defined(__GNUC__) -// GCC sometimes lies about alignment requirements -// of type double on 32-bit unix platforms, use the -// old implementation instead in that case: -# define BOOST_ALIGNMENT_OF(T) __alignof(T) -# endif -# if __has_feature(is_final) -# define BOOST_IS_FINAL(T) __is_final(T) -# endif - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG) -// -// Note that even though these intrinsics rely on other type traits classes -// we do not #include those here as it produces cyclic dependencies and -// can cause the intrinsics to not even be used at all! -// - -#ifdef BOOST_INTEL -# define BOOST_INTEL_TT_OPTS || is_pod::value -#else -# define BOOST_INTEL_TT_OPTS -#endif - -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) __is_pod(T) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value) -# define BOOST_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_INTEL_TT_OPTS) && !is_reference::value) -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value && ! ::boost::is_const::value && is_assignable::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS && is_destructible::value) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value BOOST_INTEL_TT_OPTS) -# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_const::value && is_assignable::value) -#else -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value && ! ::boost::is_const::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_INTEL_TT_OPTS) -#if ((__GNUC__ * 100 + __GNUC_MINOR__) != 407) && ((__GNUC__ * 100 + __GNUC_MINOR__) != 408) -# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_reference::value && !is_array::value) -#endif -# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_const::value && !is_array::value) -#endif -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_ENUM(T) __is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# if (!defined(unix) && !defined(__unix__) && \ - !(defined(__VXWORKS__) && defined(__i386__))) || defined(__LP64__) - // GCC sometimes lies about alignment requirements - // of type double on 32-bit unix platforms, use the - // old implementation instead in that case: -# define BOOST_ALIGNMENT_OF(T) __alignof__(T) -# endif -# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) -# define BOOST_IS_FINAL(T) __is_final(T) -# endif - -# if (__GNUC__ >= 5) && (__cplusplus >= 201103) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable::value && !::boost::is_volatile::value) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible::value && !::boost::is_volatile::value) -# endif - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) -# define BOOST_IS_UNION(T) __oracle_is_union(T) -# define BOOST_IS_POD(T) (__oracle_is_pod(T) && !is_function::value) -# define BOOST_IS_EMPTY(T) __oracle_is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__oracle_has_trivial_constructor(T) && ! ::boost::is_volatile::value) -# define BOOST_HAS_TRIVIAL_COPY(T) (__oracle_has_trivial_copy(T) && !is_reference::value) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && ! ::boost::is_volatile::value && ! ::boost::is_const::value && is_assignable::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__oracle_has_trivial_destructor(T) && is_destructible::value) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) ((__oracle_has_nothrow_constructor(T) || __oracle_has_trivial_constructor(T) || __oracle_is_trivial(T)) && is_default_constructible::value) -// __oracle_has_nothrow_copy appears to behave the same as __oracle_has_nothrow_assign, disabled for now: -//# define BOOST_HAS_NOTHROW_COPY(T) ((__oracle_has_nothrow_copy(T) || __oracle_has_trivial_copy(T) || __oracle_is_trivial(T)) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__oracle_has_nothrow_assign(T) || __oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && !is_volatile::value && !is_const::value && is_assignable::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __oracle_has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __oracle_is_abstract(T) -//# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __oracle_is_class(T) -# define BOOST_IS_ENUM(T) __oracle_is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __oracle_is_polymorphic(T) -# define BOOST_ALIGNMENT_OF(T) __alignof__(T) -# define BOOST_IS_FINAL(T) __oracle_is_final(T) - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) -# include -# include -# include - -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) __is_pod(T) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T) -# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_ENUM(T) __is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# define BOOST_ALIGNMENT_OF(T) __alignof__(T) -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -# if defined(__CODEGEARC__) -# include -# include -# include -# include - -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) __is_pod(T) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T)) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_reference::value) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T)) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T)) -# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile::value && !is_reference::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void::value && !is_void::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void::value) -# define BOOST_IS_ENUM(T) __is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# define BOOST_ALIGNMENT_OF(T) alignof(T) - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#endif // BOOST_TT_DISABLE_INTRINSICS - -#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_abstract.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_abstract.hpp deleted file mode 100644 index 781d94a..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_abstract.hpp +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP -#define BOOST_TT_IS_ABSTRACT_CLASS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// is_abstract_class.hpp: -// -// (C) Copyright 2002 Rani Sharoni (rani_sharoni@hotmail.com) and Robert Ramey -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org for updates, documentation, and revision history. -// - -// Compile type discovery whether given type is abstract class or not. -// -// Requires DR 337 to be supported by compiler -// (http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#337). -// -// -// Believed (Jan 2004) to work on: -// - GCC 3.4 -// - VC++ 7.1 -// - compilers with new EDG frontend (Intel C++ 7, Comeau 4.3.2) -// -// Doesn't work on: -// - VC++6, VC++7.0 and less -// - GCC 3.3.X and less -// - Borland C++ 6 and less -// -// -// History: -// - Originally written by Rani Sharoni, see -// http://groups.google.com/groups?selm=df893da6.0207110613.75b2fe90%40posting.google.com -// At this time supported by EDG (Intel C++ 7, Comeau 4.3.2) and VC7.1. -// - Adapted and added into Boost.Serialization library by Robert Ramey -// (starting with submission #10). -// - Jan 2004: GCC 3.4 fixed to support DR337 (Giovanni Bajo). -// - Jan 2004: modified to be part of Boost.TypeTraits (Pavel Vozenilek). -// - Nov 2004: Christoph Ludwig found that the implementation did not work with -// template types and gcc-3.4 or VC7.1, fix due to Christoph Ludwig -// and John Maddock. -// - Dec 2004: Added new config macro BOOST_NO_IS_ABSTRACT which causes the template -// to degrade gracefully, rather than trash the compiler (John Maddock). -// - -#include // size_t -#include -#include -#ifndef BOOST_IS_ABSTRACT -#include -#include -#include -#ifdef BOOST_NO_IS_ABSTRACT -#include -#endif -#endif - -namespace boost { - -namespace detail{ - -#ifdef BOOST_IS_ABSTRACT -template -struct is_abstract_imp -{ - BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T)); -}; -#elif !defined(BOOST_NO_IS_ABSTRACT) -template -struct is_abstract_imp2 -{ - // Deduction fails if T is void, function type, - // reference type (14.8.2/2)or an abstract class type - // according to review status issue #337 - // - template - static type_traits::no_type check_sig(U (*)[1]); - template - static type_traits::yes_type check_sig(...); - // - // T must be a complete type, further if T is a template then - // it must be instantiated in order for us to get the right answer: - // - BOOST_STATIC_ASSERT(sizeof(T) != 0); - - // GCC2 won't even parse this template if we embed the computation - // of s1 in the computation of value. -#ifdef __GNUC__ - BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2::template check_sig(0))); -#else -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(push) -#pragma warning(disable:6334) -#endif - BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig(0))); -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(pop) -#endif -#endif - - BOOST_STATIC_CONSTANT(bool, value = - (s1 == sizeof(type_traits::yes_type))); -}; - -template -struct is_abstract_select -{ - template - struct rebind - { - typedef is_abstract_imp2 type; - }; -}; -template <> -struct is_abstract_select -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template -struct is_abstract_imp -{ - typedef is_abstract_select< ::boost::is_class::value> selector; - typedef typename selector::template rebind binder; - typedef typename binder::type type; - - BOOST_STATIC_CONSTANT(bool, value = type::value); -}; - -#endif -} - -#ifndef BOOST_NO_IS_ABSTRACT -template struct is_abstract : public integral_constant::value> {}; -#else -template struct is_abstract : public integral_constant::value> {}; -#endif - -} // namespace boost - -#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_arithmetic.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_arithmetic.hpp deleted file mode 100644 index c23811e..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_arithmetic.hpp +++ /dev/null @@ -1,22 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED -#define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED - -#include -#include - -namespace boost { - -template -struct is_arithmetic : public integral_constant::value || is_floating_point::value> {}; - -} // namespace boost - -#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_array.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_array.hpp deleted file mode 100644 index 53e1613..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_array.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -// Some fixes for is_array are based on a newsgroup posting by Jonathan Lundquist. - - -#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED -#define BOOST_TT_IS_ARRAY_HPP_INCLUDED - -#include -#include // size_t - -namespace boost { - -#if defined( __CODEGEARC__ ) - template struct is_array : public integral_constant {}; -#else - template struct is_array : public false_type {}; -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) - template struct is_array : public true_type {}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; -#endif -#endif - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_complete.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_complete.hpp deleted file mode 100644 index 07cb897..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_complete.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// (C) Copyright John Maddock 2017. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_COMPLETE_HPP_INCLUDED -#define BOOST_TT_IS_COMPLETE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -/* - * CAUTION: - * ~~~~~~~~ - * - * THIS TRAIT EXISTS SOLELY TO GENERATE HARD ERRORS WHEN A ANOTHER TRAIT - * WHICH REQUIRES COMPLETE TYPES AS ARGUMENTS IS PASSED AN INCOMPLETE TYPE - * - * DO NOT MAKE GENERAL USE OF THIS TRAIT, AS THE COMPLETENESS OF A TYPE - * VARIES ACROSS TRANSLATION UNITS AS WELL AS WITHIN A SINGLE UNIT. - * -*/ - -namespace boost { - - -// -// We will undef this if the trait isn't fully functional: -// -#define BOOST_TT_HAS_WORKING_IS_COMPLETE - -#if !defined(BOOST_NO_SFINAE_EXPR) && !BOOST_WORKAROUND(BOOST_MSVC, <= 1900) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40600) - - namespace detail{ - - template - struct ok_tag { double d; char c[N]; }; - - template - ok_tag check_is_complete(int); - template - char check_is_complete(...); - } - - template struct is_complete - : public integral_constant::type>::value || (sizeof(boost::detail::check_is_complete(0)) != sizeof(char))> {}; - -#elif !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) - - namespace detail - { - - template - struct is_complete_imp - { - template ())) > - static type_traits::yes_type check(U*); - - template - static type_traits::no_type check(...); - - static const bool value = sizeof(check(0)) == sizeof(type_traits::yes_type); - }; - -} // namespace detail - - - template - struct is_complete : boost::integral_constant::type>::value || ::boost::detail::is_complete_imp::value> - {}; - template - struct is_complete : boost::is_complete {}; - -#else - - template struct is_complete - : public boost::integral_constant {}; - -#undef BOOST_TT_HAS_WORKING_IS_COMPLETE - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_COMPLETE_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_convertible.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_convertible.hpp deleted file mode 100644 index bf648fc..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_convertible.hpp +++ /dev/null @@ -1,506 +0,0 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu) -// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) -// -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED -#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#ifndef BOOST_IS_CONVERTIBLE -#include -#include -#include -#include -#include -#if !defined(BOOST_NO_IS_ABSTRACT) -#include -#endif -#include -#include -#include - -#if defined(__MWERKS__) -#include -#endif -#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -# include -#endif -#elif defined(BOOST_MSVC) || defined(BOOST_INTEL) -#include -#include -#endif // BOOST_IS_CONVERTIBLE - -namespace boost { - -#ifndef BOOST_IS_CONVERTIBLE - -// is one type convertible to another? -// -// there are multiple versions of the is_convertible -// template, almost every compiler seems to require its -// own version. -// -// Thanks to Andrei Alexandrescu for the original version of the -// conversion detection technique! -// - -namespace detail { - -#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_GCC) && (BOOST_GCC < 40700)) - - // This is a C++11 conforming version, place this first and use it wherever possible: - -# define BOOST_TT_CXX11_IS_CONVERTIBLE - - template - struct or_helper - { - static const bool value = (A::value || B::value || C::value); - }; - - template, boost::is_function, boost::is_array >::value> - struct is_convertible_basic_impl - { - // Nothing converts to function or array, but void converts to void: - static const bool value = is_void::value; - }; - - template - class is_convertible_basic_impl - { - typedef char one; - typedef int two; - - template - static void test_aux(To1); - - template - static decltype(test_aux(boost::declval()), one()) test(int); - - template - static two test(...); - - public: - static const bool value = sizeof(test(0)) == 1; - }; - -#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x560) -// -// special version for Borland compilers -// this version breaks when used for some -// UDT conversions: -// -template -struct is_convertible_impl -{ -#pragma option push -w-8074 - // This workaround for Borland breaks the EDG C++ frontend, - // so we only use it for Borland. - template struct checker - { - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(T); - }; - - static typename add_lvalue_reference::type _m_from; - static bool const value = sizeof( checker::_m_check(_m_from) ) - == sizeof(::boost::type_traits::yes_type); -#pragma option pop -}; - -#elif defined(__GNUC__) || defined(__BORLANDC__) && (__BORLANDC__ < 0x600) -// special version for gcc compiler + recent Borland versions -// note that this does not pass UDT's through (...) - -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - template any_conversion(T&); -}; - -template struct checker -{ - static boost::type_traits::no_type _m_check(any_conversion ...); - static boost::type_traits::yes_type _m_check(T, int); -}; - -template -struct is_convertible_basic_impl -{ - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))) - static bool const value = - sizeof( boost::detail::checker::_m_check(static_cast(_m_from), 0) ) - == sizeof(::boost::type_traits::yes_type); -#else - static bool const value = - sizeof( boost::detail::checker::_m_check(_m_from, 0) ) - == sizeof(::boost::type_traits::yes_type); -#endif -}; - -#elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \ - || defined(__IBMCPP__) || defined(__HP_aCC) -// -// This is *almost* an ideal world implementation as it doesn't rely -// on undefined behaviour by passing UDT's through (...). -// Unfortunately it doesn't quite pass all the tests for most compilers (sigh...) -// Enable this for your compiler if is_convertible_test.cpp will compile it... -// -// Note we do not enable this for VC7.1, because even though it passes all the -// type_traits tests it is known to cause problems when instantiation occurs -// deep within the instantiation tree :-( -// -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - // we need this constructor to catch references to functions - // (which can not be cv-qualified): - template any_conversion(T&); -}; - -template -struct is_convertible_basic_impl -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -}; - -#elif defined(__DMC__) - -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - // we need this constructor to catch references to functions - // (which can not be cv-qualified): - template any_conversion(T&); -}; - -template -struct is_convertible_basic_impl -{ - // Using '...' doesn't always work on Digital Mars. This version seems to. - template - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion, float, T); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; - - // Static constants sometime cause the conversion of _m_from to To to be - // called. This doesn't happen with an enum. -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - enum { value = - sizeof( _m_check(static_cast(_m_from), 0, 0) ) == sizeof(::boost::type_traits::yes_type) - }; -#else - enum { value = - sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type) - }; -#endif -}; - -#elif defined(__MWERKS__) -// -// CW works with the technique implemented above for EDG, except when From -// is a function type (or a reference to such a type), in which case -// any_conversion won't be accepted as a valid conversion. We detect this -// exceptional situation and channel it through an alternative algorithm. -// - -template -struct is_convertible_basic_impl_aux; - -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - template any_conversion(T&); -}; - -template -struct is_convertible_basic_impl_aux -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -}; - -template -struct is_convertible_basic_impl_aux -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from)) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -}; - -template -struct is_convertible_basic_impl: - is_convertible_basic_impl_aux< - From,To, - ::boost::is_function::type>::value - > -{}; - -#else -// -// This version seems to work pretty well for a wide spectrum of compilers, -// however it does rely on undefined behaviour by passing UDT's through (...). -// - -//Workaround for old compilers like MSVC 7.1 to avoid -//forming a reference to an array of unknown bound -template -struct is_convertible_basic_impl_add_lvalue_reference - : add_lvalue_reference -{}; - -template -struct is_convertible_basic_impl_add_lvalue_reference -{ - typedef From type []; -}; - -template -struct is_convertible_basic_impl -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To); - typedef typename is_convertible_basic_impl_add_lvalue_reference::type lvalue_type; - static lvalue_type _m_from; -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4244) -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(disable:6334) -#endif -#endif -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - typedef typename add_rvalue_reference::type rvalue_type; - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from)) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -}; - -#endif // is_convertible_impl - -#if defined(__DMC__) -// As before, a static constant sometimes causes errors on Digital Mars. -template -struct is_convertible_impl -{ - enum { - value = ( ::boost::detail::is_convertible_basic_impl::value && ! ::boost::is_array::value && ! ::boost::is_function::value) - }; -}; -#elif !defined(__BORLANDC__) || __BORLANDC__ > 0x551 -template -struct is_convertible_impl -{ - BOOST_STATIC_CONSTANT(bool, value = ( ::boost::detail::is_convertible_basic_impl::value && !::boost::is_array::value && !::boost::is_function::value)); -}; -#endif - -template -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef is_convertible_impl type; - }; -}; - -template <> -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef true_type type; - }; -}; - -template <> -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template <> -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template -struct is_convertible_impl_dispatch_base -{ -#if !BOOST_WORKAROUND(__HP_aCC, < 60700) - typedef is_convertible_impl_select< - ::boost::is_arithmetic::value, - ::boost::is_arithmetic::value, -#if !defined(BOOST_NO_IS_ABSTRACT) && !defined(BOOST_TT_CXX11_IS_CONVERTIBLE) - // We need to filter out abstract types, only if we don't have a strictly conforming C++11 version: - ::boost::is_abstract::value -#else - false -#endif - > selector; -#else - typedef is_convertible_impl_select selector; -#endif - typedef typename selector::template rebind isc_binder; - typedef typename isc_binder::type type; -}; - -template -struct is_convertible_impl_dispatch - : public is_convertible_impl_dispatch_base::type -{}; - -// -// Now add the full and partial specialisations -// for void types, these are common to all the -// implementation above: -// -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -#else -template <> struct is_convertible_impl_dispatch : public true_type{}; -#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS - -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; - -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -#endif - -} // namespace detail - -template -struct is_convertible : public integral_constant::value> -{ - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "Destination argument type to is_convertible must be a complete type"); - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "From argument type to is_convertible must be a complete type"); -}; - -#else - -template -struct is_convertible : public integral_constant -{ -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1900) - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value || boost::is_reference::value, "From argument type to is_convertible must be a complete type"); -#endif -#if defined(__clang__) - // clang's intrinsic doesn't assert on incomplete types: - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "Destination argument type to is_convertible must be a complete type"); - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "From argument type to is_convertible must be a complete type"); -#endif -}; - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_floating_point.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_floating_point.hpp deleted file mode 100644 index 196c900..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_floating_point.hpp +++ /dev/null @@ -1,30 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED - -#include - -namespace boost { - -//* is a type T a floating-point type described in the standard (3.9.1p8) - template struct is_floating_point : public false_type{}; - template struct is_floating_point : public is_floating_point{}; - template struct is_floating_point : public is_floating_point{}; - template struct is_floating_point : public is_floating_point{}; - template<> struct is_floating_point : public true_type{}; - template<> struct is_floating_point : public true_type{}; - template<> struct is_floating_point : public true_type{}; - -#if defined(BOOST_HAS_FLOAT128) - template<> struct is_floating_point<__float128> : public true_type{}; -#endif - -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_function.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_function.hpp deleted file mode 100644 index 8556235..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_function.hpp +++ /dev/null @@ -1,27 +0,0 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) -// -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED -#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED - -#include -#include - -#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION - -#include - -#else - -#include - -#endif - -#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_integral.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_integral.hpp deleted file mode 100644 index 7a7e54b..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_integral.hpp +++ /dev/null @@ -1,89 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED -#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED - -#include -#include - -namespace boost { - -#if defined( __CODEGEARC__ ) - template - struct is_integral : public integral_constant {}; -#else - -template struct is_integral : public false_type {}; -template struct is_integral : public is_integral {}; -template struct is_integral : public is_integral{}; -template struct is_integral : public is_integral{}; - -//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3) -// as an extension we include long long, as this is likely to be added to the -// standard at a later date -template<> struct is_integral : public true_type {}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; - -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; - -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -// If the following line fails to compile and you're using the Intel -// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php, -// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line. -template<> struct is_integral : public true_type{}; -#endif - -// Same set of integral types as in boost/type_traits/integral_promotion.hpp. -// Please, keep in sync. -- Alexander Nasonov -#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \ - || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300)) -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral<__int8> : public true_type{}; -template<> struct is_integral<__int16> : public true_type{}; -template<> struct is_integral<__int32> : public true_type{}; -#ifdef __BORLANDC__ -template<> struct is_integral : public true_type{}; -template<> struct is_integral<__int64> : public true_type{}; -#endif -#endif - -# if defined(BOOST_HAS_LONG_LONG) -template<> struct is_integral< ::boost::ulong_long_type> : public true_type{}; -template<> struct is_integral< ::boost::long_long_type> : public true_type{}; -#elif defined(BOOST_HAS_MS_INT64) -template<> struct is_integral : public true_type{}; -template<> struct is_integral<__int64> : public true_type{}; -#endif - -#ifdef BOOST_HAS_INT128 -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -#endif -#ifndef BOOST_NO_CXX11_CHAR16_T -template<> struct is_integral : public true_type{}; -#endif -#ifndef BOOST_NO_CXX11_CHAR32_T -template<> struct is_integral : public true_type{}; -#endif - -#endif // non-CodeGear implementation - -} // namespace boost - -#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_lvalue_reference.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_lvalue_reference.hpp deleted file mode 100644 index e94d787..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_lvalue_reference.hpp +++ /dev/null @@ -1,50 +0,0 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_lvalue_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED -#define BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED - -#include - -namespace boost { - -#if defined( __CODEGEARC__ ) - template struct is_lvalue_reference : public integral_constant{}; -#else - - template struct is_lvalue_reference : public false_type{}; - template struct is_lvalue_reference : public true_type{}; - -#if defined(BOOST_ILLEGAL_CV_REFERENCES) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... - template struct is_lvalue_reference : public true_type{}; - template struct is_lvalue_reference : public true_type{}; - template struct is_lvalue_reference : public true_type{}; -#endif - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_reference.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_reference.hpp deleted file mode 100644 index 85f0a63..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_reference.hpp +++ /dev/null @@ -1,30 +0,0 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000, 2010. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED -#define BOOST_TT_IS_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - -template struct is_reference - : public - integral_constant< - bool, - ::boost::is_lvalue_reference::value || ::boost::is_rvalue_reference::value> -{}; - -} // namespace boost - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_rvalue_reference.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_rvalue_reference.hpp deleted file mode 100644 index 37d33c9..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_rvalue_reference.hpp +++ /dev/null @@ -1,29 +0,0 @@ - -// (C) Copyright John Maddock 2010. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED -#define BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - -template struct is_rvalue_reference : public false_type {}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template struct is_rvalue_reference : public true_type {}; -#endif - -} // namespace boost - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700) -#include -#endif - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_same.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_same.hpp deleted file mode 100644 index d16f4b2..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_same.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_SAME_HPP_INCLUDED -#define BOOST_TT_IS_SAME_HPP_INCLUDED - -#include - -namespace boost { - - - template struct is_same : public false_type {}; - template struct is_same : public true_type {}; -#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) -// without this, Borland's compiler gives the wrong answer for -// references to arrays: - template struct is_same : public true_type{}; -#endif - - -} // namespace boost - -#endif // BOOST_TT_IS_SAME_HPP_INCLUDED - diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_void.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_void.hpp deleted file mode 100644 index 183f8ab..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/is_void.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_VOID_HPP_INCLUDED -#define BOOST_TT_IS_VOID_HPP_INCLUDED - -#include - -namespace boost { - -template -struct is_void : public false_type {}; - -template<> struct is_void : public true_type {}; -template<> struct is_void : public true_type{}; -template<> struct is_void : public true_type{}; -template<> struct is_void : public true_type{}; - -} // namespace boost - -#endif // BOOST_TT_IS_VOID_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_cv.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_cv.hpp deleted file mode 100644 index 57a96f2..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_cv.hpp +++ /dev/null @@ -1,45 +0,0 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED -#define BOOST_TT_REMOVE_CV_HPP_INCLUDED - -#include -#include -#include // size_t - -namespace boost { - - // convert a type T to a non-cv-qualified type - remove_cv -template struct remove_cv{ typedef T type; }; -template struct remove_cv{ typedef T type; }; -template struct remove_cv{ typedef T type; }; -template struct remove_cv{ typedef T type; }; - -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -template struct remove_cv{ typedef T type[N]; }; -template struct remove_cv{ typedef T type[N]; }; -template struct remove_cv{ typedef T type[N]; }; -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -template struct remove_cv{ typedef T type[]; }; -template struct remove_cv{ typedef T type[]; }; -template struct remove_cv{ typedef T type[]; }; -#endif -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using remove_cv_t = typename remove_cv::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_reference.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_reference.hpp deleted file mode 100644 index 70949fb..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/type_traits/remove_reference.hpp +++ /dev/null @@ -1,59 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED -#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - - -namespace detail{ -// -// We can't filter out rvalue_references at the same level as -// references or we get ambiguities from msvc: -// -template -struct remove_rvalue_ref -{ - typedef T type; -}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template -struct remove_rvalue_ref -{ - typedef T type; -}; -#endif - -} // namespace detail - -template struct remove_reference{ typedef typename boost::detail::remove_rvalue_ref::type type; }; -template struct remove_reference{ typedef T type; }; - -#if defined(BOOST_ILLEGAL_CV_REFERENCES) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... -template struct remove_reference{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using remove_reference_t = typename remove_reference::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/utility/enable_if.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/utility/enable_if.hpp deleted file mode 100644 index 803bfca..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/utility/enable_if.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * Distributed under the Boost Software License, Version 1.0. (See - * accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_UTILITY_ENABLE_IF_HPP -#define BOOST_UTILITY_ENABLE_IF_HPP - -// The header file at this path is deprecated; -// use boost/core/enable_if.hpp instead. - -#include - -#endif diff --git a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/version.hpp b/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/version.hpp deleted file mode 100644 index 912a59c..0000000 --- a/lib/parquet/src/boost_ep-prefix/src/boost_ep/boost/version.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// Boost version.hpp configuration header file ------------------------------// - -// (C) Copyright John maddock 1999. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/config for documentation - -#ifndef BOOST_VERSION_HPP -#define BOOST_VERSION_HPP - -// -// Caution: this is the only Boost header that is guaranteed -// to change with every Boost release. Including this header -// will cause a recompile every time a new Boost version is -// used. -// -// BOOST_VERSION % 100 is the patch level -// BOOST_VERSION / 100 % 1000 is the minor version -// BOOST_VERSION / 100000 is the major version - -#define BOOST_VERSION 107100 - -// -// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION -// but as a *string* in the form "x_y[_z]" where x is the major version -// number, y is the minor version number, and z is the patch level if not 0. -// This is used by to select which library version to link to. - -#define BOOST_LIB_VERSION "1_71" - -#endif diff --git a/lib/parquet/src/src/arrow/array.h b/lib/parquet/src/src/arrow/array.h deleted file mode 100644 index 739d65e..0000000 --- a/lib/parquet/src/src/arrow/array.h +++ /dev/null @@ -1,32 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Kitchen-sink public API for arrow::Array data structures. C++ library code -// (especially header files) in Apache Arrow should use more specific headers -// unless it's a file that uses most or all Array types in which case using -// arrow/array.h is fine. - -#pragma once - -#include "arrow/array/array_base.h" // IWYU pragma: keep -#include "arrow/array/array_binary.h" // IWYU pragma: keep -#include "arrow/array/array_decimal.h" // IWYU pragma: keep -#include "arrow/array/array_dict.h" // IWYU pragma: keep -#include "arrow/array/array_nested.h" // IWYU pragma: keep -#include "arrow/array/array_primitive.h" // IWYU pragma: keep -#include "arrow/array/data.h" // IWYU pragma: keep -#include "arrow/array/util.h" // IWYU pragma: keep diff --git a/lib/parquet/src/src/arrow/array/array_base.h b/lib/parquet/src/src/arrow/array/array_base.h deleted file mode 100644 index 808889b..0000000 --- a/lib/parquet/src/src/arrow/array/array_base.h +++ /dev/null @@ -1,257 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include - -#include "arrow/array/data.h" -#include "arrow/buffer.h" -#include "arrow/compare.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/bit_util.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" -#include "arrow/visitor.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// User array accessor types - -/// \brief Array base type -/// Immutable data array with some logical type and some length. -/// -/// Any memory is owned by the respective Buffer instance (or its parents). -/// -/// The base class is only required to have a null bitmap buffer if the null -/// count is greater than 0 -/// -/// If known, the null count can be provided in the base Array constructor. If -/// the null count is not known, pass -1 to indicate that the null count is to -/// be computed on the first call to null_count() -class ARROW_EXPORT Array { - public: - virtual ~Array() = default; - - /// \brief Return true if value at index is null. Does not boundscheck - bool IsNull(int64_t i) const { - return null_bitmap_data_ != NULLPTR && - !BitUtil::GetBit(null_bitmap_data_, i + data_->offset); - } - - /// \brief Return true if value at index is valid (not null). Does not - /// boundscheck - bool IsValid(int64_t i) const { - return null_bitmap_data_ == NULLPTR || - BitUtil::GetBit(null_bitmap_data_, i + data_->offset); - } - - /// \brief Return a Scalar containing the value of this array at i - Result> GetScalar(int64_t i) const; - - /// Size in the number of elements this array contains. - int64_t length() const { return data_->length; } - - /// A relative position into another array's data, to enable zero-copy - /// slicing. This value defaults to zero - int64_t offset() const { return data_->offset; } - - /// The number of null entries in the array. If the null count was not known - /// at time of construction (and set to a negative value), then the null - /// count will be computed and cached on the first invocation of this - /// function - int64_t null_count() const; - - std::shared_ptr type() const { return data_->type; } - Type::type type_id() const { return data_->type->id(); } - - /// Buffer for the validity (null) bitmap, if any. Note that Union types - /// never have a null bitmap. - /// - /// Note that for `null_count == 0` or for null type, this will be null. - /// This buffer does not account for any slice offset - std::shared_ptr null_bitmap() const { return data_->buffers[0]; } - - /// Raw pointer to the null bitmap. - /// - /// Note that for `null_count == 0` or for null type, this will be null. - /// This buffer does not account for any slice offset - const uint8_t* null_bitmap_data() const { return null_bitmap_data_; } - - /// Equality comparison with another array - bool Equals(const Array& arr, const EqualOptions& = EqualOptions::Defaults()) const; - bool Equals(const std::shared_ptr& arr, - const EqualOptions& = EqualOptions::Defaults()) const; - - /// \brief Return the formatted unified diff of arrow::Diff between this - /// Array and another Array - std::string Diff(const Array& other) const; - - /// Approximate equality comparison with another array - /// - /// epsilon is only used if this is FloatArray or DoubleArray - bool ApproxEquals(const std::shared_ptr& arr, - const EqualOptions& = EqualOptions::Defaults()) const; - bool ApproxEquals(const Array& arr, - const EqualOptions& = EqualOptions::Defaults()) const; - - /// Compare if the range of slots specified are equal for the given array and - /// this array. end_idx exclusive. This methods does not bounds check. - bool RangeEquals(int64_t start_idx, int64_t end_idx, int64_t other_start_idx, - const Array& other) const; - bool RangeEquals(int64_t start_idx, int64_t end_idx, int64_t other_start_idx, - const std::shared_ptr& other) const; - bool RangeEquals(const Array& other, int64_t start_idx, int64_t end_idx, - int64_t other_start_idx) const; - bool RangeEquals(const std::shared_ptr& other, int64_t start_idx, - int64_t end_idx, int64_t other_start_idx) const; - - Status Accept(ArrayVisitor* visitor) const; - - /// Construct a zero-copy view of this array with the given type. - /// - /// This method checks if the types are layout-compatible. - /// Nested types are traversed in depth-first order. Data buffers must have - /// the same item sizes, even though the logical types may be different. - /// An error is returned if the types are not layout-compatible. - Result> View(const std::shared_ptr& type) const; - - /// Construct a zero-copy slice of the array with the indicated offset and - /// length - /// - /// \param[in] offset the position of the first element in the constructed - /// slice - /// \param[in] length the length of the slice. If there are not enough - /// elements in the array, the length will be adjusted accordingly - /// - /// \return a new object wrapped in std::shared_ptr - std::shared_ptr Slice(int64_t offset, int64_t length) const; - - /// Slice from offset until end of the array - std::shared_ptr Slice(int64_t offset) const; - - /// Input-checking variant of Array::Slice - Result> SliceSafe(int64_t offset, int64_t length) const; - /// Input-checking variant of Array::Slice - Result> SliceSafe(int64_t offset) const; - - std::shared_ptr data() const { return data_; } - - int num_fields() const { return static_cast(data_->child_data.size()); } - - /// \return PrettyPrint representation of array suitable for debugging - std::string ToString() const; - - /// \brief Perform cheap validation checks to determine obvious inconsistencies - /// within the array's internal data. - /// - /// This is O(k) where k is the number of descendents. - /// - /// \return Status - Status Validate() const; - - /// \brief Perform extensive validation checks to determine inconsistencies - /// within the array's internal data. - /// - /// This is potentially O(k*n) where k is the number of descendents and n - /// is the array length. - /// - /// \return Status - Status ValidateFull() const; - - protected: - Array() : null_bitmap_data_(NULLPTR) {} - - std::shared_ptr data_; - const uint8_t* null_bitmap_data_; - - /// Protected method for constructors - inline void SetData(const std::shared_ptr& data) { - if (data->buffers.size() > 0 && data->buffers[0]) { - null_bitmap_data_ = data->buffers[0]->data(); - } else { - null_bitmap_data_ = NULLPTR; - } - data_ = data; - } - - private: - ARROW_DISALLOW_COPY_AND_ASSIGN(Array); -}; - -static inline std::ostream& operator<<(std::ostream& os, const Array& x) { - os << x.ToString(); - return os; -} - -/// Base class for non-nested arrays -class ARROW_EXPORT FlatArray : public Array { - protected: - using Array::Array; -}; - -/// Base class for arrays of fixed-size logical types -class ARROW_EXPORT PrimitiveArray : public FlatArray { - public: - PrimitiveArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// Does not account for any slice offset - std::shared_ptr values() const { return data_->buffers[1]; } - - protected: - PrimitiveArray() : raw_values_(NULLPTR) {} - - inline void SetData(const std::shared_ptr& data) { - auto values = data->buffers[1]; - this->Array::SetData(data); - raw_values_ = values == NULLPTR ? NULLPTR : values->data(); - } - - explicit inline PrimitiveArray(const std::shared_ptr& data) { - SetData(data); - } - - const uint8_t* raw_values_; -}; - -/// Degenerate null type Array -class ARROW_EXPORT NullArray : public FlatArray { - public: - using TypeClass = NullType; - - explicit NullArray(const std::shared_ptr& data) { SetData(data); } - explicit NullArray(int64_t length); - - private: - inline void SetData(const std::shared_ptr& data) { - null_bitmap_data_ = NULLPTR; - data->null_count = data->length; - data_ = data; - } -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_binary.cc b/lib/parquet/src/src/arrow/array/array_binary.cc deleted file mode 100644 index 53cc709..0000000 --- a/lib/parquet/src/src/arrow/array/array_binary.cc +++ /dev/null @@ -1,122 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/array_binary.h" - -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/type.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/logging.h" -#include "arrow/util/utf8.h" - -namespace arrow { - -using internal::checked_cast; - -namespace { - -template -Status ValidateStringData(const StringArrayType& array) { - util::InitializeUTF8(); - for (int64_t i = 0; i < array.length(); ++i) { - if (!array.IsNull(i) && !util::ValidateUTF8(array.GetView(i))) { - return Status::Invalid("Invalid UTF8 sequence at string index ", i); - } - } - return Status::OK(); -} - -} // namespace - -BinaryArray::BinaryArray(const std::shared_ptr& data) { - ARROW_CHECK_EQ(data->type->id(), Type::BINARY); - SetData(data); -} - -BinaryArray::BinaryArray(int64_t length, const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, int64_t null_count, - int64_t offset) { - SetData(ArrayData::Make(binary(), length, {null_bitmap, value_offsets, data}, - null_count, offset)); -} - -LargeBinaryArray::LargeBinaryArray(const std::shared_ptr& data) { - ARROW_CHECK_EQ(data->type->id(), Type::LARGE_BINARY); - SetData(data); -} - -LargeBinaryArray::LargeBinaryArray(int64_t length, - const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, - int64_t null_count, int64_t offset) { - SetData(ArrayData::Make(large_binary(), length, {null_bitmap, value_offsets, data}, - null_count, offset)); -} - -StringArray::StringArray(const std::shared_ptr& data) { - ARROW_CHECK_EQ(data->type->id(), Type::STRING); - SetData(data); -} - -StringArray::StringArray(int64_t length, const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, int64_t null_count, - int64_t offset) { - SetData(ArrayData::Make(utf8(), length, {null_bitmap, value_offsets, data}, null_count, - offset)); -} - -Status StringArray::ValidateUTF8() const { return ValidateStringData(*this); } - -LargeStringArray::LargeStringArray(const std::shared_ptr& data) { - ARROW_CHECK_EQ(data->type->id(), Type::LARGE_STRING); - SetData(data); -} - -LargeStringArray::LargeStringArray(int64_t length, - const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, - int64_t null_count, int64_t offset) { - SetData(ArrayData::Make(large_utf8(), length, {null_bitmap, value_offsets, data}, - null_count, offset)); -} - -Status LargeStringArray::ValidateUTF8() const { return ValidateStringData(*this); } - -FixedSizeBinaryArray::FixedSizeBinaryArray(const std::shared_ptr& data) { - SetData(data); -} - -FixedSizeBinaryArray::FixedSizeBinaryArray(const std::shared_ptr& type, - int64_t length, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, - int64_t null_count, int64_t offset) - : PrimitiveArray(type, length, data, null_bitmap, null_count, offset), - byte_width_(checked_cast(*type).byte_width()) {} - -const uint8_t* FixedSizeBinaryArray::GetValue(int64_t i) const { - return raw_values_ + (i + data_->offset) * byte_width_; -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_binary.h b/lib/parquet/src/src/arrow/array/array_binary.h deleted file mode 100644 index 7b3e75e..0000000 --- a/lib/parquet/src/src/arrow/array/array_binary.h +++ /dev/null @@ -1,242 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Array accessor classes for Binary, LargeBinart, String, LargeString, -// FixedSizeBinary - -#pragma once - -#include -#include -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/data.h" -#include "arrow/buffer.h" -#include "arrow/type.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/macros.h" -#include "arrow/util/string_view.h" // IWYU pragma: export -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Binary and String - -/// Base class for variable-sized binary arrays, regardless of offset size -/// and logical interpretation. -template -class BaseBinaryArray : public FlatArray { - public: - using TypeClass = TYPE; - using offset_type = typename TypeClass::offset_type; - - /// Return the pointer to the given elements bytes - // XXX should GetValue(int64_t i) return a string_view? - const uint8_t* GetValue(int64_t i, offset_type* out_length) const { - // Account for base offset - i += data_->offset; - const offset_type pos = raw_value_offsets_[i]; - *out_length = raw_value_offsets_[i + 1] - pos; - return raw_data_ + pos; - } - - /// \brief Get binary value as a string_view - /// - /// \param i the value index - /// \return the view over the selected value - util::string_view GetView(int64_t i) const { - // Account for base offset - i += data_->offset; - const offset_type pos = raw_value_offsets_[i]; - return util::string_view(reinterpret_cast(raw_data_ + pos), - raw_value_offsets_[i + 1] - pos); - } - - /// \brief Get binary value as a std::string - /// - /// \param i the value index - /// \return the value copied into a std::string - std::string GetString(int64_t i) const { return std::string(GetView(i)); } - - /// Note that this buffer does not account for any slice offset - std::shared_ptr value_offsets() const { return data_->buffers[1]; } - - /// Note that this buffer does not account for any slice offset - std::shared_ptr value_data() const { return data_->buffers[2]; } - - const offset_type* raw_value_offsets() const { - return raw_value_offsets_ + data_->offset; - } - - const uint8_t* raw_data() const { return raw_data_; } - - /// \brief Return the data buffer absolute offset of the data for the value - /// at the passed index. - /// - /// Does not perform boundschecking - offset_type value_offset(int64_t i) const { - return raw_value_offsets_[i + data_->offset]; - } - - /// \brief Return the length of the data for the value at the passed index. - /// - /// Does not perform boundschecking - offset_type value_length(int64_t i) const { - i += data_->offset; - return raw_value_offsets_[i + 1] - raw_value_offsets_[i]; - } - - /// \brief Return the total length of the memory in the data buffer - /// referenced by this array. If the array has been sliced then this may be - /// less than the size of the data buffer (data_->buffers[2]). - offset_type total_values_length() const { - if (data_->length > 0) { - return raw_value_offsets_[data_->length + data_->offset] - - raw_value_offsets_[data_->offset]; - } else { - return 0; - } - } - - protected: - // For subclasses - BaseBinaryArray() : raw_value_offsets_(NULLPTR), raw_data_(NULLPTR) {} - - // Protected method for constructors - void SetData(const std::shared_ptr& data) { - auto value_offsets = data->buffers[1]; - auto value_data = data->buffers[2]; - this->Array::SetData(data); - raw_data_ = value_data == NULLPTR ? NULLPTR : value_data->data(); - raw_value_offsets_ = - value_offsets == NULLPTR - ? NULLPTR - : reinterpret_cast(value_offsets->data()); - } - - const offset_type* raw_value_offsets_; - const uint8_t* raw_data_; -}; - -/// Concrete Array class for variable-size binary data -class ARROW_EXPORT BinaryArray : public BaseBinaryArray { - public: - explicit BinaryArray(const std::shared_ptr& data); - - BinaryArray(int64_t length, const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - protected: - // For subclasses such as StringArray - BinaryArray() : BaseBinaryArray() {} -}; - -/// Concrete Array class for variable-size string (utf-8) data -class ARROW_EXPORT StringArray : public BinaryArray { - public: - using TypeClass = StringType; - - explicit StringArray(const std::shared_ptr& data); - - StringArray(int64_t length, const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// \brief Validate that this array contains only valid UTF8 entries - /// - /// This check is also implied by ValidateFull() - Status ValidateUTF8() const; -}; - -/// Concrete Array class for large variable-size binary data -class ARROW_EXPORT LargeBinaryArray : public BaseBinaryArray { - public: - explicit LargeBinaryArray(const std::shared_ptr& data); - - LargeBinaryArray(int64_t length, const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - protected: - // For subclasses such as LargeStringArray - LargeBinaryArray() : BaseBinaryArray() {} -}; - -/// Concrete Array class for large variable-size string (utf-8) data -class ARROW_EXPORT LargeStringArray : public LargeBinaryArray { - public: - using TypeClass = LargeStringType; - - explicit LargeStringArray(const std::shared_ptr& data); - - LargeStringArray(int64_t length, const std::shared_ptr& value_offsets, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// \brief Validate that this array contains only valid UTF8 entries - /// - /// This check is also implied by ValidateFull() - Status ValidateUTF8() const; -}; - -// ---------------------------------------------------------------------- -// Fixed width binary - -/// Concrete Array class for fixed-size binary data -class ARROW_EXPORT FixedSizeBinaryArray : public PrimitiveArray { - public: - using TypeClass = FixedSizeBinaryType; - - explicit FixedSizeBinaryArray(const std::shared_ptr& data); - - FixedSizeBinaryArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - const uint8_t* GetValue(int64_t i) const; - const uint8_t* Value(int64_t i) const { return GetValue(i); } - - util::string_view GetView(int64_t i) const { - return util::string_view(reinterpret_cast(GetValue(i)), byte_width()); - } - - std::string GetString(int64_t i) const { return std::string(GetView(i)); } - - int32_t byte_width() const { return byte_width_; } - - const uint8_t* raw_values() const { return raw_values_ + data_->offset * byte_width_; } - - protected: - inline void SetData(const std::shared_ptr& data) { - this->PrimitiveArray::SetData(data); - byte_width_ = - internal::checked_cast(*type()).byte_width(); - } - - int32_t byte_width_; -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_decimal.cc b/lib/parquet/src/src/arrow/array/array_decimal.cc deleted file mode 100644 index 1e813f2..0000000 --- a/lib/parquet/src/src/arrow/array/array_decimal.cc +++ /dev/null @@ -1,49 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/array_decimal.h" - -#include -#include -#include - -#include "arrow/array/array_binary.h" -#include "arrow/array/data.h" -#include "arrow/type.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/decimal.h" -#include "arrow/util/logging.h" - -namespace arrow { - -using internal::checked_cast; - -// ---------------------------------------------------------------------- -// Decimal - -Decimal128Array::Decimal128Array(const std::shared_ptr& data) - : FixedSizeBinaryArray(data) { - ARROW_CHECK_EQ(data->type->id(), Type::DECIMAL); -} - -std::string Decimal128Array::FormatValue(int64_t i) const { - const auto& type_ = checked_cast(*type()); - const Decimal128 value(GetValue(i)); - return value.ToString(type_.scale()); -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_decimal.h b/lib/parquet/src/src/arrow/array/array_decimal.h deleted file mode 100644 index 6d5e884..0000000 --- a/lib/parquet/src/src/arrow/array/array_decimal.h +++ /dev/null @@ -1,50 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include - -#include "arrow/array/array_binary.h" -#include "arrow/array/data.h" -#include "arrow/type.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Decimal128Array - -/// Concrete Array class for 128-bit decimal data -class ARROW_EXPORT Decimal128Array : public FixedSizeBinaryArray { - public: - using TypeClass = Decimal128Type; - - using FixedSizeBinaryArray::FixedSizeBinaryArray; - - /// \brief Construct Decimal128Array from ArrayData instance - explicit Decimal128Array(const std::shared_ptr& data); - - std::string FormatValue(int64_t i) const; -}; - -// Backward compatibility -using DecimalArray = Decimal128Array; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_dict.h b/lib/parquet/src/src/arrow/array/array_dict.h deleted file mode 100644 index c87606f..0000000 --- a/lib/parquet/src/src/arrow/array/array_dict.h +++ /dev/null @@ -1,117 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/data.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// DictionaryArray - -/// \brief Array type for dictionary-encoded data with a -/// data-dependent dictionary -/// -/// A dictionary array contains an array of non-negative integers (the -/// "dictionary indices") along with a data type containing a "dictionary" -/// corresponding to the distinct values represented in the data. -/// -/// For example, the array -/// -/// ["foo", "bar", "foo", "bar", "foo", "bar"] -/// -/// with dictionary ["bar", "foo"], would have dictionary array representation -/// -/// indices: [1, 0, 1, 0, 1, 0] -/// dictionary: ["bar", "foo"] -/// -/// The indices in principle may be any integer type. -class ARROW_EXPORT DictionaryArray : public Array { - public: - using TypeClass = DictionaryType; - - explicit DictionaryArray(const std::shared_ptr& data); - - DictionaryArray(const std::shared_ptr& type, - const std::shared_ptr& indices, - const std::shared_ptr& dictionary); - - /// \brief Construct DictionaryArray from dictionary and indices - /// array and validate - /// - /// This function does the validation of the indices and input type. It checks if - /// all indices are non-negative and smaller than the size of the dictionary. - /// - /// \param[in] type a dictionary type - /// \param[in] dictionary the dictionary with same value type as the - /// type object - /// \param[in] indices an array of non-negative integers smaller than the - /// size of the dictionary - static Result> FromArrays( - const std::shared_ptr& type, const std::shared_ptr& indices, - const std::shared_ptr& dictionary); - - /// \brief Transpose this DictionaryArray - /// - /// This method constructs a new dictionary array with the given dictionary - /// type, transposing indices using the transpose map. The type and the - /// transpose map are typically computed using DictionaryUnifier. - /// - /// \param[in] type the new type object - /// \param[in] dictionary the new dictionary - /// \param[in] transpose_map transposition array of this array's indices - /// into the target array's indices - /// \param[in] pool a pool to allocate the array data from - Result> Transpose( - const std::shared_ptr& type, const std::shared_ptr& dictionary, - const int32_t* transpose_map, MemoryPool* pool = default_memory_pool()) const; - - /// \brief Determine whether dictionary arrays may be compared without unification - bool CanCompareIndices(const DictionaryArray& other) const; - - /// \brief Return the dictionary for this array, which is stored as - /// a member of the ArrayData internal structure - std::shared_ptr dictionary() const; - std::shared_ptr indices() const; - - /// \brief Return the ith value of indices, cast to int64_t. Not recommended - /// for use in performance-sensitive code. Does not validate whether the - /// value is null or out-of-bounds. - int64_t GetValueIndex(int64_t i) const; - - const DictionaryType* dict_type() const { return dict_type_; } - - private: - void SetData(const std::shared_ptr& data); - const DictionaryType* dict_type_; - std::shared_ptr indices_; - - // Lazily initialized when invoking dictionary() - mutable std::shared_ptr dictionary_; -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_nested.cc b/lib/parquet/src/src/arrow/array/array_nested.cc deleted file mode 100644 index e8d4ed9..0000000 --- a/lib/parquet/src/src/arrow/array/array_nested.cc +++ /dev/null @@ -1,770 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/array_nested.h" - -#include -#include -#include -#include -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/array_primitive.h" -#include "arrow/array/concatenate.h" -#include "arrow/array/util.h" -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_fwd.h" -#include "arrow/type_traits.h" -#include "arrow/util/atomic_shared_ptr.h" -#include "arrow/util/bit_util.h" -#include "arrow/util/bitmap_ops.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/logging.h" - -namespace arrow { - -using internal::BitmapAnd; -using internal::checked_cast; -using internal::checked_pointer_cast; -using internal::CopyBitmap; - -// ---------------------------------------------------------------------- -// ListArray / LargeListArray - -namespace { - -template -Status CleanListOffsets(const Array& offsets, MemoryPool* pool, - std::shared_ptr* offset_buf_out, - std::shared_ptr* validity_buf_out) { - using offset_type = typename TYPE::offset_type; - using OffsetArrowType = typename CTypeTraits::ArrowType; - using OffsetArrayType = typename TypeTraits::ArrayType; - - const auto& typed_offsets = checked_cast(offsets); - const int64_t num_offsets = offsets.length(); - - if (offsets.null_count() > 0) { - if (!offsets.IsValid(num_offsets - 1)) { - return Status::Invalid("Last list offset should be non-null"); - } - - ARROW_ASSIGN_OR_RAISE(auto clean_offsets, - AllocateBuffer(num_offsets * sizeof(offset_type), pool)); - - // Copy valid bits, zero out the bit for the final offset - // XXX why? - ARROW_ASSIGN_OR_RAISE( - auto clean_valid_bits, - offsets.null_bitmap()->CopySlice(0, BitUtil::BytesForBits(num_offsets - 1))); - BitUtil::ClearBit(clean_valid_bits->mutable_data(), num_offsets); - *validity_buf_out = clean_valid_bits; - - const offset_type* raw_offsets = typed_offsets.raw_values(); - auto clean_raw_offsets = - reinterpret_cast(clean_offsets->mutable_data()); - - // Must work backwards so we can tell how many values were in the last non-null value - offset_type current_offset = raw_offsets[num_offsets - 1]; - for (int64_t i = num_offsets - 1; i >= 0; --i) { - if (offsets.IsValid(i)) { - current_offset = raw_offsets[i]; - } - clean_raw_offsets[i] = current_offset; - } - - *offset_buf_out = std::move(clean_offsets); - } else { - *validity_buf_out = offsets.null_bitmap(); - *offset_buf_out = typed_offsets.values(); - } - - return Status::OK(); -} - -template -Result> ListArrayFromArrays(const Array& offsets, - const Array& values, - MemoryPool* pool) { - using offset_type = typename TYPE::offset_type; - using ArrayType = typename TypeTraits::ArrayType; - using OffsetArrowType = typename CTypeTraits::ArrowType; - - if (offsets.length() == 0) { - return Status::Invalid("List offsets must have non-zero length"); - } - - if (offsets.type_id() != OffsetArrowType::type_id) { - return Status::TypeError("List offsets must be ", OffsetArrowType::type_name()); - } - - std::shared_ptr offset_buf, validity_buf; - RETURN_NOT_OK(CleanListOffsets(offsets, pool, &offset_buf, &validity_buf)); - BufferVector buffers = {validity_buf, offset_buf}; - - auto list_type = std::make_shared(values.type()); - auto internal_data = - ArrayData::Make(list_type, offsets.length() - 1, std::move(buffers), - offsets.null_count(), offsets.offset()); - internal_data->child_data.push_back(values.data()); - - return std::make_shared(internal_data); -} - -static std::shared_ptr SliceArrayWithOffsets(const Array& array, int64_t begin, - int64_t end) { - return array.Slice(begin, end - begin); -} - -template -Result> FlattenListArray(const ListArrayT& list_array, - MemoryPool* memory_pool) { - const int64_t list_array_length = list_array.length(); - std::shared_ptr value_array = list_array.values(); - - // Shortcut: if a ListArray does not contain nulls, then simply slice its - // value array with the first and the last offsets. - if (list_array.null_count() == 0) { - return SliceArrayWithOffsets(*value_array, list_array.value_offset(0), - list_array.value_offset(list_array_length)); - } - - // The ListArray contains nulls: there may be a non-empty sub-list behind - // a null and it must not be contained in the result. - std::vector> non_null_fragments; - int64_t valid_begin = 0; - while (valid_begin < list_array_length) { - int64_t valid_end = valid_begin; - while (valid_end < list_array_length && - (list_array.IsValid(valid_end) || list_array.value_length(valid_end) == 0)) { - ++valid_end; - } - if (valid_begin < valid_end) { - non_null_fragments.push_back( - SliceArrayWithOffsets(*value_array, list_array.value_offset(valid_begin), - list_array.value_offset(valid_end))); - } - valid_begin = valid_end + 1; // skip null entry - } - - // Final attempt to avoid invoking Concatenate(). - if (non_null_fragments.size() == 1) { - return non_null_fragments[0]; - } - - return Concatenate(non_null_fragments, memory_pool); -} - -} // namespace - -ListArray::ListArray(std::shared_ptr data) { SetData(std::move(data)); } - -LargeListArray::LargeListArray(const std::shared_ptr& data) { SetData(data); } - -ListArray::ListArray(std::shared_ptr type, int64_t length, - std::shared_ptr value_offsets, std::shared_ptr values, - std::shared_ptr null_bitmap, int64_t null_count, - int64_t offset) { - ARROW_CHECK_EQ(type->id(), Type::LIST); - auto internal_data = ArrayData::Make( - std::move(type), length, - BufferVector{std::move(null_bitmap), std::move(value_offsets)}, null_count, offset); - internal_data->child_data.emplace_back(values->data()); - SetData(std::move(internal_data)); -} - -LargeListArray::LargeListArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& value_offsets, - const std::shared_ptr& values, - const std::shared_ptr& null_bitmap, - int64_t null_count, int64_t offset) { - ARROW_CHECK_EQ(type->id(), Type::LARGE_LIST); - auto internal_data = - ArrayData::Make(type, length, {null_bitmap, value_offsets}, null_count, offset); - internal_data->child_data.emplace_back(values->data()); - SetData(internal_data); -} - -void ListArray::SetData(const std::shared_ptr& data, - Type::type expected_type_id) { - this->Array::SetData(data); - ARROW_CHECK_EQ(data->buffers.size(), 2); - ARROW_CHECK_EQ(data->type->id(), expected_type_id); - list_type_ = checked_cast(data->type.get()); - - auto value_offsets = data->buffers[1]; - raw_value_offsets_ = value_offsets == nullptr - ? nullptr - : reinterpret_cast(value_offsets->data()); - - ARROW_CHECK_EQ(data_->child_data.size(), 1); - ARROW_CHECK_EQ(list_type_->value_type()->id(), data->child_data[0]->type->id()); - DCHECK(list_type_->value_type()->Equals(data->child_data[0]->type)); - values_ = MakeArray(data_->child_data[0]); -} - -void LargeListArray::SetData(const std::shared_ptr& data) { - this->Array::SetData(data); - ARROW_CHECK_EQ(data->buffers.size(), 2); - ARROW_CHECK_EQ(data->type->id(), Type::LARGE_LIST); - list_type_ = checked_cast(data->type.get()); - - auto value_offsets = data->buffers[1]; - raw_value_offsets_ = value_offsets == nullptr - ? nullptr - : reinterpret_cast(value_offsets->data()); - - ARROW_CHECK_EQ(data_->child_data.size(), 1); - ARROW_CHECK_EQ(list_type_->value_type()->id(), data->child_data[0]->type->id()); - DCHECK(list_type_->value_type()->Equals(data->child_data[0]->type)); - values_ = MakeArray(data_->child_data[0]); -} - -Result> ListArray::FromArrays(const Array& offsets, - const Array& values, - MemoryPool* pool) { - return ListArrayFromArrays(offsets, values, pool); -} - -Result> LargeListArray::FromArrays(const Array& offsets, - const Array& values, - MemoryPool* pool) { - return ListArrayFromArrays(offsets, values, pool); -} - -Result> ListArray::Flatten(MemoryPool* memory_pool) const { - return FlattenListArray(*this, memory_pool); -} - -Result> LargeListArray::Flatten(MemoryPool* memory_pool) const { - return FlattenListArray(*this, memory_pool); -} - -static std::shared_ptr BoxOffsets(const std::shared_ptr& boxed_type, - const ArrayData& data) { - std::vector> buffers = {nullptr, data.buffers[1]}; - auto offsets_data = - std::make_shared(boxed_type, data.length + 1, std::move(buffers), - /*null_count=*/0, data.offset); - return MakeArray(offsets_data); -} - -std::shared_ptr ListArray::offsets() const { return BoxOffsets(int32(), *data_); } - -std::shared_ptr LargeListArray::offsets() const { - return BoxOffsets(int64(), *data_); -} - -// ---------------------------------------------------------------------- -// MapArray - -MapArray::MapArray(const std::shared_ptr& data) { SetData(data); } - -MapArray::MapArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& offsets, - const std::shared_ptr& values, - const std::shared_ptr& null_bitmap, int64_t null_count, - int64_t offset) { - SetData(ArrayData::Make(type, length, {null_bitmap, offsets}, {values->data()}, - null_count, offset)); -} - -MapArray::MapArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& offsets, - const std::shared_ptr& keys, - const std::shared_ptr& items, - const std::shared_ptr& null_bitmap, int64_t null_count, - int64_t offset) { - auto pair_data = ArrayData::Make(type->fields()[0]->type(), keys->data()->length, - {nullptr}, {keys->data(), items->data()}, 0, offset); - auto map_data = ArrayData::Make(type, length, {null_bitmap, offsets}, {pair_data}, - null_count, offset); - SetData(map_data); -} - -Result> MapArray::FromArraysInternal( - std::shared_ptr type, const std::shared_ptr& offsets, - const std::shared_ptr& keys, const std::shared_ptr& items, - MemoryPool* pool) { - using offset_type = typename MapType::offset_type; - using OffsetArrowType = typename CTypeTraits::ArrowType; - - if (offsets->length() == 0) { - return Status::Invalid("Map offsets must have non-zero length"); - } - - if (offsets->type_id() != OffsetArrowType::type_id) { - return Status::TypeError("Map offsets must be ", OffsetArrowType::type_name()); - } - - if (keys->null_count() != 0) { - return Status::Invalid("Map can not contain NULL valued keys"); - } - - if (keys->length() != items->length()) { - return Status::Invalid("Map key and item arrays must be equal length"); - } - - std::shared_ptr offset_buf, validity_buf; - RETURN_NOT_OK(CleanListOffsets(*offsets, pool, &offset_buf, &validity_buf)); - - return std::make_shared(type, offsets->length() - 1, offset_buf, keys, items, - validity_buf, offsets->null_count(), - offsets->offset()); -} - -Result> MapArray::FromArrays(const std::shared_ptr& offsets, - const std::shared_ptr& keys, - const std::shared_ptr& items, - MemoryPool* pool) { - return FromArraysInternal(std::make_shared(keys->type(), items->type()), - offsets, keys, items, pool); -} - -Result> MapArray::FromArrays(std::shared_ptr type, - const std::shared_ptr& offsets, - const std::shared_ptr& keys, - const std::shared_ptr& items, - MemoryPool* pool) { - if (type->id() != Type::MAP) { - return Status::TypeError("Expected map type, got ", type->ToString()); - } - const auto& map_type = checked_cast(*type); - if (!map_type.key_type()->Equals(keys->type())) { - return Status::TypeError("Mismatching map keys type"); - } - if (!map_type.item_type()->Equals(items->type())) { - return Status::TypeError("Mismatching map items type"); - } - return FromArraysInternal(std::move(type), offsets, keys, items, pool); -} - -Status MapArray::ValidateChildData( - const std::vector>& child_data) { - if (child_data.size() != 1) { - return Status::Invalid("Expected one child array for map array"); - } - const auto& pair_data = child_data[0]; - if (pair_data->type->id() != Type::STRUCT) { - return Status::Invalid("Map array child array should have struct type"); - } - if (pair_data->null_count != 0) { - return Status::Invalid("Map array child array should have no nulls"); - } - if (pair_data->child_data.size() != 2) { - return Status::Invalid("Map array child array should have two fields"); - } - if (pair_data->child_data[0]->null_count != 0) { - return Status::Invalid("Map array keys array should have no nulls"); - } - return Status::OK(); -} - -void MapArray::SetData(const std::shared_ptr& data) { - ARROW_CHECK_OK(ValidateChildData(data->child_data)); - - this->ListArray::SetData(data, Type::MAP); - map_type_ = checked_cast(data->type.get()); - const auto& pair_data = data->child_data[0]; - keys_ = MakeArray(pair_data->child_data[0]); - items_ = MakeArray(pair_data->child_data[1]); -} - -// ---------------------------------------------------------------------- -// FixedSizeListArray - -FixedSizeListArray::FixedSizeListArray(const std::shared_ptr& data) { - SetData(data); -} - -FixedSizeListArray::FixedSizeListArray(const std::shared_ptr& type, - int64_t length, - const std::shared_ptr& values, - const std::shared_ptr& null_bitmap, - int64_t null_count, int64_t offset) { - auto internal_data = ArrayData::Make(type, length, {null_bitmap}, null_count, offset); - internal_data->child_data.emplace_back(values->data()); - SetData(internal_data); -} - -void FixedSizeListArray::SetData(const std::shared_ptr& data) { - ARROW_CHECK_EQ(data->type->id(), Type::FIXED_SIZE_LIST); - this->Array::SetData(data); - - ARROW_CHECK_EQ(list_type()->value_type()->id(), data->child_data[0]->type->id()); - DCHECK(list_type()->value_type()->Equals(data->child_data[0]->type)); - list_size_ = list_type()->list_size(); - - ARROW_CHECK_EQ(data_->child_data.size(), 1); - values_ = MakeArray(data_->child_data[0]); -} - -const FixedSizeListType* FixedSizeListArray::list_type() const { - return checked_cast(data_->type.get()); -} - -std::shared_ptr FixedSizeListArray::value_type() const { - return list_type()->value_type(); -} - -std::shared_ptr FixedSizeListArray::values() const { return values_; } - -Result> FixedSizeListArray::FromArrays( - const std::shared_ptr& values, int32_t list_size) { - if (list_size <= 0) { - return Status::Invalid("list_size needs to be a strict positive integer"); - } - - if ((values->length() % list_size) != 0) { - return Status::Invalid( - "The length of the values Array needs to be a multiple of the list_size"); - } - int64_t length = values->length() / list_size; - auto list_type = std::make_shared(values->type(), list_size); - std::shared_ptr validity_buf; - - return std::make_shared(list_type, length, values, validity_buf, - /*null_count=*/0, /*offset=*/0); -} - -// ---------------------------------------------------------------------- -// Struct - -StructArray::StructArray(const std::shared_ptr& data) { - ARROW_CHECK_EQ(data->type->id(), Type::STRUCT); - SetData(data); - boxed_fields_.resize(data->child_data.size()); -} - -StructArray::StructArray(const std::shared_ptr& type, int64_t length, - const std::vector>& children, - std::shared_ptr null_bitmap, int64_t null_count, - int64_t offset) { - ARROW_CHECK_EQ(type->id(), Type::STRUCT); - SetData(ArrayData::Make(type, length, {null_bitmap}, null_count, offset)); - for (const auto& child : children) { - data_->child_data.push_back(child->data()); - } - boxed_fields_.resize(children.size()); -} - -Result> StructArray::Make( - const std::vector>& children, - const std::vector>& fields, - std::shared_ptr null_bitmap, int64_t null_count, int64_t offset) { - if (children.size() != fields.size()) { - return Status::Invalid("Mismatching number of fields and child arrays"); - } - int64_t length = 0; - if (children.size() == 0) { - return Status::Invalid("Can't infer struct array length with 0 child arrays"); - } - length = children.front()->length(); - for (const auto& child : children) { - if (length != child->length()) { - return Status::Invalid("Mismatching child array lengths"); - } - } - if (offset > length) { - return Status::IndexError("Offset greater than length of child arrays"); - } - if (null_bitmap == nullptr) { - if (null_count > 0) { - return Status::Invalid("null_count = ", null_count, " but no null bitmap given"); - } - null_count = 0; - } - return std::make_shared(struct_(fields), length - offset, children, - null_bitmap, null_count, offset); -} - -Result> StructArray::Make( - const std::vector>& children, - const std::vector& field_names, std::shared_ptr null_bitmap, - int64_t null_count, int64_t offset) { - if (children.size() != field_names.size()) { - return Status::Invalid("Mismatching number of field names and child arrays"); - } - std::vector> fields(children.size()); - for (size_t i = 0; i < children.size(); ++i) { - fields[i] = ::arrow::field(field_names[i], children[i]->type()); - } - return Make(children, fields, std::move(null_bitmap), null_count, offset); -} - -const StructType* StructArray::struct_type() const { - return checked_cast(data_->type.get()); -} - -const ArrayVector& StructArray::fields() const { - for (int i = 0; i < num_fields(); ++i) { - (void)field(i); - } - return boxed_fields_; -} - -std::shared_ptr StructArray::field(int i) const { - std::shared_ptr result = internal::atomic_load(&boxed_fields_[i]); - if (!result) { - std::shared_ptr field_data; - if (data_->offset != 0 || data_->child_data[i]->length != data_->length) { - field_data = data_->child_data[i]->Slice(data_->offset, data_->length); - } else { - field_data = data_->child_data[i]; - } - result = MakeArray(field_data); - internal::atomic_store(&boxed_fields_[i], result); - } - return result; -} - -std::shared_ptr StructArray::GetFieldByName(const std::string& name) const { - int i = struct_type()->GetFieldIndex(name); - return i == -1 ? nullptr : field(i); -} - -Result StructArray::Flatten(MemoryPool* pool) const { - ArrayVector flattened; - flattened.reserve(data_->child_data.size()); - std::shared_ptr null_bitmap = data_->buffers[0]; - - for (const auto& child_data_ptr : data_->child_data) { - auto child_data = child_data_ptr->Copy(); - - std::shared_ptr flattened_null_bitmap; - int64_t flattened_null_count = kUnknownNullCount; - - // Need to adjust for parent offset - if (data_->offset != 0 || data_->length != child_data->length) { - child_data = child_data->Slice(data_->offset, data_->length); - } - std::shared_ptr child_null_bitmap = child_data->buffers[0]; - const int64_t child_offset = child_data->offset; - - // The validity of a flattened datum is the logical AND of the struct - // element's validity and the individual field element's validity. - if (null_bitmap && child_null_bitmap) { - ARROW_ASSIGN_OR_RAISE( - flattened_null_bitmap, - BitmapAnd(pool, child_null_bitmap->data(), child_offset, null_bitmap_data_, - data_->offset, data_->length, child_offset)); - } else if (child_null_bitmap) { - flattened_null_bitmap = child_null_bitmap; - flattened_null_count = child_data->null_count; - } else if (null_bitmap) { - if (child_offset == data_->offset) { - flattened_null_bitmap = null_bitmap; - } else { - ARROW_ASSIGN_OR_RAISE( - flattened_null_bitmap, - CopyBitmap(pool, null_bitmap_data_, data_->offset, data_->length)); - } - flattened_null_count = data_->null_count; - } else { - flattened_null_count = 0; - } - - auto flattened_data = child_data->Copy(); - flattened_data->buffers[0] = flattened_null_bitmap; - flattened_data->null_count = flattened_null_count; - - flattened.push_back(MakeArray(flattened_data)); - } - - return flattened; -} - -// ---------------------------------------------------------------------- -// UnionArray - -void UnionArray::SetData(std::shared_ptr data) { - this->Array::SetData(std::move(data)); - - union_type_ = checked_cast(data_->type.get()); - - ARROW_CHECK_GE(data_->buffers.size(), 2); - auto type_codes = data_->buffers[1]; - raw_type_codes_ = type_codes == nullptr - ? nullptr - : reinterpret_cast(type_codes->data()); - boxed_fields_.resize(data_->child_data.size()); -} - -void SparseUnionArray::SetData(std::shared_ptr data) { - this->UnionArray::SetData(std::move(data)); - ARROW_CHECK_EQ(data_->type->id(), Type::SPARSE_UNION); - ARROW_CHECK_EQ(data_->buffers.size(), 2); - - // No validity bitmap - ARROW_CHECK_EQ(data_->buffers[0], nullptr); -} - -void DenseUnionArray::SetData(const std::shared_ptr& data) { - this->UnionArray::SetData(std::move(data)); - - ARROW_CHECK_EQ(data_->type->id(), Type::DENSE_UNION); - ARROW_CHECK_EQ(data_->buffers.size(), 3); - - // No validity bitmap - ARROW_CHECK_EQ(data_->buffers[0], nullptr); - - auto value_offsets = data_->buffers[2]; - raw_value_offsets_ = value_offsets == nullptr - ? nullptr - : reinterpret_cast(value_offsets->data()); -} - -SparseUnionArray::SparseUnionArray(std::shared_ptr data) { - SetData(std::move(data)); -} - -SparseUnionArray::SparseUnionArray(std::shared_ptr type, int64_t length, - ArrayVector children, - std::shared_ptr type_codes, int64_t offset) { - auto internal_data = ArrayData::Make(std::move(type), length, - BufferVector{nullptr, std::move(type_codes)}, - /*null_count=*/0, offset); - for (const auto& child : children) { - internal_data->child_data.push_back(child->data()); - } - SetData(std::move(internal_data)); -} - -DenseUnionArray::DenseUnionArray(const std::shared_ptr& data) { - SetData(data); -} - -DenseUnionArray::DenseUnionArray(std::shared_ptr type, int64_t length, - ArrayVector children, std::shared_ptr type_ids, - std::shared_ptr value_offsets, int64_t offset) { - auto internal_data = ArrayData::Make( - std::move(type), length, - BufferVector{nullptr, std::move(type_ids), std::move(value_offsets)}, - /*null_count=*/0, offset); - for (const auto& child : children) { - internal_data->child_data.push_back(child->data()); - } - SetData(internal_data); -} - -Result> DenseUnionArray::Make( - const Array& type_ids, const Array& value_offsets, ArrayVector children, - std::vector field_names, std::vector type_codes) { - if (value_offsets.length() == 0) { - return Status::Invalid("UnionArray offsets must have non-zero length"); - } - - if (value_offsets.type_id() != Type::INT32) { - return Status::TypeError("UnionArray offsets must be signed int32"); - } - - if (type_ids.type_id() != Type::INT8) { - return Status::TypeError("UnionArray type_ids must be signed int8"); - } - - if (type_ids.null_count() != 0) { - return Status::Invalid("Union type ids may not have nulls"); - } - - if (value_offsets.null_count() != 0) { - return Status::Invalid("Make does not allow nulls in value_offsets"); - } - - if (field_names.size() > 0 && field_names.size() != children.size()) { - return Status::Invalid("field_names must have the same length as children"); - } - - if (type_codes.size() > 0 && type_codes.size() != children.size()) { - return Status::Invalid("type_codes must have the same length as children"); - } - - BufferVector buffers = {nullptr, checked_cast(type_ids).values(), - checked_cast(value_offsets).values()}; - - auto union_type = dense_union(children, std::move(field_names), std::move(type_codes)); - auto internal_data = - ArrayData::Make(std::move(union_type), type_ids.length(), std::move(buffers), - /*null_count=*/0, type_ids.offset()); - for (const auto& child : children) { - internal_data->child_data.push_back(child->data()); - } - return std::make_shared(std::move(internal_data)); -} - -Result> SparseUnionArray::Make( - const Array& type_ids, ArrayVector children, std::vector field_names, - std::vector type_codes) { - if (type_ids.type_id() != Type::INT8) { - return Status::TypeError("UnionArray type_ids must be signed int8"); - } - - if (type_ids.null_count() != 0) { - return Status::Invalid("Union type ids may not have nulls"); - } - - if (field_names.size() > 0 && field_names.size() != children.size()) { - return Status::Invalid("field_names must have the same length as children"); - } - - if (type_codes.size() > 0 && type_codes.size() != children.size()) { - return Status::Invalid("type_codes must have the same length as children"); - } - - BufferVector buffers = {nullptr, checked_cast(type_ids).values()}; - auto union_type = sparse_union(children, std::move(field_names), std::move(type_codes)); - auto internal_data = - ArrayData::Make(std::move(union_type), type_ids.length(), std::move(buffers), - /*null_count=*/0, type_ids.offset()); - for (const auto& child : children) { - internal_data->child_data.push_back(child->data()); - if (child->length() != type_ids.length()) { - return Status::Invalid( - "Sparse UnionArray must have len(child) == len(type_ids) for all children"); - } - } - return std::make_shared(std::move(internal_data)); -} - -std::shared_ptr UnionArray::child(int i) const { return field(i); } - -std::shared_ptr UnionArray::field(int i) const { - if (i < 0 || - static_cast(i) >= boxed_fields_.size()) { - return nullptr; - } - std::shared_ptr result = internal::atomic_load(&boxed_fields_[i]); - if (!result) { - std::shared_ptr child_data = data_->child_data[i]->Copy(); - if (mode() == UnionMode::SPARSE) { - // Sparse union: need to adjust child if union is sliced - // (for dense unions, the need to lookup through the offsets - // makes this unnecessary) - if (data_->offset != 0 || child_data->length > data_->length) { - child_data = child_data->Slice(data_->offset, data_->length); - } - } - result = MakeArray(child_data); - internal::atomic_store(&boxed_fields_[i], result); - } - return result; -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_nested.h b/lib/parquet/src/src/arrow/array/array_nested.h deleted file mode 100644 index e37c34b..0000000 --- a/lib/parquet/src/src/arrow/array/array_nested.h +++ /dev/null @@ -1,507 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Array accessor classes for List, LargeList, FixedSizeList, Map, Struct, and -// Union - -#pragma once - -#include -#include -#include -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/data.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_fwd.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// ListArray - -/// Base class for variable-sized list arrays, regardless of offset size. -template -class BaseListArray : public Array { - public: - using TypeClass = TYPE; - using offset_type = typename TypeClass::offset_type; - - const TypeClass* list_type() const { return list_type_; } - - /// \brief Return array object containing the list's values - std::shared_ptr values() const { return values_; } - - /// Note that this buffer does not account for any slice offset - std::shared_ptr value_offsets() const { return data_->buffers[1]; } - - std::shared_ptr value_type() const { return list_type_->value_type(); } - - /// Return pointer to raw value offsets accounting for any slice offset - const offset_type* raw_value_offsets() const { - return raw_value_offsets_ + data_->offset; - } - - // The following functions will not perform boundschecking - offset_type value_offset(int64_t i) const { - return raw_value_offsets_[i + data_->offset]; - } - offset_type value_length(int64_t i) const { - i += data_->offset; - return raw_value_offsets_[i + 1] - raw_value_offsets_[i]; - } - std::shared_ptr value_slice(int64_t i) const { - return values_->Slice(value_offset(i), value_length(i)); - } - - protected: - const TypeClass* list_type_ = NULLPTR; - std::shared_ptr values_; - const offset_type* raw_value_offsets_ = NULLPTR; -}; - -/// Concrete Array class for list data -class ARROW_EXPORT ListArray : public BaseListArray { - public: - explicit ListArray(std::shared_ptr data); - - ListArray(std::shared_ptr type, int64_t length, - std::shared_ptr value_offsets, std::shared_ptr values, - std::shared_ptr null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// \brief Construct ListArray from array of offsets and child value array - /// - /// This function does the bare minimum of validation of the offsets and - /// input types, and will allocate a new offsets array if necessary (i.e. if - /// the offsets contain any nulls). If the offsets do not have nulls, they - /// are assumed to be well-formed - /// - /// \param[in] offsets Array containing n + 1 offsets encoding length and - /// size. Must be of int32 type - /// \param[in] values Array containing list values - /// \param[in] pool MemoryPool in case new offsets array needs to be - /// allocated because of null values - static Result> FromArrays( - const Array& offsets, const Array& values, - MemoryPool* pool = default_memory_pool()); - - /// \brief Return an Array that is a concatenation of the lists in this array. - /// - /// Note that it's different from `values()` in that it takes into - /// consideration of this array's offsets as well as null elements backed - /// by non-empty lists (they are skipped, thus copying may be needed). - Result> Flatten( - MemoryPool* memory_pool = default_memory_pool()) const; - - /// \brief Return list offsets as an Int32Array - std::shared_ptr offsets() const; - - protected: - // This constructor defers SetData to a derived array class - ListArray() = default; - void SetData(const std::shared_ptr& data, - Type::type expected_type_id = Type::LIST); -}; - -/// Concrete Array class for large list data (with 64-bit offsets) -class ARROW_EXPORT LargeListArray : public BaseListArray { - public: - explicit LargeListArray(const std::shared_ptr& data); - - LargeListArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& value_offsets, - const std::shared_ptr& values, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// \brief Construct LargeListArray from array of offsets and child value array - /// - /// This function does the bare minimum of validation of the offsets and - /// input types, and will allocate a new offsets array if necessary (i.e. if - /// the offsets contain any nulls). If the offsets do not have nulls, they - /// are assumed to be well-formed - /// - /// \param[in] offsets Array containing n + 1 offsets encoding length and - /// size. Must be of int64 type - /// \param[in] values Array containing list values - /// \param[in] pool MemoryPool in case new offsets array needs to be - /// allocated because of null values - static Result> FromArrays( - const Array& offsets, const Array& values, - MemoryPool* pool = default_memory_pool()); - - /// \brief Return an Array that is a concatenation of the lists in this array. - /// - /// Note that it's different from `values()` in that it takes into - /// consideration of this array's offsets as well as null elements backed - /// by non-empty lists (they are skipped, thus copying may be needed). - Result> Flatten( - MemoryPool* memory_pool = default_memory_pool()) const; - - /// \brief Return list offsets as an Int64Array - std::shared_ptr offsets() const; - - protected: - void SetData(const std::shared_ptr& data); -}; - -// ---------------------------------------------------------------------- -// MapArray - -/// Concrete Array class for map data -/// -/// NB: "value" in this context refers to a pair of a key and the corresponding item -class ARROW_EXPORT MapArray : public ListArray { - public: - using TypeClass = MapType; - - explicit MapArray(const std::shared_ptr& data); - - MapArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& value_offsets, - const std::shared_ptr& keys, const std::shared_ptr& items, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - MapArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& value_offsets, - const std::shared_ptr& values, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// \brief Construct MapArray from array of offsets and child key, item arrays - /// - /// This function does the bare minimum of validation of the offsets and - /// input types, and will allocate a new offsets array if necessary (i.e. if - /// the offsets contain any nulls). If the offsets do not have nulls, they - /// are assumed to be well-formed - /// - /// \param[in] offsets Array containing n + 1 offsets encoding length and - /// size. Must be of int32 type - /// \param[in] keys Array containing key values - /// \param[in] items Array containing item values - /// \param[in] pool MemoryPool in case new offsets array needs to be - /// allocated because of null values - static Result> FromArrays( - const std::shared_ptr& offsets, const std::shared_ptr& keys, - const std::shared_ptr& items, MemoryPool* pool = default_memory_pool()); - - static Result> FromArrays( - std::shared_ptr type, const std::shared_ptr& offsets, - const std::shared_ptr& keys, const std::shared_ptr& items, - MemoryPool* pool = default_memory_pool()); - - const MapType* map_type() const { return map_type_; } - - /// \brief Return array object containing all map keys - std::shared_ptr keys() const { return keys_; } - - /// \brief Return array object containing all mapped items - std::shared_ptr items() const { return items_; } - - /// Validate child data before constructing the actual MapArray. - static Status ValidateChildData( - const std::vector>& child_data); - - protected: - void SetData(const std::shared_ptr& data); - - static Result> FromArraysInternal( - std::shared_ptr type, const std::shared_ptr& offsets, - const std::shared_ptr& keys, const std::shared_ptr& items, - MemoryPool* pool); - - private: - const MapType* map_type_; - std::shared_ptr keys_, items_; -}; - -// ---------------------------------------------------------------------- -// FixedSizeListArray - -/// Concrete Array class for fixed size list data -class ARROW_EXPORT FixedSizeListArray : public Array { - public: - using TypeClass = FixedSizeListType; - using offset_type = TypeClass::offset_type; - - explicit FixedSizeListArray(const std::shared_ptr& data); - - FixedSizeListArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& values, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - const FixedSizeListType* list_type() const; - - /// \brief Return array object containing the list's values - std::shared_ptr values() const; - - std::shared_ptr value_type() const; - - // The following functions will not perform boundschecking - int32_t value_offset(int64_t i) const { - i += data_->offset; - return static_cast(list_size_ * i); - } - int32_t value_length(int64_t i = 0) const { - ARROW_UNUSED(i); - return list_size_; - } - std::shared_ptr value_slice(int64_t i) const { - return values_->Slice(value_offset(i), value_length(i)); - } - - /// \brief Construct FixedSizeListArray from child value array and value_length - /// - /// \param[in] values Array containing list values - /// \param[in] list_size The fixed length of each list - /// \return Will have length equal to values.length() / list_size - static Result> FromArrays(const std::shared_ptr& values, - int32_t list_size); - - protected: - void SetData(const std::shared_ptr& data); - int32_t list_size_; - - private: - std::shared_ptr values_; -}; - -// ---------------------------------------------------------------------- -// Struct - -/// Concrete Array class for struct data -class ARROW_EXPORT StructArray : public Array { - public: - using TypeClass = StructType; - - explicit StructArray(const std::shared_ptr& data); - - StructArray(const std::shared_ptr& type, int64_t length, - const std::vector>& children, - std::shared_ptr null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// \brief Return a StructArray from child arrays and field names. - /// - /// The length and data type are automatically inferred from the arguments. - /// There should be at least one child array. - static Result> Make( - const std::vector>& children, - const std::vector& field_names, - std::shared_ptr null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - /// \brief Return a StructArray from child arrays and fields. - /// - /// The length is automatically inferred from the arguments. - /// There should be at least one child array. This method does not - /// check that field types and child array types are consistent. - static Result> Make( - const std::vector>& children, - const std::vector>& fields, - std::shared_ptr null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - const StructType* struct_type() const; - - // Return a shared pointer in case the requestor desires to share ownership - // with this array. The returned array has its offset, length and null - // count adjusted. - std::shared_ptr field(int pos) const; - - const ArrayVector& fields() const; - - /// Returns null if name not found - std::shared_ptr GetFieldByName(const std::string& name) const; - - /// \brief Flatten this array as a vector of arrays, one for each field - /// - /// \param[in] pool The pool to allocate null bitmaps from, if necessary - Result Flatten(MemoryPool* pool = default_memory_pool()) const; - - private: - // For caching boxed child data - // XXX This is not handled in a thread-safe manner. - mutable ArrayVector boxed_fields_; -}; - -// ---------------------------------------------------------------------- -// Union - -/// Base class for SparseUnionArray and DenseUnionArray -class ARROW_EXPORT UnionArray : public Array { - public: - using type_code_t = int8_t; - - /// Note that this buffer does not account for any slice offset - std::shared_ptr type_codes() const { return data_->buffers[1]; } - - const type_code_t* raw_type_codes() const { return raw_type_codes_ + data_->offset; } - - /// The physical child id containing value at index. - int child_id(int64_t i) const { - return union_type_->child_ids()[raw_type_codes_[i + data_->offset]]; - } - - const UnionType* union_type() const { return union_type_; } - - UnionMode::type mode() const { return union_type_->mode(); } - - // Return the given field as an individual array. - // For sparse unions, the returned array has its offset, length and null - // count adjusted. - ARROW_DEPRECATED("Deprecated in 1.0.0. Use field(pos)") - std::shared_ptr child(int pos) const; - - /// \brief Return the given field as an individual array. - /// - /// For sparse unions, the returned array has its offset, length and null - /// count adjusted. - std::shared_ptr field(int pos) const; - - protected: - void SetData(std::shared_ptr data); - - const type_code_t* raw_type_codes_; - const UnionType* union_type_; - - // For caching boxed child data - mutable std::vector> boxed_fields_; -}; - -/// Concrete Array class for sparse union data -class ARROW_EXPORT SparseUnionArray : public UnionArray { - public: - using TypeClass = SparseUnionType; - - explicit SparseUnionArray(std::shared_ptr data); - - SparseUnionArray(std::shared_ptr type, int64_t length, ArrayVector children, - std::shared_ptr type_ids, int64_t offset = 0); - - /// \brief Construct SparseUnionArray from type_ids and children - /// - /// This function does the bare minimum of validation of the input types. - /// - /// \param[in] type_ids An array of logical type ids for the union type - /// \param[in] children Vector of children Arrays containing the data for each type. - /// \param[in] type_codes Vector of type codes. - static Result> Make(const Array& type_ids, ArrayVector children, - std::vector type_codes) { - return Make(std::move(type_ids), std::move(children), std::vector{}, - std::move(type_codes)); - } - - /// \brief Construct SparseUnionArray with custom field names from type_ids and children - /// - /// This function does the bare minimum of validation of the input types. - /// - /// \param[in] type_ids An array of logical type ids for the union type - /// \param[in] children Vector of children Arrays containing the data for each type. - /// \param[in] field_names Vector of strings containing the name of each field. - /// \param[in] type_codes Vector of type codes. - static Result> Make(const Array& type_ids, ArrayVector children, - std::vector field_names = {}, - std::vector type_codes = {}); - - const SparseUnionType* union_type() const { - return internal::checked_cast(union_type_); - } - - protected: - void SetData(std::shared_ptr data); -}; - -/// \brief Concrete Array class for dense union data -/// -/// Note that union types do not have a validity bitmap -class ARROW_EXPORT DenseUnionArray : public UnionArray { - public: - using TypeClass = DenseUnionType; - - explicit DenseUnionArray(const std::shared_ptr& data); - - DenseUnionArray(std::shared_ptr type, int64_t length, ArrayVector children, - std::shared_ptr type_ids, - std::shared_ptr value_offsets = NULLPTR, int64_t offset = 0); - - /// \brief Construct DenseUnionArray from type_ids, value_offsets, and children - /// - /// This function does the bare minimum of validation of the offsets and - /// input types. - /// - /// \param[in] type_ids An array of logical type ids for the union type - /// \param[in] value_offsets An array of signed int32 values indicating the - /// relative offset into the respective child array for the type in a given slot. - /// The respective offsets for each child value array must be in order / increasing. - /// \param[in] children Vector of children Arrays containing the data for each type. - /// \param[in] type_codes Vector of type codes. - static Result> Make(const Array& type_ids, - const Array& value_offsets, - ArrayVector children, - std::vector type_codes) { - return Make(type_ids, value_offsets, std::move(children), std::vector{}, - std::move(type_codes)); - } - - /// \brief Construct DenseUnionArray with custom field names from type_ids, - /// value_offsets, and children - /// - /// This function does the bare minimum of validation of the offsets and - /// input types. - /// - /// \param[in] type_ids An array of logical type ids for the union type - /// \param[in] value_offsets An array of signed int32 values indicating the - /// relative offset into the respective child array for the type in a given slot. - /// The respective offsets for each child value array must be in order / increasing. - /// \param[in] children Vector of children Arrays containing the data for each type. - /// \param[in] field_names Vector of strings containing the name of each field. - /// \param[in] type_codes Vector of type codes. - static Result> Make(const Array& type_ids, - const Array& value_offsets, - ArrayVector children, - std::vector field_names = {}, - std::vector type_codes = {}); - - const DenseUnionType* union_type() const { - return internal::checked_cast(union_type_); - } - - /// Note that this buffer does not account for any slice offset - std::shared_ptr value_offsets() const { return data_->buffers[2]; } - - int32_t value_offset(int64_t i) const { return raw_value_offsets_[i + data_->offset]; } - - const int32_t* raw_value_offsets() const { return raw_value_offsets_ + data_->offset; } - - protected: - const int32_t* raw_value_offsets_; - - void SetData(const std::shared_ptr& data); -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_primitive.cc b/lib/parquet/src/src/arrow/array/array_primitive.cc deleted file mode 100644 index a1aff93..0000000 --- a/lib/parquet/src/src/arrow/array/array_primitive.cc +++ /dev/null @@ -1,99 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/array_primitive.h" - -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/type.h" -#include "arrow/util/bit_block_counter.h" -#include "arrow/util/bitmap_ops.h" -#include "arrow/util/logging.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Primitive array base - -PrimitiveArray::PrimitiveArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, - int64_t null_count, int64_t offset) { - SetData(ArrayData::Make(type, length, {null_bitmap, data}, null_count, offset)); -} - -// ---------------------------------------------------------------------- -// BooleanArray - -BooleanArray::BooleanArray(const std::shared_ptr& data) - : PrimitiveArray(data) { - ARROW_CHECK_EQ(data->type->id(), Type::BOOL); -} - -BooleanArray::BooleanArray(int64_t length, const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, int64_t null_count, - int64_t offset) - : PrimitiveArray(boolean(), length, data, null_bitmap, null_count, offset) {} - -int64_t BooleanArray::false_count() const { - return this->length() - this->null_count() - this->true_count(); -} - -int64_t BooleanArray::true_count() const { - if (data_->null_count.load() != 0) { - DCHECK(data_->buffers[0]); - internal::BinaryBitBlockCounter bit_counter(data_->buffers[0]->data(), data_->offset, - data_->buffers[1]->data(), data_->offset, - data_->length); - int64_t count = 0; - while (true) { - internal::BitBlockCount block = bit_counter.NextAndWord(); - if (block.length == 0) { - break; - } - count += block.popcount; - } - return count; - } else { - return internal::CountSetBits(data_->buffers[1]->data(), data_->offset, - data_->length); - } -} - -// ---------------------------------------------------------------------- -// Day time interval - -DayTimeIntervalArray::DayTimeIntervalArray(const std::shared_ptr& data) { - SetData(data); -} - -DayTimeIntervalArray::DayTimeIntervalArray(const std::shared_ptr& type, - int64_t length, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap, - int64_t null_count, int64_t offset) - : PrimitiveArray(type, length, data, null_bitmap, null_count, offset) {} - -DayTimeIntervalType::DayMilliseconds DayTimeIntervalArray::GetValue(int64_t i) const { - DCHECK(i < length()); - return *reinterpret_cast( - raw_values_ + (i + data_->offset) * byte_width()); -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/array_primitive.h b/lib/parquet/src/src/arrow/array/array_primitive.h deleted file mode 100644 index c58fee7..0000000 --- a/lib/parquet/src/src/arrow/array/array_primitive.h +++ /dev/null @@ -1,129 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Array accessor types for primitive/C-type-based arrays, such as numbers, -// boolean, and temporal types. - -#pragma once - -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/data.h" -#include "arrow/type.h" -#include "arrow/type_fwd.h" // IWYU pragma: export -#include "arrow/type_traits.h" -#include "arrow/util/bit_util.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -/// Concrete Array class for numeric data. -template -class NumericArray : public PrimitiveArray { - public: - using TypeClass = TYPE; - using value_type = typename TypeClass::c_type; - - explicit NumericArray(const std::shared_ptr& data) : PrimitiveArray(data) {} - - // Only enable this constructor without a type argument for types without additional - // metadata - template - NumericArray(enable_if_parameter_free length, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0) - : PrimitiveArray(TypeTraits::type_singleton(), length, data, null_bitmap, - null_count, offset) {} - - const value_type* raw_values() const { - return reinterpret_cast(raw_values_) + data_->offset; - } - - value_type Value(int64_t i) const { return raw_values()[i]; } - - // For API compatibility with BinaryArray etc. - value_type GetView(int64_t i) const { return Value(i); } - - protected: - using PrimitiveArray::PrimitiveArray; -}; - -/// Concrete Array class for boolean data -class ARROW_EXPORT BooleanArray : public PrimitiveArray { - public: - using TypeClass = BooleanType; - - explicit BooleanArray(const std::shared_ptr& data); - - BooleanArray(int64_t length, const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - bool Value(int64_t i) const { - return BitUtil::GetBit(reinterpret_cast(raw_values_), - i + data_->offset); - } - - bool GetView(int64_t i) const { return Value(i); } - - /// \brief Return the number of false (0) values among the valid - /// values. Result is not cached. - int64_t false_count() const; - - /// \brief Return the number of true (1) values among the valid - /// values. Result is not cached. - int64_t true_count() const; - - protected: - using PrimitiveArray::PrimitiveArray; -}; - -/// DayTimeArray -/// --------------------- -/// \brief Array of Day and Millisecond values. -class ARROW_EXPORT DayTimeIntervalArray : public PrimitiveArray { - public: - using TypeClass = DayTimeIntervalType; - - explicit DayTimeIntervalArray(const std::shared_ptr& data); - - DayTimeIntervalArray(const std::shared_ptr& type, int64_t length, - const std::shared_ptr& data, - const std::shared_ptr& null_bitmap = NULLPTR, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - TypeClass::DayMilliseconds GetValue(int64_t i) const; - TypeClass::DayMilliseconds Value(int64_t i) const { return GetValue(i); } - - // For compatibility with Take kernel. - TypeClass::DayMilliseconds GetView(int64_t i) const { return GetValue(i); } - - int32_t byte_width() const { return sizeof(TypeClass::DayMilliseconds); } - - const uint8_t* raw_values() const { return raw_values_ + data_->offset * byte_width(); } - - protected: - inline void SetData(const std::shared_ptr& data) { - this->PrimitiveArray::SetData(data); - } -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_adaptive.cc b/lib/parquet/src/src/arrow/array/builder_adaptive.cc deleted file mode 100644 index 47880e9..0000000 --- a/lib/parquet/src/src/arrow/array/builder_adaptive.cc +++ /dev/null @@ -1,378 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_adaptive.h" - -#include -#include - -#include "arrow/array/data.h" -#include "arrow/buffer.h" -#include "arrow/buffer_builder.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/int_util.h" -#include "arrow/util/logging.h" - -namespace arrow { - -using internal::AdaptiveIntBuilderBase; - -AdaptiveIntBuilderBase::AdaptiveIntBuilderBase(MemoryPool* pool) : ArrayBuilder(pool) {} - -void AdaptiveIntBuilderBase::Reset() { - ArrayBuilder::Reset(); - data_.reset(); - raw_data_ = nullptr; - pending_pos_ = 0; - pending_has_nulls_ = false; - int_size_ = sizeof(uint8_t); -} - -Status AdaptiveIntBuilderBase::Resize(int64_t capacity) { - RETURN_NOT_OK(CheckCapacity(capacity)); - capacity = std::max(capacity, kMinBuilderCapacity); - - int64_t nbytes = capacity * int_size_; - if (capacity_ == 0) { - ARROW_ASSIGN_OR_RAISE(data_, AllocateResizableBuffer(nbytes, pool_)); - } else { - RETURN_NOT_OK(data_->Resize(nbytes)); - } - raw_data_ = reinterpret_cast(data_->mutable_data()); - - return ArrayBuilder::Resize(capacity); -} - -template -typename std::enable_if= sizeof(new_type), Status>::type -AdaptiveIntBuilderBase::ExpandIntSizeInternal() { - return Status::OK(); -} - -template -typename std::enable_if<(sizeof(old_type) < sizeof(new_type)), Status>::type -AdaptiveIntBuilderBase::ExpandIntSizeInternal() { - int_size_ = sizeof(new_type); - RETURN_NOT_OK(Resize(data_->size() / sizeof(old_type))); - - const old_type* src = reinterpret_cast(raw_data_); - new_type* dst = reinterpret_cast(raw_data_); - // By doing the backward copy, we ensure that no element is overridden during - // the copy process while the copy stays in-place. - std::copy_backward(src, src + length_, dst + length_); - - return Status::OK(); -} - -std::shared_ptr AdaptiveUIntBuilder::type() const { - auto int_size = int_size_; - if (pending_pos_ != 0) { - const uint8_t* valid_bytes = pending_has_nulls_ ? pending_valid_ : nullptr; - int_size = - internal::DetectUIntWidth(pending_data_, valid_bytes, pending_pos_, int_size_); - } - switch (int_size) { - case 1: - return uint8(); - case 2: - return uint16(); - case 4: - return uint32(); - case 8: - return uint64(); - default: - DCHECK(false); - } - return nullptr; -} - -std::shared_ptr AdaptiveIntBuilder::type() const { - auto int_size = int_size_; - if (pending_pos_ != 0) { - const uint8_t* valid_bytes = pending_has_nulls_ ? pending_valid_ : nullptr; - int_size = internal::DetectIntWidth(reinterpret_cast(pending_data_), - valid_bytes, pending_pos_, int_size_); - } - switch (int_size) { - case 1: - return int8(); - case 2: - return int16(); - case 4: - return int32(); - case 8: - return int64(); - default: - DCHECK(false); - } - return nullptr; -} - -AdaptiveIntBuilder::AdaptiveIntBuilder(MemoryPool* pool) : AdaptiveIntBuilderBase(pool) {} - -Status AdaptiveIntBuilder::FinishInternal(std::shared_ptr* out) { - RETURN_NOT_OK(CommitPendingData()); - - std::shared_ptr null_bitmap; - RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - RETURN_NOT_OK(TrimBuffer(length_ * int_size_, data_.get())); - - *out = ArrayData::Make(type(), length_, {null_bitmap, data_}, null_count_); - - data_ = nullptr; - capacity_ = length_ = null_count_ = 0; - return Status::OK(); -} - -Status AdaptiveIntBuilder::CommitPendingData() { - if (pending_pos_ == 0) { - return Status::OK(); - } - RETURN_NOT_OK(Reserve(pending_pos_)); - const uint8_t* valid_bytes = pending_has_nulls_ ? pending_valid_ : nullptr; - RETURN_NOT_OK(AppendValuesInternal(reinterpret_cast(pending_data_), - pending_pos_, valid_bytes)); - pending_has_nulls_ = false; - pending_pos_ = 0; - return Status::OK(); -} - -static constexpr int64_t kAdaptiveIntChunkSize = 8192; - -Status AdaptiveIntBuilder::AppendValuesInternal(const int64_t* values, int64_t length, - const uint8_t* valid_bytes) { - if (pending_pos_ > 0) { - // UnsafeAppendToBitmap expects length_ to be the pre-update value, satisfy it - DCHECK_EQ(length, pending_pos_) << "AppendValuesInternal called while data pending"; - length_ -= pending_pos_; - } - - while (length > 0) { - // In case `length` is very large, we don't want to trash the cache by - // scanning it twice (first to detect int width, second to copy the data). - // Instead, process data in L2-cacheable chunks. - const int64_t chunk_size = std::min(length, kAdaptiveIntChunkSize); - - uint8_t new_int_size; - new_int_size = internal::DetectIntWidth(values, valid_bytes, chunk_size, int_size_); - - DCHECK_GE(new_int_size, int_size_); - if (new_int_size > int_size_) { - // This updates int_size_ - RETURN_NOT_OK(ExpandIntSize(new_int_size)); - } - - switch (int_size_) { - case 1: - internal::DowncastInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - case 2: - internal::DowncastInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - case 4: - internal::DowncastInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - case 8: - internal::DowncastInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - default: - DCHECK(false); - } - - // UnsafeAppendToBitmap increments length_ by chunk_size - ArrayBuilder::UnsafeAppendToBitmap(valid_bytes, chunk_size); - values += chunk_size; - if (valid_bytes != nullptr) { - valid_bytes += chunk_size; - } - length -= chunk_size; - } - - return Status::OK(); -} - -Status AdaptiveUIntBuilder::CommitPendingData() { - if (pending_pos_ == 0) { - return Status::OK(); - } - RETURN_NOT_OK(Reserve(pending_pos_)); - const uint8_t* valid_bytes = pending_has_nulls_ ? pending_valid_ : nullptr; - RETURN_NOT_OK(AppendValuesInternal(pending_data_, pending_pos_, valid_bytes)); - pending_has_nulls_ = false; - pending_pos_ = 0; - return Status::OK(); -} - -Status AdaptiveIntBuilder::AppendValues(const int64_t* values, int64_t length, - const uint8_t* valid_bytes) { - RETURN_NOT_OK(CommitPendingData()); - RETURN_NOT_OK(Reserve(length)); - - return AppendValuesInternal(values, length, valid_bytes); -} - -template -Status AdaptiveIntBuilder::ExpandIntSizeN() { - switch (int_size_) { - case 1: - return ExpandIntSizeInternal(); - case 2: - return ExpandIntSizeInternal(); - case 4: - return ExpandIntSizeInternal(); - case 8: - return ExpandIntSizeInternal(); - default: - DCHECK(false); - } - return Status::OK(); -} - -Status AdaptiveIntBuilder::ExpandIntSize(uint8_t new_int_size) { - switch (new_int_size) { - case 1: - return ExpandIntSizeN(); - case 2: - return ExpandIntSizeN(); - case 4: - return ExpandIntSizeN(); - case 8: - return ExpandIntSizeN(); - default: - DCHECK(false); - } - return Status::OK(); -} - -AdaptiveUIntBuilder::AdaptiveUIntBuilder(MemoryPool* pool) - : AdaptiveIntBuilderBase(pool) {} - -Status AdaptiveUIntBuilder::FinishInternal(std::shared_ptr* out) { - RETURN_NOT_OK(CommitPendingData()); - - std::shared_ptr null_bitmap; - RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - RETURN_NOT_OK(TrimBuffer(length_ * int_size_, data_.get())); - - *out = ArrayData::Make(type(), length_, {null_bitmap, data_}, null_count_); - - data_ = nullptr; - capacity_ = length_ = null_count_ = 0; - return Status::OK(); -} - -Status AdaptiveUIntBuilder::AppendValuesInternal(const uint64_t* values, int64_t length, - const uint8_t* valid_bytes) { - if (pending_pos_ > 0) { - // UnsafeAppendToBitmap expects length_ to be the pre-update value, satisfy it - DCHECK_EQ(length, pending_pos_) << "AppendValuesInternal called while data pending"; - length_ -= pending_pos_; - } - - while (length > 0) { - // See AdaptiveIntBuilder::AppendValuesInternal - const int64_t chunk_size = std::min(length, kAdaptiveIntChunkSize); - - uint8_t new_int_size; - new_int_size = internal::DetectUIntWidth(values, valid_bytes, chunk_size, int_size_); - - DCHECK_GE(new_int_size, int_size_); - if (new_int_size > int_size_) { - // This updates int_size_ - RETURN_NOT_OK(ExpandIntSize(new_int_size)); - } - - switch (int_size_) { - case 1: - internal::DowncastUInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - case 2: - internal::DowncastUInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - case 4: - internal::DowncastUInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - case 8: - internal::DowncastUInts(values, reinterpret_cast(raw_data_) + length_, - chunk_size); - break; - default: - DCHECK(false); - } - - // UnsafeAppendToBitmap increments length_ by chunk_size - ArrayBuilder::UnsafeAppendToBitmap(valid_bytes, chunk_size); - values += chunk_size; - if (valid_bytes != nullptr) { - valid_bytes += chunk_size; - } - length -= chunk_size; - } - - return Status::OK(); -} - -Status AdaptiveUIntBuilder::AppendValues(const uint64_t* values, int64_t length, - const uint8_t* valid_bytes) { - RETURN_NOT_OK(Reserve(length)); - - return AppendValuesInternal(values, length, valid_bytes); -} - -template -Status AdaptiveUIntBuilder::ExpandIntSizeN() { - switch (int_size_) { - case 1: - return ExpandIntSizeInternal(); - case 2: - return ExpandIntSizeInternal(); - case 4: - return ExpandIntSizeInternal(); - case 8: - return ExpandIntSizeInternal(); - default: - DCHECK(false); - } - return Status::OK(); -} - -Status AdaptiveUIntBuilder::ExpandIntSize(uint8_t new_int_size) { - switch (new_int_size) { - case 1: - return ExpandIntSizeN(); - case 2: - return ExpandIntSizeN(); - case 4: - return ExpandIntSizeN(); - case 8: - return ExpandIntSizeN(); - default: - DCHECK(false); - } - return Status::OK(); -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_adaptive.h b/lib/parquet/src/src/arrow/array/builder_adaptive.h deleted file mode 100644 index 1bce339..0000000 --- a/lib/parquet/src/src/arrow/array/builder_adaptive.h +++ /dev/null @@ -1,170 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include - -#include "arrow/array/builder_base.h" -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -namespace internal { - -class ARROW_EXPORT AdaptiveIntBuilderBase : public ArrayBuilder { - public: - explicit AdaptiveIntBuilderBase(MemoryPool* pool); - - /// \brief Append multiple nulls - /// \param[in] length the number of nulls to append - Status AppendNulls(int64_t length) final { - ARROW_RETURN_NOT_OK(CommitPendingData()); - ARROW_RETURN_NOT_OK(Reserve(length)); - memset(data_->mutable_data() + length_ * int_size_, 0, int_size_ * length); - UnsafeSetNull(length); - return Status::OK(); - } - - Status AppendNull() final { - pending_data_[pending_pos_] = 0; - pending_valid_[pending_pos_] = 0; - pending_has_nulls_ = true; - ++pending_pos_; - ++length_; - ++null_count_; - - if (ARROW_PREDICT_FALSE(pending_pos_ >= pending_size_)) { - return CommitPendingData(); - } - return Status::OK(); - } - - void Reset() override; - Status Resize(int64_t capacity) override; - - protected: - Status AppendInternal(const uint64_t val) { - pending_data_[pending_pos_] = val; - pending_valid_[pending_pos_] = 1; - ++pending_pos_; - ++length_; - - if (ARROW_PREDICT_FALSE(pending_pos_ >= pending_size_)) { - return CommitPendingData(); - } - return Status::OK(); - } - - virtual Status CommitPendingData() = 0; - - template - typename std::enable_if= sizeof(new_type), Status>::type - ExpandIntSizeInternal(); - template - typename std::enable_if<(sizeof(old_type) < sizeof(new_type)), Status>::type - ExpandIntSizeInternal(); - - std::shared_ptr data_; - uint8_t* raw_data_ = NULLPTR; - uint8_t int_size_ = sizeof(uint8_t); - - static constexpr int32_t pending_size_ = 1024; - uint8_t pending_valid_[pending_size_]; - uint64_t pending_data_[pending_size_]; - int32_t pending_pos_ = 0; - bool pending_has_nulls_ = false; -}; - -} // namespace internal - -class ARROW_EXPORT AdaptiveUIntBuilder : public internal::AdaptiveIntBuilderBase { - public: - explicit AdaptiveUIntBuilder(MemoryPool* pool = default_memory_pool()); - - using ArrayBuilder::Advance; - using internal::AdaptiveIntBuilderBase::Reset; - - /// Scalar append - Status Append(const uint64_t val) { return AppendInternal(val); } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a contiguous C array of values - /// \param[in] length the number of values to append - /// \param[in] valid_bytes an optional sequence of bytes where non-zero - /// indicates a valid (non-null) value - /// \return Status - Status AppendValues(const uint64_t* values, int64_t length, - const uint8_t* valid_bytes = NULLPTR); - - Status FinishInternal(std::shared_ptr* out) override; - - std::shared_ptr type() const override; - - protected: - Status CommitPendingData() override; - Status ExpandIntSize(uint8_t new_int_size); - - Status AppendValuesInternal(const uint64_t* values, int64_t length, - const uint8_t* valid_bytes); - - template - Status ExpandIntSizeN(); -}; - -class ARROW_EXPORT AdaptiveIntBuilder : public internal::AdaptiveIntBuilderBase { - public: - explicit AdaptiveIntBuilder(MemoryPool* pool = default_memory_pool()); - - using ArrayBuilder::Advance; - using internal::AdaptiveIntBuilderBase::Reset; - - /// Scalar append - Status Append(const int64_t val) { return AppendInternal(static_cast(val)); } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a contiguous C array of values - /// \param[in] length the number of values to append - /// \param[in] valid_bytes an optional sequence of bytes where non-zero - /// indicates a valid (non-null) value - /// \return Status - Status AppendValues(const int64_t* values, int64_t length, - const uint8_t* valid_bytes = NULLPTR); - - Status FinishInternal(std::shared_ptr* out) override; - - std::shared_ptr type() const override; - - protected: - Status CommitPendingData() override; - Status ExpandIntSize(uint8_t new_int_size); - - Status AppendValuesInternal(const int64_t* values, int64_t length, - const uint8_t* valid_bytes); - - template - Status ExpandIntSizeN(); -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_base.cc b/lib/parquet/src/src/arrow/array/builder_base.cc deleted file mode 100644 index 4c21859..0000000 --- a/lib/parquet/src/src/arrow/array/builder_base.cc +++ /dev/null @@ -1,114 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_base.h" - -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/data.h" -#include "arrow/array/util.h" -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/util/logging.h" - -namespace arrow { - -Status ArrayBuilder::TrimBuffer(const int64_t bytes_filled, ResizableBuffer* buffer) { - if (buffer) { - if (bytes_filled < buffer->size()) { - // Trim buffer - RETURN_NOT_OK(buffer->Resize(bytes_filled)); - } - // zero the padding - buffer->ZeroPadding(); - } else { - // Null buffers are allowed in place of 0-byte buffers - DCHECK_EQ(bytes_filled, 0); - } - return Status::OK(); -} - -Status ArrayBuilder::AppendToBitmap(bool is_valid) { - RETURN_NOT_OK(Reserve(1)); - UnsafeAppendToBitmap(is_valid); - return Status::OK(); -} - -Status ArrayBuilder::AppendToBitmap(const uint8_t* valid_bytes, int64_t length) { - RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(valid_bytes, length); - return Status::OK(); -} - -Status ArrayBuilder::AppendToBitmap(int64_t num_bits, bool value) { - RETURN_NOT_OK(Reserve(num_bits)); - UnsafeAppendToBitmap(num_bits, value); - return Status::OK(); -} - -Status ArrayBuilder::Resize(int64_t capacity) { - RETURN_NOT_OK(CheckCapacity(capacity)); - capacity_ = capacity; - return null_bitmap_builder_.Resize(capacity); -} - -Status ArrayBuilder::Advance(int64_t elements) { - if (length_ + elements > capacity_) { - return Status::Invalid("Builder must be expanded"); - } - length_ += elements; - return null_bitmap_builder_.Advance(elements); -} - -Status ArrayBuilder::Finish(std::shared_ptr* out) { - std::shared_ptr internal_data; - RETURN_NOT_OK(FinishInternal(&internal_data)); - *out = MakeArray(internal_data); - return Status::OK(); -} - -void ArrayBuilder::Reset() { - capacity_ = length_ = null_count_ = 0; - null_bitmap_builder_.Reset(); -} - -Status ArrayBuilder::SetNotNull(int64_t length) { - RETURN_NOT_OK(Reserve(length)); - UnsafeSetNotNull(length); - return Status::OK(); -} - -void ArrayBuilder::UnsafeAppendToBitmap(const std::vector& is_valid) { - for (bool element_valid : is_valid) { - UnsafeAppendToBitmap(element_valid); - } -} - -void ArrayBuilder::UnsafeSetNotNull(int64_t length) { - length_ += length; - null_bitmap_builder_.UnsafeAppend(length, true); -} - -void ArrayBuilder::UnsafeSetNull(int64_t length) { - length_ += length; - null_count_ += length; - null_bitmap_builder_.UnsafeAppend(length, false); -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_base.h b/lib/parquet/src/src/arrow/array/builder_base.h deleted file mode 100644 index 8d327b7..0000000 --- a/lib/parquet/src/src/arrow/array/builder_base.h +++ /dev/null @@ -1,219 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include // IWYU pragma: keep -#include -#include -#include -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/array_primitive.h" -#include "arrow/buffer.h" -#include "arrow/buffer_builder.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -constexpr int64_t kMinBuilderCapacity = 1 << 5; -constexpr int64_t kListMaximumElements = std::numeric_limits::max() - 1; - -/// Base class for all data array builders. -/// -/// This class provides a facilities for incrementally building the null bitmap -/// (see Append methods) and as a side effect the current number of slots and -/// the null count. -/// -/// \note Users are expected to use builders as one of the concrete types below. -/// For example, ArrayBuilder* pointing to BinaryBuilder should be downcast before use. -class ARROW_EXPORT ArrayBuilder { - public: - explicit ArrayBuilder(MemoryPool* pool) : pool_(pool), null_bitmap_builder_(pool) {} - - virtual ~ArrayBuilder() = default; - - /// For nested types. Since the objects are owned by this class instance, we - /// skip shared pointers and just return a raw pointer - ArrayBuilder* child(int i) { return children_[i].get(); } - - int num_children() const { return static_cast(children_.size()); } - - virtual int64_t length() const { return length_; } - int64_t null_count() const { return null_count_; } - int64_t capacity() const { return capacity_; } - - /// \brief Ensure that enough memory has been allocated to fit the indicated - /// number of total elements in the builder, including any that have already - /// been appended. Does not account for reallocations that may be due to - /// variable size data, like binary values. To make space for incremental - /// appends, use Reserve instead. - /// - /// \param[in] capacity the minimum number of total array values to - /// accommodate. Must be greater than the current capacity. - /// \return Status - virtual Status Resize(int64_t capacity); - - /// \brief Ensure that there is enough space allocated to append the indicated - /// number of elements without any further reallocation. Overallocation is - /// used in order to minimize the impact of incremental Reserve() calls. - /// Note that additional_capacity is relative to the current number of elements - /// rather than to the current capacity, so calls to Reserve() which are not - /// interspersed with addition of new elements may not increase the capacity. - /// - /// \param[in] additional_capacity the number of additional array values - /// \return Status - Status Reserve(int64_t additional_capacity) { - auto current_capacity = capacity(); - auto min_capacity = length() + additional_capacity; - if (min_capacity <= current_capacity) return Status::OK(); - - // leave growth factor up to BufferBuilder - auto new_capacity = BufferBuilder::GrowByFactor(current_capacity, min_capacity); - return Resize(new_capacity); - } - - /// Reset the builder. - virtual void Reset(); - - virtual Status AppendNull() = 0; - virtual Status AppendNulls(int64_t length) = 0; - - /// For cases where raw data was memcpy'd into the internal buffers, allows us - /// to advance the length of the builder. It is your responsibility to use - /// this function responsibly. - Status Advance(int64_t elements); - - /// \brief Return result of builder as an internal generic ArrayData - /// object. Resets builder except for dictionary builder - /// - /// \param[out] out the finalized ArrayData object - /// \return Status - virtual Status FinishInternal(std::shared_ptr* out) = 0; - - /// \brief Return result of builder as an Array object. - /// - /// The builder is reset except for DictionaryBuilder. - /// - /// \param[out] out the finalized Array object - /// \return Status - Status Finish(std::shared_ptr* out); - - /// \brief Return the type of the built Array - virtual std::shared_ptr type() const = 0; - - protected: - /// Append to null bitmap - Status AppendToBitmap(bool is_valid); - - /// Vector append. Treat each zero byte as a null. If valid_bytes is null - /// assume all of length bits are valid. - Status AppendToBitmap(const uint8_t* valid_bytes, int64_t length); - - /// Uniform append. Append N times the same validity bit. - Status AppendToBitmap(int64_t num_bits, bool value); - - /// Set the next length bits to not null (i.e. valid). - Status SetNotNull(int64_t length); - - // Unsafe operations (don't check capacity/don't resize) - - void UnsafeAppendNull() { UnsafeAppendToBitmap(false); } - - // Append to null bitmap, update the length - void UnsafeAppendToBitmap(bool is_valid) { - null_bitmap_builder_.UnsafeAppend(is_valid); - ++length_; - if (!is_valid) ++null_count_; - } - - // Vector append. Treat each zero byte as a nullzero. If valid_bytes is null - // assume all of length bits are valid. - void UnsafeAppendToBitmap(const uint8_t* valid_bytes, int64_t length) { - if (valid_bytes == NULLPTR) { - return UnsafeSetNotNull(length); - } - null_bitmap_builder_.UnsafeAppend(valid_bytes, length); - length_ += length; - null_count_ = null_bitmap_builder_.false_count(); - } - - // Append the same validity value a given number of times. - void UnsafeAppendToBitmap(const int64_t num_bits, bool value) { - if (value) { - UnsafeSetNotNull(num_bits); - } else { - UnsafeSetNull(num_bits); - } - } - - void UnsafeAppendToBitmap(const std::vector& is_valid); - - // Set the next validity bits to not null (i.e. valid). - void UnsafeSetNotNull(int64_t length); - - // Set the next validity bits to null (i.e. invalid). - void UnsafeSetNull(int64_t length); - - static Status TrimBuffer(const int64_t bytes_filled, ResizableBuffer* buffer); - - /// \brief Finish to an array of the specified ArrayType - template - Status FinishTyped(std::shared_ptr* out) { - std::shared_ptr out_untyped; - ARROW_RETURN_NOT_OK(Finish(&out_untyped)); - *out = std::static_pointer_cast(std::move(out_untyped)); - return Status::OK(); - } - - // Check the requested capacity for validity - Status CheckCapacity(int64_t new_capacity) { - if (ARROW_PREDICT_FALSE(new_capacity < 0)) { - return Status::Invalid( - "Resize capacity must be positive (requested: ", new_capacity, ")"); - } - - if (ARROW_PREDICT_FALSE(new_capacity < length_)) { - return Status::Invalid("Resize cannot downsize (requested: ", new_capacity, - ", current length: ", length_, ")"); - } - - return Status::OK(); - } - - MemoryPool* pool_; - - TypedBufferBuilder null_bitmap_builder_; - int64_t null_count_ = 0; - - // Array length, so far. Also, the index of the next element to be added - int64_t length_ = 0; - int64_t capacity_ = 0; - - // Child value array builders. These are owned by this class - std::vector> children_; - - private: - ARROW_DISALLOW_COPY_AND_ASSIGN(ArrayBuilder); -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_binary.cc b/lib/parquet/src/src/arrow/array/builder_binary.cc deleted file mode 100644 index ecb0e95..0000000 --- a/lib/parquet/src/src/arrow/array/builder_binary.cc +++ /dev/null @@ -1,185 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_binary.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_traits.h" -#include "arrow/util/bit_util.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/decimal.h" -#include "arrow/util/logging.h" - -namespace arrow { - -using internal::checked_cast; - -// ---------------------------------------------------------------------- -// Fixed width binary - -FixedSizeBinaryBuilder::FixedSizeBinaryBuilder(const std::shared_ptr& type, - MemoryPool* pool) - : ArrayBuilder(pool), - byte_width_(checked_cast(*type).byte_width()), - byte_builder_(pool) {} - -void FixedSizeBinaryBuilder::CheckValueSize(int64_t size) { - DCHECK_EQ(size, byte_width_) << "Appending wrong size to FixedSizeBinaryBuilder"; -} - -Status FixedSizeBinaryBuilder::AppendValues(const uint8_t* data, int64_t length, - const uint8_t* valid_bytes) { - RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(valid_bytes, length); - return byte_builder_.Append(data, length * byte_width_); -} - -Status FixedSizeBinaryBuilder::AppendNull() { - RETURN_NOT_OK(Reserve(1)); - UnsafeAppendNull(); - return Status::OK(); -} - -Status FixedSizeBinaryBuilder::AppendNulls(int64_t length) { - RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(length, false); - byte_builder_.UnsafeAppend(/*num_copies=*/length * byte_width_, 0); - return Status::OK(); -} - -void FixedSizeBinaryBuilder::Reset() { - ArrayBuilder::Reset(); - byte_builder_.Reset(); -} - -Status FixedSizeBinaryBuilder::Resize(int64_t capacity) { - RETURN_NOT_OK(CheckCapacity(capacity)); - RETURN_NOT_OK(byte_builder_.Resize(capacity * byte_width_)); - return ArrayBuilder::Resize(capacity); -} - -Status FixedSizeBinaryBuilder::FinishInternal(std::shared_ptr* out) { - std::shared_ptr data; - RETURN_NOT_OK(byte_builder_.Finish(&data)); - - std::shared_ptr null_bitmap; - RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - *out = ArrayData::Make(type(), length_, {null_bitmap, data}, null_count_); - - capacity_ = length_ = null_count_ = 0; - return Status::OK(); -} - -const uint8_t* FixedSizeBinaryBuilder::GetValue(int64_t i) const { - const uint8_t* data_ptr = byte_builder_.data(); - return data_ptr + i * byte_width_; -} - -util::string_view FixedSizeBinaryBuilder::GetView(int64_t i) const { - const uint8_t* data_ptr = byte_builder_.data(); - return util::string_view(reinterpret_cast(data_ptr + i * byte_width_), - byte_width_); -} - -// ---------------------------------------------------------------------- -// ChunkedArray builders - -namespace internal { - -ChunkedBinaryBuilder::ChunkedBinaryBuilder(int32_t max_chunk_value_length, - MemoryPool* pool) - : max_chunk_value_length_(max_chunk_value_length), builder_(new BinaryBuilder(pool)) { - DCHECK_LE(max_chunk_value_length, kBinaryMemoryLimit); -} - -ChunkedBinaryBuilder::ChunkedBinaryBuilder(int32_t max_chunk_value_length, - int32_t max_chunk_length, MemoryPool* pool) - : ChunkedBinaryBuilder(max_chunk_value_length, pool) { - max_chunk_length_ = max_chunk_length; -} - -Status ChunkedBinaryBuilder::Finish(ArrayVector* out) { - if (builder_->length() > 0 || chunks_.size() == 0) { - std::shared_ptr chunk; - RETURN_NOT_OK(builder_->Finish(&chunk)); - chunks_.emplace_back(std::move(chunk)); - } - *out = std::move(chunks_); - return Status::OK(); -} - -Status ChunkedBinaryBuilder::NextChunk() { - std::shared_ptr chunk; - RETURN_NOT_OK(builder_->Finish(&chunk)); - chunks_.emplace_back(std::move(chunk)); - - if (auto capacity = extra_capacity_) { - extra_capacity_ = 0; - return Reserve(capacity); - } - - return Status::OK(); -} - -Status ChunkedStringBuilder::Finish(ArrayVector* out) { - RETURN_NOT_OK(ChunkedBinaryBuilder::Finish(out)); - - // Change data type to string/utf8 - for (size_t i = 0; i < out->size(); ++i) { - std::shared_ptr data = (*out)[i]->data(); - data->type = ::arrow::utf8(); - (*out)[i] = std::make_shared(data); - } - return Status::OK(); -} - -Status ChunkedBinaryBuilder::Reserve(int64_t values) { - if (ARROW_PREDICT_FALSE(extra_capacity_ != 0)) { - extra_capacity_ += values; - return Status::OK(); - } - - auto current_capacity = builder_->capacity(); - auto min_capacity = builder_->length() + values; - if (current_capacity >= min_capacity) { - return Status::OK(); - } - - auto new_capacity = BufferBuilder::GrowByFactor(current_capacity, min_capacity); - if (ARROW_PREDICT_TRUE(new_capacity <= max_chunk_length_)) { - return builder_->Resize(new_capacity); - } - - extra_capacity_ = new_capacity - max_chunk_length_; - return builder_->Resize(max_chunk_length_); -} - -} // namespace internal - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_binary.h b/lib/parquet/src/src/arrow/array/builder_binary.h deleted file mode 100644 index 593b533..0000000 --- a/lib/parquet/src/src/arrow/array/builder_binary.h +++ /dev/null @@ -1,596 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/array_binary.h" -#include "arrow/array/builder_base.h" -#include "arrow/array/data.h" -#include "arrow/buffer.h" -#include "arrow/buffer_builder.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/string_view.h" // IWYU pragma: export -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Binary and String - -template -class BaseBinaryBuilder : public ArrayBuilder { - public: - using TypeClass = TYPE; - using offset_type = typename TypeClass::offset_type; - - explicit BaseBinaryBuilder(MemoryPool* pool = default_memory_pool()) - : ArrayBuilder(pool), offsets_builder_(pool), value_data_builder_(pool) {} - - BaseBinaryBuilder(const std::shared_ptr& type, MemoryPool* pool) - : BaseBinaryBuilder(pool) {} - - Status Append(const uint8_t* value, offset_type length) { - ARROW_RETURN_NOT_OK(Reserve(1)); - ARROW_RETURN_NOT_OK(AppendNextOffset()); - // Safety check for UBSAN. - if (ARROW_PREDICT_TRUE(length > 0)) { - ARROW_RETURN_NOT_OK(value_data_builder_.Append(value, length)); - } - - UnsafeAppendToBitmap(true); - return Status::OK(); - } - - Status Append(const char* value, offset_type length) { - return Append(reinterpret_cast(value), length); - } - - Status Append(util::string_view value) { - return Append(value.data(), static_cast(value.size())); - } - - Status AppendNulls(int64_t length) final { - const int64_t num_bytes = value_data_builder_.length(); - if (ARROW_PREDICT_FALSE(num_bytes > memory_limit())) { - return AppendOverflow(num_bytes); - } - ARROW_RETURN_NOT_OK(Reserve(length)); - for (int64_t i = 0; i < length; ++i) { - offsets_builder_.UnsafeAppend(static_cast(num_bytes)); - } - UnsafeAppendToBitmap(length, false); - return Status::OK(); - } - - Status AppendNull() final { - ARROW_RETURN_NOT_OK(AppendNextOffset()); - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppendToBitmap(false); - return Status::OK(); - } - - /// \brief Append without checking capacity - /// - /// Offsets and data should have been presized using Reserve() and - /// ReserveData(), respectively. - void UnsafeAppend(const uint8_t* value, offset_type length) { - UnsafeAppendNextOffset(); - value_data_builder_.UnsafeAppend(value, length); - UnsafeAppendToBitmap(true); - } - - void UnsafeAppend(const char* value, offset_type length) { - UnsafeAppend(reinterpret_cast(value), length); - } - - void UnsafeAppend(const std::string& value) { - UnsafeAppend(value.c_str(), static_cast(value.size())); - } - - void UnsafeAppend(util::string_view value) { - UnsafeAppend(value.data(), static_cast(value.size())); - } - - void UnsafeAppendNull() { - const int64_t num_bytes = value_data_builder_.length(); - offsets_builder_.UnsafeAppend(static_cast(num_bytes)); - UnsafeAppendToBitmap(false); - } - - /// \brief Append a sequence of strings in one shot. - /// - /// \param[in] values a vector of strings - /// \param[in] valid_bytes an optional sequence of bytes where non-zero - /// indicates a valid (non-null) value - /// \return Status - Status AppendValues(const std::vector& values, - const uint8_t* valid_bytes = NULLPTR) { - std::size_t total_length = std::accumulate( - values.begin(), values.end(), 0ULL, - [](uint64_t sum, const std::string& str) { return sum + str.size(); }); - ARROW_RETURN_NOT_OK(Reserve(values.size())); - ARROW_RETURN_NOT_OK(value_data_builder_.Reserve(total_length)); - ARROW_RETURN_NOT_OK(offsets_builder_.Reserve(values.size())); - - if (valid_bytes != NULLPTR) { - for (std::size_t i = 0; i < values.size(); ++i) { - UnsafeAppendNextOffset(); - if (valid_bytes[i]) { - value_data_builder_.UnsafeAppend( - reinterpret_cast(values[i].data()), values[i].size()); - } - } - } else { - for (std::size_t i = 0; i < values.size(); ++i) { - UnsafeAppendNextOffset(); - value_data_builder_.UnsafeAppend( - reinterpret_cast(values[i].data()), values[i].size()); - } - } - - UnsafeAppendToBitmap(valid_bytes, values.size()); - return Status::OK(); - } - - /// \brief Append a sequence of nul-terminated strings in one shot. - /// If one of the values is NULL, it is processed as a null - /// value even if the corresponding valid_bytes entry is 1. - /// - /// \param[in] values a contiguous C array of nul-terminated char * - /// \param[in] length the number of values to append - /// \param[in] valid_bytes an optional sequence of bytes where non-zero - /// indicates a valid (non-null) value - /// \return Status - Status AppendValues(const char** values, int64_t length, - const uint8_t* valid_bytes = NULLPTR) { - std::size_t total_length = 0; - std::vector value_lengths(length); - bool have_null_value = false; - for (int64_t i = 0; i < length; ++i) { - if (values[i] != NULLPTR) { - auto value_length = strlen(values[i]); - value_lengths[i] = value_length; - total_length += value_length; - } else { - have_null_value = true; - } - } - ARROW_RETURN_NOT_OK(Reserve(length)); - ARROW_RETURN_NOT_OK(ReserveData(total_length)); - - if (valid_bytes) { - int64_t valid_bytes_offset = 0; - for (int64_t i = 0; i < length; ++i) { - UnsafeAppendNextOffset(); - if (valid_bytes[i]) { - if (values[i]) { - value_data_builder_.UnsafeAppend(reinterpret_cast(values[i]), - value_lengths[i]); - } else { - UnsafeAppendToBitmap(valid_bytes + valid_bytes_offset, - i - valid_bytes_offset); - UnsafeAppendToBitmap(false); - valid_bytes_offset = i + 1; - } - } - } - UnsafeAppendToBitmap(valid_bytes + valid_bytes_offset, length - valid_bytes_offset); - } else { - if (have_null_value) { - std::vector valid_vector(length, 0); - for (int64_t i = 0; i < length; ++i) { - UnsafeAppendNextOffset(); - if (values[i]) { - value_data_builder_.UnsafeAppend(reinterpret_cast(values[i]), - value_lengths[i]); - valid_vector[i] = 1; - } - } - UnsafeAppendToBitmap(valid_vector.data(), length); - } else { - for (int64_t i = 0; i < length; ++i) { - UnsafeAppendNextOffset(); - value_data_builder_.UnsafeAppend(reinterpret_cast(values[i]), - value_lengths[i]); - } - UnsafeAppendToBitmap(NULLPTR, length); - } - } - return Status::OK(); - } - - void Reset() override { - ArrayBuilder::Reset(); - offsets_builder_.Reset(); - value_data_builder_.Reset(); - } - - Status Resize(int64_t capacity) override { - // XXX Why is this check necessary? There is no reason to disallow, say, - // binary arrays with more than 2**31 empty or null values. - if (capacity > memory_limit()) { - return Status::CapacityError("BinaryBuilder cannot reserve space for more than ", - memory_limit(), " child elements, got ", capacity); - } - ARROW_RETURN_NOT_OK(CheckCapacity(capacity)); - - // One more than requested for offsets - ARROW_RETURN_NOT_OK(offsets_builder_.Resize(capacity + 1)); - return ArrayBuilder::Resize(capacity); - } - - /// \brief Ensures there is enough allocated capacity to append the indicated - /// number of bytes to the value data buffer without additional allocations - Status ReserveData(int64_t elements) { - const int64_t size = value_data_length() + elements; - ARROW_RETURN_IF(size > memory_limit(), - Status::CapacityError("Cannot reserve capacity larger than ", - memory_limit(), " bytes")); - return (size > value_data_capacity()) ? value_data_builder_.Reserve(elements) - : Status::OK(); - } - - Status FinishInternal(std::shared_ptr* out) override { - // Write final offset (values length) - ARROW_RETURN_NOT_OK(AppendNextOffset()); - - // These buffers' padding zeroed by BufferBuilder - std::shared_ptr offsets, value_data, null_bitmap; - ARROW_RETURN_NOT_OK(offsets_builder_.Finish(&offsets)); - ARROW_RETURN_NOT_OK(value_data_builder_.Finish(&value_data)); - ARROW_RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - - *out = ArrayData::Make(type(), length_, {null_bitmap, offsets, value_data}, - null_count_, 0); - Reset(); - return Status::OK(); - } - - /// \return data pointer of the value date builder - const uint8_t* value_data() const { return value_data_builder_.data(); } - /// \return size of values buffer so far - int64_t value_data_length() const { return value_data_builder_.length(); } - /// \return capacity of values buffer - int64_t value_data_capacity() const { return value_data_builder_.capacity(); } - - /// \return data pointer of the value date builder - const offset_type* offsets_data() const { return offsets_builder_.data(); } - - /// Temporary access to a value. - /// - /// This pointer becomes invalid on the next modifying operation. - const uint8_t* GetValue(int64_t i, offset_type* out_length) const { - const offset_type* offsets = offsets_builder_.data(); - const auto offset = offsets[i]; - if (i == (length_ - 1)) { - *out_length = static_cast(value_data_builder_.length()) - offset; - } else { - *out_length = offsets[i + 1] - offset; - } - return value_data_builder_.data() + offset; - } - - offset_type offset(int64_t i) const { return offsets_data()[i]; } - - /// Temporary access to a value. - /// - /// This view becomes invalid on the next modifying operation. - util::string_view GetView(int64_t i) const { - offset_type value_length; - const uint8_t* value_data = GetValue(i, &value_length); - return util::string_view(reinterpret_cast(value_data), value_length); - } - - // Cannot make this a static attribute because of linking issues - static constexpr int64_t memory_limit() { - return std::numeric_limits::max() - 1; - } - - protected: - TypedBufferBuilder offsets_builder_; - TypedBufferBuilder value_data_builder_; - - Status AppendOverflow(int64_t num_bytes) { - return Status::CapacityError("array cannot contain more than ", memory_limit(), - " bytes, have ", num_bytes); - } - - Status AppendNextOffset() { - const int64_t num_bytes = value_data_builder_.length(); - if (ARROW_PREDICT_FALSE(num_bytes > memory_limit())) { - return AppendOverflow(num_bytes); - } - return offsets_builder_.Append(static_cast(num_bytes)); - } - - void UnsafeAppendNextOffset() { - const int64_t num_bytes = value_data_builder_.length(); - offsets_builder_.UnsafeAppend(static_cast(num_bytes)); - } -}; - -/// \class BinaryBuilder -/// \brief Builder class for variable-length binary data -class ARROW_EXPORT BinaryBuilder : public BaseBinaryBuilder { - public: - using BaseBinaryBuilder::BaseBinaryBuilder; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - std::shared_ptr type() const override { return binary(); } -}; - -/// \class StringBuilder -/// \brief Builder class for UTF8 strings -class ARROW_EXPORT StringBuilder : public BinaryBuilder { - public: - using BinaryBuilder::BinaryBuilder; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - std::shared_ptr type() const override { return utf8(); } -}; - -/// \class LargeBinaryBuilder -/// \brief Builder class for large variable-length binary data -class ARROW_EXPORT LargeBinaryBuilder : public BaseBinaryBuilder { - public: - using BaseBinaryBuilder::BaseBinaryBuilder; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - std::shared_ptr type() const override { return large_binary(); } -}; - -/// \class LargeStringBuilder -/// \brief Builder class for large UTF8 strings -class ARROW_EXPORT LargeStringBuilder : public LargeBinaryBuilder { - public: - using LargeBinaryBuilder::LargeBinaryBuilder; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - std::shared_ptr type() const override { return large_utf8(); } -}; - -// ---------------------------------------------------------------------- -// FixedSizeBinaryBuilder - -class ARROW_EXPORT FixedSizeBinaryBuilder : public ArrayBuilder { - public: - using TypeClass = FixedSizeBinaryType; - - explicit FixedSizeBinaryBuilder(const std::shared_ptr& type, - MemoryPool* pool = default_memory_pool()); - - Status Append(const uint8_t* value) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppend(value); - return Status::OK(); - } - - Status Append(const char* value) { - return Append(reinterpret_cast(value)); - } - - Status Append(const util::string_view& view) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppend(view); - return Status::OK(); - } - - Status Append(const std::string& s) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppend(s); - return Status::OK(); - } - - template - Status Append(const std::array& value) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppend( - util::string_view(reinterpret_cast(value.data()), value.size())); - return Status::OK(); - } - - Status AppendValues(const uint8_t* data, int64_t length, - const uint8_t* valid_bytes = NULLPTR); - - Status AppendNull() final; - - Status AppendNulls(int64_t length) final; - - void UnsafeAppend(const uint8_t* value) { - UnsafeAppendToBitmap(true); - if (ARROW_PREDICT_TRUE(byte_width_ > 0)) { - byte_builder_.UnsafeAppend(value, byte_width_); - } - } - - void UnsafeAppend(util::string_view value) { -#ifndef NDEBUG - CheckValueSize(static_cast(value.size())); -#endif - UnsafeAppend(reinterpret_cast(value.data())); - } - - void UnsafeAppendNull() { - UnsafeAppendToBitmap(false); - byte_builder_.UnsafeAppend(/*num_copies=*/byte_width_, 0); - } - - void Reset() override; - Status Resize(int64_t capacity) override; - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - /// \return size of values buffer so far - int64_t value_data_length() const { return byte_builder_.length(); } - - int32_t byte_width() const { return byte_width_; } - - /// Temporary access to a value. - /// - /// This pointer becomes invalid on the next modifying operation. - const uint8_t* GetValue(int64_t i) const; - - /// Temporary access to a value. - /// - /// This view becomes invalid on the next modifying operation. - util::string_view GetView(int64_t i) const; - - static constexpr int64_t memory_limit() { - return std::numeric_limits::max() - 1; - } - - std::shared_ptr type() const override { - return fixed_size_binary(byte_width_); - } - - protected: - int32_t byte_width_; - BufferBuilder byte_builder_; - - /// Temporary access to a value. - /// - /// This pointer becomes invalid on the next modifying operation. - uint8_t* GetMutableValue(int64_t i) { - uint8_t* data_ptr = byte_builder_.mutable_data(); - return data_ptr + i * byte_width_; - } - - void CheckValueSize(int64_t size); -}; - -// ---------------------------------------------------------------------- -// Chunked builders: build a sequence of BinaryArray or StringArray that are -// limited to a particular size (to the upper limit of 2GB) - -namespace internal { - -class ARROW_EXPORT ChunkedBinaryBuilder { - public: - explicit ChunkedBinaryBuilder(int32_t max_chunk_value_length, - MemoryPool* pool = default_memory_pool()); - - ChunkedBinaryBuilder(int32_t max_chunk_value_length, int32_t max_chunk_length, - MemoryPool* pool = default_memory_pool()); - - virtual ~ChunkedBinaryBuilder() = default; - - Status Append(const uint8_t* value, int32_t length) { - if (ARROW_PREDICT_FALSE(length + builder_->value_data_length() > - max_chunk_value_length_)) { - if (builder_->value_data_length() == 0) { - // The current item is larger than max_chunk_size_; - // this chunk will be oversize and hold *only* this item - ARROW_RETURN_NOT_OK(builder_->Append(value, length)); - return NextChunk(); - } - // The current item would cause builder_->value_data_length() to exceed - // max_chunk_size_, so finish this chunk and append the current item to the next - // chunk - ARROW_RETURN_NOT_OK(NextChunk()); - return Append(value, length); - } - - if (ARROW_PREDICT_FALSE(builder_->length() == max_chunk_length_)) { - // The current item would cause builder_->length() to exceed max_chunk_length_, so - // finish this chunk and append the current item to the next chunk - ARROW_RETURN_NOT_OK(NextChunk()); - } - - return builder_->Append(value, length); - } - - Status Append(const util::string_view& value) { - return Append(reinterpret_cast(value.data()), - static_cast(value.size())); - } - - Status AppendNull() { - if (ARROW_PREDICT_FALSE(builder_->length() == max_chunk_length_)) { - ARROW_RETURN_NOT_OK(NextChunk()); - } - return builder_->AppendNull(); - } - - Status Reserve(int64_t values); - - virtual Status Finish(ArrayVector* out); - - protected: - Status NextChunk(); - - // maximum total character data size per chunk - int64_t max_chunk_value_length_; - - // maximum elements allowed per chunk - int64_t max_chunk_length_ = kListMaximumElements; - - // when Reserve() would cause builder_ to exceed its max_chunk_length_, - // add to extra_capacity_ instead and wait to reserve until the next chunk - int64_t extra_capacity_ = 0; - - std::unique_ptr builder_; - std::vector> chunks_; -}; - -class ARROW_EXPORT ChunkedStringBuilder : public ChunkedBinaryBuilder { - public: - using ChunkedBinaryBuilder::ChunkedBinaryBuilder; - - Status Finish(ArrayVector* out) override; -}; - -} // namespace internal - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_decimal.cc b/lib/parquet/src/src/arrow/array/builder_decimal.cc deleted file mode 100644 index ea5c9eb..0000000 --- a/lib/parquet/src/src/arrow/array/builder_decimal.cc +++ /dev/null @@ -1,70 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_decimal.h" - -#include -#include - -#include "arrow/array/data.h" -#include "arrow/buffer.h" -#include "arrow/buffer_builder.h" -#include "arrow/status.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/decimal.h" - -namespace arrow { - -class Buffer; -class MemoryPool; - -// ---------------------------------------------------------------------- -// Decimal128Builder - -Decimal128Builder::Decimal128Builder(const std::shared_ptr& type, - MemoryPool* pool) - : FixedSizeBinaryBuilder(type, pool), - decimal_type_(internal::checked_pointer_cast(type)) {} - -Status Decimal128Builder::Append(Decimal128 value) { - RETURN_NOT_OK(FixedSizeBinaryBuilder::Reserve(1)); - UnsafeAppend(value); - return Status::OK(); -} - -void Decimal128Builder::UnsafeAppend(Decimal128 value) { - value.ToBytes(GetMutableValue(length())); - byte_builder_.UnsafeAdvance(16); - UnsafeAppendToBitmap(true); -} - -void Decimal128Builder::UnsafeAppend(util::string_view value) { - FixedSizeBinaryBuilder::UnsafeAppend(value); -} - -Status Decimal128Builder::FinishInternal(std::shared_ptr* out) { - std::shared_ptr data; - RETURN_NOT_OK(byte_builder_.Finish(&data)); - std::shared_ptr null_bitmap; - RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - - *out = ArrayData::Make(type(), length_, {null_bitmap, data}, null_count_); - capacity_ = length_ = null_count_ = 0; - return Status::OK(); -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_decimal.h b/lib/parquet/src/src/arrow/array/builder_decimal.h deleted file mode 100644 index 8f0ff83..0000000 --- a/lib/parquet/src/src/arrow/array/builder_decimal.h +++ /dev/null @@ -1,63 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include - -#include "arrow/array/array_decimal.h" -#include "arrow/array/builder_base.h" -#include "arrow/array/builder_binary.h" -#include "arrow/array/data.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -class ARROW_EXPORT Decimal128Builder : public FixedSizeBinaryBuilder { - public: - using TypeClass = Decimal128Type; - - explicit Decimal128Builder(const std::shared_ptr& type, - MemoryPool* pool = default_memory_pool()); - - using FixedSizeBinaryBuilder::Append; - using FixedSizeBinaryBuilder::AppendValues; - using FixedSizeBinaryBuilder::Reset; - - Status Append(Decimal128 val); - void UnsafeAppend(Decimal128 val); - void UnsafeAppend(util::string_view val); - - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - std::shared_ptr type() const override { return decimal_type_; } - - protected: - std::shared_ptr decimal_type_; -}; - -using DecimalBuilder = Decimal128Builder; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_dict.cc b/lib/parquet/src/src/arrow/array/builder_dict.cc deleted file mode 100644 index 54fd948..0000000 --- a/lib/parquet/src/src/arrow/array/builder_dict.cc +++ /dev/null @@ -1,193 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_dict.h" - -#include - -#include "arrow/array/dict_internal.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_traits.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/hashing.h" -#include "arrow/util/logging.h" -#include "arrow/visitor_inline.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// DictionaryBuilder - -namespace internal { - -class DictionaryMemoTable::DictionaryMemoTableImpl { - // Type-dependent visitor for memo table initialization - struct MemoTableInitializer { - std::shared_ptr value_type_; - MemoryPool* pool_; - std::unique_ptr* memo_table_; - - template - enable_if_no_memoize Visit(const T&) { - return Status::NotImplemented("Initialization of ", value_type_, - " memo table is not implemented"); - } - - template - enable_if_memoize Visit(const T&) { - using MemoTable = typename DictionaryTraits::MemoTableType; - memo_table_->reset(new MemoTable(pool_, 0)); - return Status::OK(); - } - }; - - // Type-dependent visitor for memo table insertion - struct ArrayValuesInserter { - DictionaryMemoTableImpl* impl_; - const Array& values_; - - template - Status Visit(const T& type) { - using ArrayType = typename TypeTraits::ArrayType; - return InsertValues(type, checked_cast(values_)); - } - - private: - template - enable_if_no_memoize InsertValues(const DType& type, - const ArrayType&) { - return Status::NotImplemented("Inserting array values of ", type, - " is not implemented"); - } - - template - enable_if_memoize InsertValues(const DType&, const ArrayType& array) { - if (array.null_count() > 0) { - return Status::Invalid("Cannot insert dictionary values containing nulls"); - } - for (int64_t i = 0; i < array.length(); ++i) { - int32_t unused_memo_index; - RETURN_NOT_OK(impl_->GetOrInsert(array.GetView(i), &unused_memo_index)); - } - return Status::OK(); - } - }; - - // Type-dependent visitor for building ArrayData from memo table - struct ArrayDataGetter { - std::shared_ptr value_type_; - MemoTable* memo_table_; - MemoryPool* pool_; - int64_t start_offset_; - std::shared_ptr* out_; - - template - enable_if_no_memoize Visit(const T&) { - return Status::NotImplemented("Getting array data of ", value_type_, - " is not implemented"); - } - - template - enable_if_memoize Visit(const T&) { - using ConcreteMemoTable = typename DictionaryTraits::MemoTableType; - auto memo_table = checked_cast(memo_table_); - return DictionaryTraits::GetDictionaryArrayData(pool_, value_type_, *memo_table, - start_offset_, out_); - } - }; - - public: - DictionaryMemoTableImpl(MemoryPool* pool, const std::shared_ptr& type) - : pool_(pool), type_(type), memo_table_(nullptr) { - MemoTableInitializer visitor{type_, pool_, &memo_table_}; - ARROW_CHECK_OK(VisitTypeInline(*type_, &visitor)); - } - - Status InsertValues(const Array& array) { - if (!array.type()->Equals(*type_)) { - return Status::Invalid("Array value type does not match memo type: ", - array.type()->ToString()); - } - ArrayValuesInserter visitor{this, array}; - return VisitTypeInline(*array.type(), &visitor); - } - - template - Status GetOrInsert(const T& value, int32_t* out) { - using ConcreteMemoTable = typename DictionaryCTraits::MemoTableType; - return checked_cast(memo_table_.get())->GetOrInsert(value, out); - } - - Status GetArrayData(int64_t start_offset, std::shared_ptr* out) { - ArrayDataGetter visitor{type_, memo_table_.get(), pool_, start_offset, out}; - return VisitTypeInline(*type_, &visitor); - } - - int32_t size() const { return memo_table_->size(); } - - private: - MemoryPool* pool_; - std::shared_ptr type_; - std::unique_ptr memo_table_; -}; - -DictionaryMemoTable::DictionaryMemoTable(MemoryPool* pool, - const std::shared_ptr& type) - : impl_(new DictionaryMemoTableImpl(pool, type)) {} - -DictionaryMemoTable::DictionaryMemoTable(MemoryPool* pool, - const std::shared_ptr& dictionary) - : impl_(new DictionaryMemoTableImpl(pool, dictionary->type())) { - ARROW_CHECK_OK(impl_->InsertValues(*dictionary)); -} - -DictionaryMemoTable::~DictionaryMemoTable() = default; - -#define GET_OR_INSERT(C_TYPE) \ - Status DictionaryMemoTable::GetOrInsert(C_TYPE value, int32_t* out) { \ - return impl_->GetOrInsert(value, out); \ - } - -GET_OR_INSERT(bool) -GET_OR_INSERT(int8_t) -GET_OR_INSERT(int16_t) -GET_OR_INSERT(int32_t) -GET_OR_INSERT(int64_t) -GET_OR_INSERT(uint8_t) -GET_OR_INSERT(uint16_t) -GET_OR_INSERT(uint32_t) -GET_OR_INSERT(uint64_t) -GET_OR_INSERT(float) -GET_OR_INSERT(double) -GET_OR_INSERT(util::string_view) - -#undef GET_OR_INSERT - -Status DictionaryMemoTable::GetArrayData(int64_t start_offset, - std::shared_ptr* out) { - return impl_->GetArrayData(start_offset, out); -} - -Status DictionaryMemoTable::InsertValues(const Array& array) { - return impl_->InsertValues(array); -} - -int32_t DictionaryMemoTable::size() const { return impl_->size(); } - -} // namespace internal -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_dict.h b/lib/parquet/src/src/arrow/array/builder_dict.h deleted file mode 100644 index 9a0f268..0000000 --- a/lib/parquet/src/src/arrow/array/builder_dict.h +++ /dev/null @@ -1,459 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/array_binary.h" -#include "arrow/array/builder_adaptive.h" // IWYU pragma: export -#include "arrow/array/builder_base.h" // IWYU pragma: export -#include "arrow/array/builder_primitive.h" // IWYU pragma: export -#include "arrow/array/data.h" -#include "arrow/array/util.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_traits.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Dictionary builder - -namespace internal { - -template -struct DictionaryScalar { - using type = typename T::c_type; -}; - -template <> -struct DictionaryScalar { - using type = util::string_view; -}; - -template <> -struct DictionaryScalar { - using type = util::string_view; -}; - -template <> -struct DictionaryScalar { - using type = util::string_view; -}; - -class ARROW_EXPORT DictionaryMemoTable { - public: - DictionaryMemoTable(MemoryPool* pool, const std::shared_ptr& type); - DictionaryMemoTable(MemoryPool* pool, const std::shared_ptr& dictionary); - ~DictionaryMemoTable(); - - Status GetOrInsert(bool value, int32_t* out); - Status GetOrInsert(int8_t value, int32_t* out); - Status GetOrInsert(int16_t value, int32_t* out); - Status GetOrInsert(int32_t value, int32_t* out); - Status GetOrInsert(int64_t value, int32_t* out); - Status GetOrInsert(uint8_t value, int32_t* out); - Status GetOrInsert(uint16_t value, int32_t* out); - Status GetOrInsert(uint32_t value, int32_t* out); - Status GetOrInsert(uint64_t value, int32_t* out); - Status GetOrInsert(float value, int32_t* out); - Status GetOrInsert(double value, int32_t* out); - Status GetOrInsert(util::string_view value, int32_t* out); - - Status GetArrayData(int64_t start_offset, std::shared_ptr* out); - - /// \brief Insert new memo values - Status InsertValues(const Array& values); - - int32_t size() const; - - private: - class DictionaryMemoTableImpl; - std::unique_ptr impl_; -}; - -/// \brief Array builder for created encoded DictionaryArray from -/// dense array -/// -/// Unlike other builders, dictionary builder does not completely -/// reset the state on Finish calls. -template -class DictionaryBuilderBase : public ArrayBuilder { - public: - using Scalar = typename DictionaryScalar::type; - - // WARNING: the type given below is the value type, not the DictionaryType. - // The DictionaryType is instantiated on the Finish() call. - template - DictionaryBuilderBase(enable_if_t::value, - const std::shared_ptr&> - value_type, - MemoryPool* pool = default_memory_pool()) - : ArrayBuilder(pool), - memo_table_(new internal::DictionaryMemoTable(pool, value_type)), - delta_offset_(0), - byte_width_(-1), - indices_builder_(pool), - value_type_(value_type) {} - - template - explicit DictionaryBuilderBase( - enable_if_fixed_size_binary&> value_type, - MemoryPool* pool = default_memory_pool()) - : ArrayBuilder(pool), - memo_table_(new internal::DictionaryMemoTable(pool, value_type)), - delta_offset_(0), - byte_width_(static_cast(*value_type).byte_width()), - indices_builder_(pool), - value_type_(value_type) {} - - template - explicit DictionaryBuilderBase( - enable_if_parameter_free pool = default_memory_pool()) - : DictionaryBuilderBase(TypeTraits::type_singleton(), pool) {} - - // This constructor doesn't check for errors. Use InsertMemoValues instead. - DictionaryBuilderBase(const std::shared_ptr& dictionary, - MemoryPool* pool = default_memory_pool()) - : ArrayBuilder(pool), - memo_table_(new internal::DictionaryMemoTable(pool, dictionary)), - delta_offset_(0), - byte_width_(-1), - indices_builder_(pool), - value_type_(dictionary->type()) {} - - ~DictionaryBuilderBase() override = default; - - /// \brief The current number of entries in the dictionary - int64_t dictionary_length() const { return memo_table_->size(); } - - /// \brief Append a scalar value - Status Append(const Scalar& value) { - ARROW_RETURN_NOT_OK(Reserve(1)); - - int32_t memo_index; - ARROW_RETURN_NOT_OK(memo_table_->GetOrInsert(value, &memo_index)); - ARROW_RETURN_NOT_OK(indices_builder_.Append(memo_index)); - length_ += 1; - - return Status::OK(); - } - - /// \brief Append a fixed-width string (only for FixedSizeBinaryType) - template - enable_if_fixed_size_binary Append(const uint8_t* value) { - return Append(util::string_view(reinterpret_cast(value), byte_width_)); - } - - /// \brief Append a fixed-width string (only for FixedSizeBinaryType) - template - enable_if_fixed_size_binary Append(const char* value) { - return Append(util::string_view(value, byte_width_)); - } - - /// \brief Append a string (only for binary types) - template - enable_if_binary_like Append(const uint8_t* value, int32_t length) { - return Append(reinterpret_cast(value), length); - } - - /// \brief Append a string (only for binary types) - template - enable_if_binary_like Append(const char* value, int32_t length) { - return Append(util::string_view(value, length)); - } - - /// \brief Append a string (only for string types) - template - enable_if_string_like Append(const char* value, int32_t length) { - return Append(util::string_view(value, length)); - } - - /// \brief Append a scalar null value - Status AppendNull() final { - length_ += 1; - null_count_ += 1; - - return indices_builder_.AppendNull(); - } - - Status AppendNulls(int64_t length) final { - length_ += length; - null_count_ += length; - - return indices_builder_.AppendNulls(length); - } - - /// \brief Insert values into the dictionary's memo, but do not append any - /// indices. Can be used to initialize a new builder with known dictionary - /// values - /// \param[in] values dictionary values to add to memo. Type must match - /// builder type - Status InsertMemoValues(const Array& values) { - return memo_table_->InsertValues(values); - } - - /// \brief Append a whole dense array to the builder - template - enable_if_t::value, Status> AppendArray( - const Array& array) { - using ArrayType = typename TypeTraits::ArrayType; - - const auto& concrete_array = static_cast(array); - for (int64_t i = 0; i < array.length(); i++) { - if (array.IsNull(i)) { - ARROW_RETURN_NOT_OK(AppendNull()); - } else { - ARROW_RETURN_NOT_OK(Append(concrete_array.GetView(i))); - } - } - return Status::OK(); - } - - template - enable_if_fixed_size_binary AppendArray(const Array& array) { - if (!value_type_->Equals(*array.type())) { - return Status::Invalid( - "Cannot append FixedSizeBinary array with non-matching type"); - } - - const auto& concrete_array = static_cast(array); - for (int64_t i = 0; i < array.length(); i++) { - if (array.IsNull(i)) { - ARROW_RETURN_NOT_OK(AppendNull()); - } else { - ARROW_RETURN_NOT_OK(Append(concrete_array.GetValue(i))); - } - } - return Status::OK(); - } - - void Reset() override { - // Perform a partial reset. Call ResetFull to also reset the accumulated - // dictionary values - ArrayBuilder::Reset(); - indices_builder_.Reset(); - } - - /// \brief Reset and also clear accumulated dictionary values in memo table - void ResetFull() { - Reset(); - memo_table_.reset(new internal::DictionaryMemoTable(pool_, value_type_)); - } - - Status Resize(int64_t capacity) override { - ARROW_RETURN_NOT_OK(CheckCapacity(capacity)); - capacity = std::max(capacity, kMinBuilderCapacity); - ARROW_RETURN_NOT_OK(indices_builder_.Resize(capacity)); - capacity_ = indices_builder_.capacity(); - return Status::OK(); - } - - /// \brief Return dictionary indices and a delta dictionary since the last - /// time that Finish or FinishDelta were called, and reset state of builder - /// (except the memo table) - Status FinishDelta(std::shared_ptr* out_indices, - std::shared_ptr* out_delta) { - std::shared_ptr indices_data; - std::shared_ptr delta_data; - ARROW_RETURN_NOT_OK(FinishWithDictOffset(delta_offset_, &indices_data, &delta_data)); - *out_indices = MakeArray(indices_data); - *out_delta = MakeArray(delta_data); - return Status::OK(); - } - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - std::shared_ptr type() const override { - return ::arrow::dictionary(indices_builder_.type(), value_type_); - } - - protected: - Status FinishInternal(std::shared_ptr* out) override { - std::shared_ptr dictionary; - ARROW_RETURN_NOT_OK(FinishWithDictOffset(/*offset=*/0, out, &dictionary)); - - // Set type of array data to the right dictionary type - (*out)->type = type(); - (*out)->dictionary = dictionary; - return Status::OK(); - } - - Status FinishWithDictOffset(int64_t dict_offset, - std::shared_ptr* out_indices, - std::shared_ptr* out_dictionary) { - // Finalize indices array - ARROW_RETURN_NOT_OK(indices_builder_.FinishInternal(out_indices)); - - // Generate dictionary array from hash table contents - ARROW_RETURN_NOT_OK(memo_table_->GetArrayData(dict_offset, out_dictionary)); - delta_offset_ = memo_table_->size(); - - // Update internals for further uses of this DictionaryBuilder - ArrayBuilder::Reset(); - return Status::OK(); - } - - std::unique_ptr memo_table_; - - // The size of the dictionary memo at last invocation of Finish, to use in - // FinishDelta for computing dictionary deltas - int32_t delta_offset_; - - // Only used for FixedSizeBinaryType - int32_t byte_width_; - - BuilderType indices_builder_; - std::shared_ptr value_type_; -}; - -template -class DictionaryBuilderBase : public ArrayBuilder { - public: - DictionaryBuilderBase(const std::shared_ptr& value_type, - MemoryPool* pool = default_memory_pool()) - : ArrayBuilder(pool), indices_builder_(pool) {} - - explicit DictionaryBuilderBase(MemoryPool* pool = default_memory_pool()) - : ArrayBuilder(pool), indices_builder_(pool) {} - - DictionaryBuilderBase(const std::shared_ptr& dictionary, - MemoryPool* pool = default_memory_pool()) - : ArrayBuilder(pool), indices_builder_(pool) {} - - /// \brief Append a scalar null value - Status AppendNull() final { - length_ += 1; - null_count_ += 1; - - return indices_builder_.AppendNull(); - } - - Status AppendNulls(int64_t length) final { - length_ += length; - null_count_ += length; - - return indices_builder_.AppendNulls(length); - } - - /// \brief Append a whole dense array to the builder - Status AppendArray(const Array& array) { - for (int64_t i = 0; i < array.length(); i++) { - ARROW_RETURN_NOT_OK(AppendNull()); - } - return Status::OK(); - } - - Status Resize(int64_t capacity) override { - ARROW_RETURN_NOT_OK(CheckCapacity(capacity)); - capacity = std::max(capacity, kMinBuilderCapacity); - - ARROW_RETURN_NOT_OK(indices_builder_.Resize(capacity)); - capacity_ = indices_builder_.capacity(); - return Status::OK(); - } - - Status FinishInternal(std::shared_ptr* out) override { - ARROW_RETURN_NOT_OK(indices_builder_.FinishInternal(out)); - (*out)->type = dictionary((*out)->type, null()); - (*out)->dictionary = NullArray(0).data(); - return Status::OK(); - } - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - std::shared_ptr type() const override { - return ::arrow::dictionary(indices_builder_.type(), null()); - } - - protected: - BuilderType indices_builder_; -}; - -} // namespace internal - -/// \brief A DictionaryArray builder that uses AdaptiveIntBuilder to return the -/// smallest index size that can accommodate the dictionary indices -template -class DictionaryBuilder : public internal::DictionaryBuilderBase { - public: - using BASE = internal::DictionaryBuilderBase; - using BASE::BASE; - - /// \brief Append dictionary indices directly without modifying memo - /// - /// NOTE: Experimental API - Status AppendIndices(const int64_t* values, int64_t length, - const uint8_t* valid_bytes = NULLPTR) { - int64_t null_count_before = this->indices_builder_.null_count(); - ARROW_RETURN_NOT_OK(this->indices_builder_.AppendValues(values, length, valid_bytes)); - this->capacity_ = this->indices_builder_.capacity(); - this->length_ += length; - this->null_count_ += this->indices_builder_.null_count() - null_count_before; - return Status::OK(); - } -}; - -/// \brief A DictionaryArray builder that always returns int32 dictionary -/// indices so that data cast to dictionary form will have a consistent index -/// type, e.g. for creating a ChunkedArray -template -class Dictionary32Builder : public internal::DictionaryBuilderBase { - public: - using BASE = internal::DictionaryBuilderBase; - using BASE::BASE; - - /// \brief Append dictionary indices directly without modifying memo - /// - /// NOTE: Experimental API - Status AppendIndices(const int32_t* values, int64_t length, - const uint8_t* valid_bytes = NULLPTR) { - int64_t null_count_before = this->indices_builder_.null_count(); - ARROW_RETURN_NOT_OK(this->indices_builder_.AppendValues(values, length, valid_bytes)); - this->capacity_ = this->indices_builder_.capacity(); - this->length_ += length; - this->null_count_ += this->indices_builder_.null_count() - null_count_before; - return Status::OK(); - } -}; - -// ---------------------------------------------------------------------- -// Binary / Unicode builders -// (compatibility aliases; those used to be derived classes with additional -// Append() overloads, but they have been folded into DictionaryBuilderBase) - -using BinaryDictionaryBuilder = DictionaryBuilder; -using StringDictionaryBuilder = DictionaryBuilder; -using BinaryDictionary32Builder = Dictionary32Builder; -using StringDictionary32Builder = Dictionary32Builder; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_nested.cc b/lib/parquet/src/src/arrow/array/builder_nested.cc deleted file mode 100644 index b8af62f..0000000 --- a/lib/parquet/src/src/arrow/array/builder_nested.cc +++ /dev/null @@ -1,248 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_nested.h" - -#include -#include -#include -#include - -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/logging.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// MapBuilder - -MapBuilder::MapBuilder(MemoryPool* pool, const std::shared_ptr& key_builder, - std::shared_ptr const& item_builder, - const std::shared_ptr& type) - : ArrayBuilder(pool), key_builder_(key_builder), item_builder_(item_builder) { - auto map_type = internal::checked_cast(type.get()); - keys_sorted_ = map_type->keys_sorted(); - - std::vector> child_builders{key_builder, item_builder}; - auto struct_builder = - std::make_shared(map_type->value_type(), pool, child_builders); - - list_builder_ = - std::make_shared(pool, struct_builder, struct_builder->type()); -} - -MapBuilder::MapBuilder(MemoryPool* pool, const std::shared_ptr& key_builder, - const std::shared_ptr& item_builder, - bool keys_sorted) - : MapBuilder(pool, key_builder, item_builder, - map(key_builder->type(), item_builder->type(), keys_sorted)) {} - -Status MapBuilder::Resize(int64_t capacity) { - RETURN_NOT_OK(list_builder_->Resize(capacity)); - capacity_ = list_builder_->capacity(); - return Status::OK(); -} - -void MapBuilder::Reset() { - list_builder_->Reset(); - ArrayBuilder::Reset(); -} - -Status MapBuilder::FinishInternal(std::shared_ptr* out) { - ARROW_CHECK_EQ(item_builder_->length(), key_builder_->length()) - << "keys and items builders don't have the same size in MapBuilder"; - RETURN_NOT_OK(AdjustStructBuilderLength()); - RETURN_NOT_OK(list_builder_->FinishInternal(out)); - (*out)->type = type(); - ArrayBuilder::Reset(); - return Status::OK(); -} - -Status MapBuilder::AppendValues(const int32_t* offsets, int64_t length, - const uint8_t* valid_bytes) { - DCHECK_EQ(item_builder_->length(), key_builder_->length()); - RETURN_NOT_OK(AdjustStructBuilderLength()); - RETURN_NOT_OK(list_builder_->AppendValues(offsets, length, valid_bytes)); - length_ = list_builder_->length(); - null_count_ = list_builder_->null_count(); - return Status::OK(); -} - -Status MapBuilder::Append() { - DCHECK_EQ(item_builder_->length(), key_builder_->length()); - RETURN_NOT_OK(AdjustStructBuilderLength()); - RETURN_NOT_OK(list_builder_->Append()); - length_ = list_builder_->length(); - return Status::OK(); -} - -Status MapBuilder::AppendNull() { - DCHECK_EQ(item_builder_->length(), key_builder_->length()); - RETURN_NOT_OK(AdjustStructBuilderLength()); - RETURN_NOT_OK(list_builder_->AppendNull()); - length_ = list_builder_->length(); - null_count_ = list_builder_->null_count(); - return Status::OK(); -} - -Status MapBuilder::AppendNulls(int64_t length) { - DCHECK_EQ(item_builder_->length(), key_builder_->length()); - RETURN_NOT_OK(AdjustStructBuilderLength()); - RETURN_NOT_OK(list_builder_->AppendNulls(length)); - length_ = list_builder_->length(); - null_count_ = list_builder_->null_count(); - return Status::OK(); -} - -Status MapBuilder::AdjustStructBuilderLength() { - // If key/item builders have been appended, adjust struct builder length - // to match. Struct and key are non-nullable, append all valid values. - auto struct_builder = - internal::checked_cast(list_builder_->value_builder()); - if (struct_builder->length() < key_builder_->length()) { - int64_t length_diff = key_builder_->length() - struct_builder->length(); - RETURN_NOT_OK(struct_builder->AppendValues(length_diff, NULLPTR)); - } - return Status::OK(); -} - -// ---------------------------------------------------------------------- -// FixedSizeListBuilder - -FixedSizeListBuilder::FixedSizeListBuilder( - MemoryPool* pool, const std::shared_ptr& value_builder, - const std::shared_ptr& type) - : ArrayBuilder(pool), - value_field_(type->field(0)), - list_size_( - internal::checked_cast(type.get())->list_size()), - value_builder_(value_builder) {} - -FixedSizeListBuilder::FixedSizeListBuilder( - MemoryPool* pool, const std::shared_ptr& value_builder, - int32_t list_size) - : FixedSizeListBuilder(pool, value_builder, - fixed_size_list(value_builder->type(), list_size)) {} - -void FixedSizeListBuilder::Reset() { - ArrayBuilder::Reset(); - value_builder_->Reset(); -} - -Status FixedSizeListBuilder::Append() { - RETURN_NOT_OK(Reserve(1)); - UnsafeAppendToBitmap(true); - return Status::OK(); -} - -Status FixedSizeListBuilder::AppendValues(int64_t length, const uint8_t* valid_bytes) { - RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(valid_bytes, length); - return Status::OK(); -} - -Status FixedSizeListBuilder::AppendNull() { - RETURN_NOT_OK(Reserve(1)); - UnsafeAppendToBitmap(false); - return value_builder_->AppendNulls(list_size_); -} - -Status FixedSizeListBuilder::AppendNulls(int64_t length) { - RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(length, false); - return value_builder_->AppendNulls(list_size_ * length); -} - -Status FixedSizeListBuilder::Resize(int64_t capacity) { - RETURN_NOT_OK(CheckCapacity(capacity)); - return ArrayBuilder::Resize(capacity); -} - -Status FixedSizeListBuilder::FinishInternal(std::shared_ptr* out) { - std::shared_ptr items; - - if (value_builder_->length() == 0) { - // Try to make sure we get a non-null values buffer (ARROW-2744) - RETURN_NOT_OK(value_builder_->Resize(0)); - } - RETURN_NOT_OK(value_builder_->FinishInternal(&items)); - - std::shared_ptr null_bitmap; - RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - *out = ArrayData::Make(type(), length_, {null_bitmap}, {std::move(items)}, null_count_); - Reset(); - return Status::OK(); -} - -// ---------------------------------------------------------------------- -// Struct - -StructBuilder::StructBuilder(const std::shared_ptr& type, MemoryPool* pool, - std::vector> field_builders) - : ArrayBuilder(pool), type_(type) { - children_ = std::move(field_builders); -} - -void StructBuilder::Reset() { - ArrayBuilder::Reset(); - for (const auto& field_builder : children_) { - field_builder->Reset(); - } -} - -Status StructBuilder::AppendNulls(int64_t length) { - for (const auto& field : children_) { - RETURN_NOT_OK(field->AppendNulls(length)); - } - ARROW_RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(length, false); - return Status::OK(); -} - -Status StructBuilder::FinishInternal(std::shared_ptr* out) { - std::shared_ptr null_bitmap; - RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - - std::vector> child_data(children_.size()); - for (size_t i = 0; i < children_.size(); ++i) { - if (length_ == 0) { - // Try to make sure the child buffers are initialized - RETURN_NOT_OK(children_[i]->Resize(0)); - } - RETURN_NOT_OK(children_[i]->FinishInternal(&child_data[i])); - } - - *out = ArrayData::Make(type(), length_, {null_bitmap}, null_count_); - (*out)->child_data = std::move(child_data); - - capacity_ = length_ = null_count_ = 0; - return Status::OK(); -} - -std::shared_ptr StructBuilder::type() const { - DCHECK_EQ(type_->fields().size(), children_.size()); - std::vector> fields(children_.size()); - for (int i = 0; i < static_cast(fields.size()); ++i) { - fields[i] = type_->field(i)->WithType(children_[i]->type()); - } - return struct_(std::move(fields)); -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_nested.h b/lib/parquet/src/src/arrow/array/builder_nested.h deleted file mode 100644 index cd6fadf..0000000 --- a/lib/parquet/src/src/arrow/array/builder_nested.h +++ /dev/null @@ -1,423 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include - -#include "arrow/array/array_nested.h" -#include "arrow/array/builder_base.h" -#include "arrow/array/data.h" -#include "arrow/buffer.h" -#include "arrow/buffer_builder.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// List builder - -template -class BaseListBuilder : public ArrayBuilder { - public: - using TypeClass = TYPE; - using offset_type = typename TypeClass::offset_type; - - /// Use this constructor to incrementally build the value array along with offsets and - /// null bitmap. - BaseListBuilder(MemoryPool* pool, std::shared_ptr const& value_builder, - const std::shared_ptr& type) - : ArrayBuilder(pool), - offsets_builder_(pool), - value_builder_(value_builder), - value_field_(type->field(0)->WithType(NULLPTR)) {} - - BaseListBuilder(MemoryPool* pool, std::shared_ptr const& value_builder) - : BaseListBuilder(pool, value_builder, list(value_builder->type())) {} - - Status Resize(int64_t capacity) override { - if (capacity > maximum_elements()) { - return Status::CapacityError("List array cannot reserve space for more than ", - maximum_elements(), " got ", capacity); - } - ARROW_RETURN_NOT_OK(CheckCapacity(capacity)); - - // One more than requested for offsets - ARROW_RETURN_NOT_OK(offsets_builder_.Resize(capacity + 1)); - return ArrayBuilder::Resize(capacity); - } - - void Reset() override { - ArrayBuilder::Reset(); - offsets_builder_.Reset(); - value_builder_->Reset(); - } - - /// \brief Vector append - /// - /// If passed, valid_bytes is of equal length to values, and any zero byte - /// will be considered as a null for that slot - Status AppendValues(const offset_type* offsets, int64_t length, - const uint8_t* valid_bytes = NULLPTR) { - ARROW_RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(valid_bytes, length); - offsets_builder_.UnsafeAppend(offsets, length); - return Status::OK(); - } - - /// \brief Start a new variable-length list slot - /// - /// This function should be called before beginning to append elements to the - /// value builder - Status Append(bool is_valid = true) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppendToBitmap(is_valid); - return AppendNextOffset(); - } - - Status AppendNull() final { return Append(false); } - - Status AppendNulls(int64_t length) final { - ARROW_RETURN_NOT_OK(Reserve(length)); - ARROW_RETURN_NOT_OK(CheckNextOffset()); - UnsafeAppendToBitmap(length, false); - const int64_t num_values = value_builder_->length(); - for (int64_t i = 0; i < length; ++i) { - offsets_builder_.UnsafeAppend(static_cast(num_values)); - } - return Status::OK(); - } - - Status FinishInternal(std::shared_ptr* out) override { - ARROW_RETURN_NOT_OK(AppendNextOffset()); - - // Offset padding zeroed by BufferBuilder - std::shared_ptr offsets, null_bitmap; - ARROW_RETURN_NOT_OK(offsets_builder_.Finish(&offsets)); - ARROW_RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - - if (value_builder_->length() == 0) { - // Try to make sure we get a non-null values buffer (ARROW-2744) - ARROW_RETURN_NOT_OK(value_builder_->Resize(0)); - } - - std::shared_ptr items; - ARROW_RETURN_NOT_OK(value_builder_->FinishInternal(&items)); - - *out = ArrayData::Make(type(), length_, {null_bitmap, offsets}, {std::move(items)}, - null_count_); - Reset(); - return Status::OK(); - } - - ArrayBuilder* value_builder() const { return value_builder_.get(); } - - // Cannot make this a static attribute because of linking issues - static constexpr int64_t maximum_elements() { - return std::numeric_limits::max() - 1; - } - - std::shared_ptr type() const override { - return std::make_shared(value_field_->WithType(value_builder_->type())); - } - - protected: - TypedBufferBuilder offsets_builder_; - std::shared_ptr value_builder_; - std::shared_ptr value_field_; - - Status CheckNextOffset() const { - const int64_t num_values = value_builder_->length(); - ARROW_RETURN_IF( - num_values > maximum_elements(), - Status::CapacityError("List array cannot contain more than ", maximum_elements(), - " child elements,", " have ", num_values)); - return Status::OK(); - } - - Status AppendNextOffset() { - ARROW_RETURN_NOT_OK(CheckNextOffset()); - const int64_t num_values = value_builder_->length(); - return offsets_builder_.Append(static_cast(num_values)); - } -}; - -/// \class ListBuilder -/// \brief Builder class for variable-length list array value types -/// -/// To use this class, you must append values to the child array builder and use -/// the Append function to delimit each distinct list value (once the values -/// have been appended to the child array) or use the bulk API to append -/// a sequence of offsets and null values. -/// -/// A note on types. Per arrow/type.h all types in the c++ implementation are -/// logical so even though this class always builds list array, this can -/// represent multiple different logical types. If no logical type is provided -/// at construction time, the class defaults to List where t is taken from the -/// value_builder/values that the object is constructed with. -class ARROW_EXPORT ListBuilder : public BaseListBuilder { - public: - using BaseListBuilder::BaseListBuilder; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } -}; - -/// \class LargeListBuilder -/// \brief Builder class for large variable-length list array value types -/// -/// Like ListBuilder, but to create large list arrays (with 64-bit offsets). -class ARROW_EXPORT LargeListBuilder : public BaseListBuilder { - public: - using BaseListBuilder::BaseListBuilder; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } -}; - -// ---------------------------------------------------------------------- -// Map builder - -/// \class MapBuilder -/// \brief Builder class for arrays of variable-size maps -/// -/// To use this class, you must append values to the key and item array builders -/// and use the Append function to delimit each distinct map (once the keys and items -/// have been appended) or use the bulk API to append a sequence of offsets and null -/// maps. -/// -/// Key uniqueness and ordering are not validated. -class ARROW_EXPORT MapBuilder : public ArrayBuilder { - public: - /// Use this constructor to define the built array's type explicitly. If key_builder - /// or item_builder has indeterminate type, this builder will also. - MapBuilder(MemoryPool* pool, const std::shared_ptr& key_builder, - const std::shared_ptr& item_builder, - const std::shared_ptr& type); - - /// Use this constructor to infer the built array's type. If key_builder or - /// item_builder has indeterminate type, this builder will also. - MapBuilder(MemoryPool* pool, const std::shared_ptr& key_builder, - const std::shared_ptr& item_builder, bool keys_sorted = false); - - Status Resize(int64_t capacity) override; - void Reset() override; - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - /// \brief Vector append - /// - /// If passed, valid_bytes is of equal length to values, and any zero byte - /// will be considered as a null for that slot - Status AppendValues(const int32_t* offsets, int64_t length, - const uint8_t* valid_bytes = NULLPTR); - - /// \brief Start a new variable-length map slot - /// - /// This function should be called before beginning to append elements to the - /// key and item builders - Status Append(); - - Status AppendNull() final; - - Status AppendNulls(int64_t length) final; - - /// \brief Get builder to append keys. - /// - /// Append a key with this builder should be followed by appending - /// an item or null value with item_builder(). - ArrayBuilder* key_builder() const { return key_builder_.get(); } - - /// \brief Get builder to append items - /// - /// Appending an item with this builder should have been preceded - /// by appending a key with key_builder(). - ArrayBuilder* item_builder() const { return item_builder_.get(); } - - /// \brief Get builder to add Map entries as struct values. - /// - /// This is used instead of key_builder()/item_builder() and allows - /// the Map to be built as a list of struct values. - ArrayBuilder* value_builder() const { return list_builder_->value_builder(); } - - std::shared_ptr type() const override { - return map(key_builder_->type(), item_builder_->type(), keys_sorted_); - } - - protected: - inline Status AdjustStructBuilderLength(); - - protected: - bool keys_sorted_ = false; - std::shared_ptr list_builder_; - std::shared_ptr key_builder_; - std::shared_ptr item_builder_; -}; - -// ---------------------------------------------------------------------- -// FixedSizeList builder - -/// \class FixedSizeListBuilder -/// \brief Builder class for fixed-length list array value types -class ARROW_EXPORT FixedSizeListBuilder : public ArrayBuilder { - public: - /// Use this constructor to define the built array's type explicitly. If value_builder - /// has indeterminate type, this builder will also. - FixedSizeListBuilder(MemoryPool* pool, - std::shared_ptr const& value_builder, - int32_t list_size); - - /// Use this constructor to infer the built array's type. If value_builder has - /// indeterminate type, this builder will also. - FixedSizeListBuilder(MemoryPool* pool, - std::shared_ptr const& value_builder, - const std::shared_ptr& type); - - Status Resize(int64_t capacity) override; - void Reset() override; - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - /// \brief Append a valid fixed length list. - /// - /// This function affects only the validity bitmap; the child values must be appended - /// using the child array builder. - Status Append(); - - /// \brief Vector append - /// - /// If passed, valid_bytes wil be read and any zero byte - /// will cause the corresponding slot to be null - /// - /// This function affects only the validity bitmap; the child values must be appended - /// using the child array builder. This includes appending nulls for null lists. - /// XXX this restriction is confusing, should this method be omitted? - Status AppendValues(int64_t length, const uint8_t* valid_bytes = NULLPTR); - - /// \brief Append a null fixed length list. - /// - /// The child array builder will have the appropriate number of nulls appended - /// automatically. - Status AppendNull() final; - - /// \brief Append length null fixed length lists. - /// - /// The child array builder will have the appropriate number of nulls appended - /// automatically. - Status AppendNulls(int64_t length) final; - - ArrayBuilder* value_builder() const { return value_builder_.get(); } - - std::shared_ptr type() const override { - return fixed_size_list(value_field_->WithType(value_builder_->type()), list_size_); - } - - protected: - std::shared_ptr value_field_; - const int32_t list_size_; - std::shared_ptr value_builder_; -}; - -// ---------------------------------------------------------------------- -// Struct - -// --------------------------------------------------------------------------------- -// StructArray builder -/// Append, Resize and Reserve methods are acting on StructBuilder. -/// Please make sure all these methods of all child-builders' are consistently -/// called to maintain data-structure consistency. -class ARROW_EXPORT StructBuilder : public ArrayBuilder { - public: - /// If any of field_builders has indeterminate type, this builder will also - StructBuilder(const std::shared_ptr& type, MemoryPool* pool, - std::vector> field_builders); - - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - /// Null bitmap is of equal length to every child field, and any zero byte - /// will be considered as a null for that field, but users must using app- - /// end methods or advance methods of the child builders' independently to - /// insert data. - Status AppendValues(int64_t length, const uint8_t* valid_bytes) { - ARROW_RETURN_NOT_OK(Reserve(length)); - UnsafeAppendToBitmap(valid_bytes, length); - return Status::OK(); - } - - /// Append an element to the Struct. All child-builders' Append method must - /// be called independently to maintain data-structure consistency. - Status Append(bool is_valid = true) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppendToBitmap(is_valid); - return Status::OK(); - } - - /// \brief Append a null value. Automatically appends a null to each child - /// builder. - Status AppendNull() final { - for (const auto& field : children_) { - ARROW_RETURN_NOT_OK(field->AppendNull()); - } - return Append(false); - } - - /// \brief Append multiple null values. Automatically appends nulls to each - /// child builder. - Status AppendNulls(int64_t length) final; - - void Reset() override; - - ArrayBuilder* field_builder(int i) const { return children_[i].get(); } - - int num_fields() const { return static_cast(children_.size()); } - - std::shared_ptr type() const override; - - private: - std::shared_ptr type_; -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_primitive.cc b/lib/parquet/src/src/arrow/array/builder_primitive.cc deleted file mode 100644 index 037a1ec..0000000 --- a/lib/parquet/src/src/arrow/array/builder_primitive.cc +++ /dev/null @@ -1,138 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_primitive.h" - -#include -#include -#include -#include -#include -#include - -#include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_traits.h" -#include "arrow/util/bit_util.h" -#include "arrow/util/int_util.h" -#include "arrow/util/logging.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Null builder - -Status NullBuilder::FinishInternal(std::shared_ptr* out) { - *out = ArrayData::Make(null(), length_, {nullptr}, length_); - length_ = null_count_ = 0; - return Status::OK(); -} - -BooleanBuilder::BooleanBuilder(MemoryPool* pool) - : ArrayBuilder(pool), data_builder_(pool) {} - -BooleanBuilder::BooleanBuilder(const std::shared_ptr& type, MemoryPool* pool) - : BooleanBuilder(pool) { - ARROW_CHECK_EQ(Type::BOOL, type->id()); -} - -void BooleanBuilder::Reset() { - ArrayBuilder::Reset(); - data_builder_.Reset(); -} - -Status BooleanBuilder::Resize(int64_t capacity) { - RETURN_NOT_OK(CheckCapacity(capacity)); - capacity = std::max(capacity, kMinBuilderCapacity); - RETURN_NOT_OK(data_builder_.Resize(capacity)); - return ArrayBuilder::Resize(capacity); -} - -Status BooleanBuilder::FinishInternal(std::shared_ptr* out) { - std::shared_ptr null_bitmap, data; - RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - RETURN_NOT_OK(data_builder_.Finish(&data)); - - *out = ArrayData::Make(boolean(), length_, {null_bitmap, data}, null_count_); - - capacity_ = length_ = null_count_ = 0; - return Status::OK(); -} - -Status BooleanBuilder::AppendValues(const uint8_t* values, int64_t length, - const uint8_t* valid_bytes) { - RETURN_NOT_OK(Reserve(length)); - - int64_t i = 0; - data_builder_.UnsafeAppend(length, - [values, &i]() -> bool { return values[i++] != 0; }); - ArrayBuilder::UnsafeAppendToBitmap(valid_bytes, length); - return Status::OK(); -} - -Status BooleanBuilder::AppendValues(const uint8_t* values, int64_t length, - const std::vector& is_valid) { - RETURN_NOT_OK(Reserve(length)); - DCHECK_EQ(length, static_cast(is_valid.size())); - int64_t i = 0; - data_builder_.UnsafeAppend(length, - [values, &i]() -> bool { return values[i++]; }); - ArrayBuilder::UnsafeAppendToBitmap(is_valid); - return Status::OK(); -} - -Status BooleanBuilder::AppendValues(const std::vector& values, - const std::vector& is_valid) { - return AppendValues(values.data(), static_cast(values.size()), is_valid); -} - -Status BooleanBuilder::AppendValues(const std::vector& values) { - return AppendValues(values.data(), static_cast(values.size())); -} - -Status BooleanBuilder::AppendValues(const std::vector& values, - const std::vector& is_valid) { - const int64_t length = static_cast(values.size()); - RETURN_NOT_OK(Reserve(length)); - DCHECK_EQ(length, static_cast(is_valid.size())); - int64_t i = 0; - data_builder_.UnsafeAppend(length, - [&values, &i]() -> bool { return values[i++]; }); - ArrayBuilder::UnsafeAppendToBitmap(is_valid); - return Status::OK(); -} - -Status BooleanBuilder::AppendValues(const std::vector& values) { - const int64_t length = static_cast(values.size()); - RETURN_NOT_OK(Reserve(length)); - int64_t i = 0; - data_builder_.UnsafeAppend(length, - [&values, &i]() -> bool { return values[i++]; }); - ArrayBuilder::UnsafeSetNotNull(length); - return Status::OK(); -} - -Status BooleanBuilder::AppendValues(int64_t length, bool value) { - RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(length, value); - ArrayBuilder::UnsafeSetNotNull(length); - return Status::OK(); -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_primitive.h b/lib/parquet/src/src/arrow/array/builder_primitive.h deleted file mode 100644 index e6b1baa..0000000 --- a/lib/parquet/src/src/arrow/array/builder_primitive.h +++ /dev/null @@ -1,441 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include - -#include "arrow/array/builder_base.h" -#include "arrow/array/data.h" -#include "arrow/type.h" -#include "arrow/type_traits.h" - -namespace arrow { - -class ARROW_EXPORT NullBuilder : public ArrayBuilder { - public: - explicit NullBuilder(MemoryPool* pool = default_memory_pool()) : ArrayBuilder(pool) {} - - /// \brief Append the specified number of null elements - Status AppendNulls(int64_t length) final { - if (length < 0) return Status::Invalid("length must be positive"); - null_count_ += length; - length_ += length; - return Status::OK(); - } - - /// \brief Append a single null element - Status AppendNull() final { return AppendNulls(1); } - - Status Append(std::nullptr_t) { return AppendNull(); } - - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - std::shared_ptr type() const override { return null(); } - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } -}; - -/// Base class for all Builders that emit an Array of a scalar numerical type. -template -class NumericBuilder : public ArrayBuilder { - public: - using TypeClass = T; - using value_type = typename T::c_type; - using ArrayType = typename TypeTraits::ArrayType; - - template - explicit NumericBuilder( - enable_if_parameter_free pool = default_memory_pool()) - : ArrayBuilder(pool), type_(TypeTraits::type_singleton()), data_builder_(pool) {} - - NumericBuilder(const std::shared_ptr& type, MemoryPool* pool) - : ArrayBuilder(pool), type_(type), data_builder_(pool) {} - - /// Append a single scalar and increase the size if necessary. - Status Append(const value_type val) { - ARROW_RETURN_NOT_OK(ArrayBuilder::Reserve(1)); - UnsafeAppend(val); - return Status::OK(); - } - - /// Write nulls as uint8_t* (0 value indicates null) into pre-allocated memory - /// The memory at the corresponding data slot is set to 0 to prevent - /// uninitialized memory access - Status AppendNulls(int64_t length) final { - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(length, value_type{}); // zero - UnsafeSetNull(length); - return Status::OK(); - } - - /// \brief Append a single null element - Status AppendNull() final { - ARROW_RETURN_NOT_OK(Reserve(1)); - data_builder_.UnsafeAppend(value_type{}); // zero - UnsafeAppendToBitmap(false); - return Status::OK(); - } - - value_type GetValue(int64_t index) const { return data_builder_.data()[index]; } - - void Reset() override { data_builder_.Reset(); } - - Status Resize(int64_t capacity) override { - ARROW_RETURN_NOT_OK(CheckCapacity(capacity)); - capacity = std::max(capacity, kMinBuilderCapacity); - ARROW_RETURN_NOT_OK(data_builder_.Resize(capacity)); - return ArrayBuilder::Resize(capacity); - } - - value_type operator[](int64_t index) const { return GetValue(index); } - - value_type& operator[](int64_t index) { - return reinterpret_cast(data_builder_.mutable_data())[index]; - } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a contiguous C array of values - /// \param[in] length the number of values to append - /// \param[in] valid_bytes an optional sequence of bytes where non-zero - /// indicates a valid (non-null) value - /// \return Status - Status AppendValues(const value_type* values, int64_t length, - const uint8_t* valid_bytes = NULLPTR) { - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(values, length); - // length_ is update by these - ArrayBuilder::UnsafeAppendToBitmap(valid_bytes, length); - return Status::OK(); - } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a contiguous C array of values - /// \param[in] length the number of values to append - /// \param[in] is_valid an std::vector indicating valid (1) or null - /// (0). Equal in length to values - /// \return Status - Status AppendValues(const value_type* values, int64_t length, - const std::vector& is_valid) { - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(values, length); - // length_ is update by these - ArrayBuilder::UnsafeAppendToBitmap(is_valid); - return Status::OK(); - } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a std::vector of values - /// \param[in] is_valid an std::vector indicating valid (1) or null - /// (0). Equal in length to values - /// \return Status - Status AppendValues(const std::vector& values, - const std::vector& is_valid) { - return AppendValues(values.data(), static_cast(values.size()), is_valid); - } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a std::vector of values - /// \return Status - Status AppendValues(const std::vector& values) { - return AppendValues(values.data(), static_cast(values.size())); - } - - Status FinishInternal(std::shared_ptr* out) override { - std::shared_ptr data, null_bitmap; - ARROW_RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); - ARROW_RETURN_NOT_OK(data_builder_.Finish(&data)); - *out = ArrayData::Make(type(), length_, {null_bitmap, data}, null_count_); - capacity_ = length_ = null_count_ = 0; - return Status::OK(); - } - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values_begin InputIterator to the beginning of the values - /// \param[in] values_end InputIterator pointing to the end of the values - /// \return Status - template - Status AppendValues(ValuesIter values_begin, ValuesIter values_end) { - int64_t length = static_cast(std::distance(values_begin, values_end)); - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(values_begin, values_end); - // this updates the length_ - UnsafeSetNotNull(length); - return Status::OK(); - } - - /// \brief Append a sequence of elements in one shot, with a specified nullmap - /// \param[in] values_begin InputIterator to the beginning of the values - /// \param[in] values_end InputIterator pointing to the end of the values - /// \param[in] valid_begin InputIterator with elements indication valid(1) - /// or null(0) values. - /// \return Status - template - enable_if_t::value, Status> AppendValues( - ValuesIter values_begin, ValuesIter values_end, ValidIter valid_begin) { - static_assert(!internal::is_null_pointer::value, - "Don't pass a NULLPTR directly as valid_begin, use the 2-argument " - "version instead"); - int64_t length = static_cast(std::distance(values_begin, values_end)); - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(values_begin, values_end); - null_bitmap_builder_.UnsafeAppend( - length, [&valid_begin]() -> bool { return *valid_begin++; }); - length_ = null_bitmap_builder_.length(); - null_count_ = null_bitmap_builder_.false_count(); - return Status::OK(); - } - - // Same as above, with a pointer type ValidIter - template - enable_if_t::value, Status> AppendValues( - ValuesIter values_begin, ValuesIter values_end, ValidIter valid_begin) { - int64_t length = static_cast(std::distance(values_begin, values_end)); - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(values_begin, values_end); - // this updates the length_ - if (valid_begin == NULLPTR) { - UnsafeSetNotNull(length); - } else { - null_bitmap_builder_.UnsafeAppend( - length, [&valid_begin]() -> bool { return *valid_begin++; }); - length_ = null_bitmap_builder_.length(); - null_count_ = null_bitmap_builder_.false_count(); - } - - return Status::OK(); - } - - /// Append a single scalar under the assumption that the underlying Buffer is - /// large enough. - /// - /// This method does not capacity-check; make sure to call Reserve - /// beforehand. - void UnsafeAppend(const value_type val) { - ArrayBuilder::UnsafeAppendToBitmap(true); - data_builder_.UnsafeAppend(val); - } - - void UnsafeAppendNull() { - ArrayBuilder::UnsafeAppendToBitmap(false); - data_builder_.UnsafeAppend(value_type{}); // zero - } - - std::shared_ptr type() const override { return type_; } - - protected: - std::shared_ptr type_; - TypedBufferBuilder data_builder_; -}; - -// Builders - -using UInt8Builder = NumericBuilder; -using UInt16Builder = NumericBuilder; -using UInt32Builder = NumericBuilder; -using UInt64Builder = NumericBuilder; - -using Int8Builder = NumericBuilder; -using Int16Builder = NumericBuilder; -using Int32Builder = NumericBuilder; -using Int64Builder = NumericBuilder; - -using HalfFloatBuilder = NumericBuilder; -using FloatBuilder = NumericBuilder; -using DoubleBuilder = NumericBuilder; - -class ARROW_EXPORT BooleanBuilder : public ArrayBuilder { - public: - using TypeClass = BooleanType; - using value_type = bool; - - explicit BooleanBuilder(MemoryPool* pool = default_memory_pool()); - - BooleanBuilder(const std::shared_ptr& type, - MemoryPool* pool = default_memory_pool()); - - /// Write nulls as uint8_t* (0 value indicates null) into pre-allocated memory - Status AppendNulls(int64_t length) final { - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend(length, false); - UnsafeSetNull(length); - return Status::OK(); - } - - Status AppendNull() final { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppendNull(); - return Status::OK(); - } - - /// Scalar append - Status Append(const bool val) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppend(val); - return Status::OK(); - } - - Status Append(const uint8_t val) { return Append(val != 0); } - - /// Scalar append, without checking for capacity - void UnsafeAppend(const bool val) { - data_builder_.UnsafeAppend(val); - UnsafeAppendToBitmap(true); - } - - void UnsafeAppendNull() { - data_builder_.UnsafeAppend(false); - UnsafeAppendToBitmap(false); - } - - void UnsafeAppend(const uint8_t val) { UnsafeAppend(val != 0); } - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a contiguous array of bytes (non-zero is 1) - /// \param[in] length the number of values to append - /// \param[in] valid_bytes an optional sequence of bytes where non-zero - /// indicates a valid (non-null) value - /// \return Status - Status AppendValues(const uint8_t* values, int64_t length, - const uint8_t* valid_bytes = NULLPTR); - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a contiguous C array of values - /// \param[in] length the number of values to append - /// \param[in] is_valid an std::vector indicating valid (1) or null - /// (0). Equal in length to values - /// \return Status - Status AppendValues(const uint8_t* values, int64_t length, - const std::vector& is_valid); - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a std::vector of bytes - /// \param[in] is_valid an std::vector indicating valid (1) or null - /// (0). Equal in length to values - /// \return Status - Status AppendValues(const std::vector& values, - const std::vector& is_valid); - - /// \brief Append a sequence of elements in one shot - /// \param[in] values a std::vector of bytes - /// \return Status - Status AppendValues(const std::vector& values); - - /// \brief Append a sequence of elements in one shot - /// \param[in] values an std::vector indicating true (1) or false - /// \param[in] is_valid an std::vector indicating valid (1) or null - /// (0). Equal in length to values - /// \return Status - Status AppendValues(const std::vector& values, const std::vector& is_valid); - - /// \brief Append a sequence of elements in one shot - /// \param[in] values an std::vector indicating true (1) or false - /// \return Status - Status AppendValues(const std::vector& values); - - /// \brief Append a sequence of elements in one shot - /// \param[in] values_begin InputIterator to the beginning of the values - /// \param[in] values_end InputIterator pointing to the end of the values - /// or null(0) values - /// \return Status - template - Status AppendValues(ValuesIter values_begin, ValuesIter values_end) { - int64_t length = static_cast(std::distance(values_begin, values_end)); - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend( - length, [&values_begin]() -> bool { return *values_begin++; }); - // this updates length_ - UnsafeSetNotNull(length); - return Status::OK(); - } - - /// \brief Append a sequence of elements in one shot, with a specified nullmap - /// \param[in] values_begin InputIterator to the beginning of the values - /// \param[in] values_end InputIterator pointing to the end of the values - /// \param[in] valid_begin InputIterator with elements indication valid(1) - /// or null(0) values - /// \return Status - template - enable_if_t::value, Status> AppendValues( - ValuesIter values_begin, ValuesIter values_end, ValidIter valid_begin) { - static_assert(!internal::is_null_pointer::value, - "Don't pass a NULLPTR directly as valid_begin, use the 2-argument " - "version instead"); - int64_t length = static_cast(std::distance(values_begin, values_end)); - ARROW_RETURN_NOT_OK(Reserve(length)); - - data_builder_.UnsafeAppend( - length, [&values_begin]() -> bool { return *values_begin++; }); - null_bitmap_builder_.UnsafeAppend( - length, [&valid_begin]() -> bool { return *valid_begin++; }); - length_ = null_bitmap_builder_.length(); - null_count_ = null_bitmap_builder_.false_count(); - return Status::OK(); - } - - // Same as above, for a pointer type ValidIter - template - enable_if_t::value, Status> AppendValues( - ValuesIter values_begin, ValuesIter values_end, ValidIter valid_begin) { - int64_t length = static_cast(std::distance(values_begin, values_end)); - ARROW_RETURN_NOT_OK(Reserve(length)); - data_builder_.UnsafeAppend( - length, [&values_begin]() -> bool { return *values_begin++; }); - - if (valid_begin == NULLPTR) { - UnsafeSetNotNull(length); - } else { - null_bitmap_builder_.UnsafeAppend( - length, [&valid_begin]() -> bool { return *valid_begin++; }); - } - length_ = null_bitmap_builder_.length(); - null_count_ = null_bitmap_builder_.false_count(); - return Status::OK(); - } - - Status AppendValues(int64_t length, bool value); - - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - void Reset() override; - Status Resize(int64_t capacity) override; - - std::shared_ptr type() const override { return boolean(); } - - protected: - TypedBufferBuilder data_builder_; -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_time.h b/lib/parquet/src/src/arrow/array/builder_time.h deleted file mode 100644 index ccd11c2..0000000 --- a/lib/parquet/src/src/arrow/array/builder_time.h +++ /dev/null @@ -1,43 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Contains declarations of time related Arrow builder types. - -#pragma once - -#include - -#include "arrow/array/builder_base.h" -#include "arrow/array/builder_primitive.h" - -namespace arrow { - -// TODO(ARROW-7938): this class is untested - -class ARROW_EXPORT DayTimeIntervalBuilder : public NumericBuilder { - public: - using DayMilliseconds = DayTimeIntervalType::DayMilliseconds; - - explicit DayTimeIntervalBuilder(MemoryPool* pool = default_memory_pool()) - : DayTimeIntervalBuilder(day_time_interval(), pool) {} - - explicit DayTimeIntervalBuilder(std::shared_ptr type, - MemoryPool* pool = default_memory_pool()) - : NumericBuilder(type, pool) {} -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_union.cc b/lib/parquet/src/src/arrow/array/builder_union.cc deleted file mode 100644 index 90d4f42..0000000 --- a/lib/parquet/src/src/arrow/array/builder_union.cc +++ /dev/null @@ -1,121 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/array/builder_union.h" - -#include -#include - -#include "arrow/buffer.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/logging.h" - -namespace arrow { - -using internal::checked_cast; -using internal::checked_pointer_cast; - -Status BasicUnionBuilder::FinishInternal(std::shared_ptr* out) { - int64_t length = types_builder_.length(); - - std::shared_ptr types; - RETURN_NOT_OK(types_builder_.Finish(&types)); - - std::vector> child_data(children_.size()); - for (size_t i = 0; i < children_.size(); ++i) { - RETURN_NOT_OK(children_[i]->FinishInternal(&child_data[i])); - } - - *out = ArrayData::Make(type(), length, {nullptr, types}, /*null_count=*/0); - (*out)->child_data = std::move(child_data); - return Status::OK(); -} - -Status DenseUnionBuilder::FinishInternal(std::shared_ptr* out) { - ARROW_RETURN_NOT_OK(BasicUnionBuilder::FinishInternal(out)); - (*out)->buffers.resize(3); - ARROW_RETURN_NOT_OK(offsets_builder_.Finish(&(*out)->buffers[2])); - return Status::OK(); -} - -BasicUnionBuilder::BasicUnionBuilder( - MemoryPool* pool, const std::vector>& children, - const std::shared_ptr& type) - : ArrayBuilder(pool), child_fields_(children.size()), types_builder_(pool) { - const auto& union_type = checked_cast(*type); - mode_ = union_type.mode(); - - DCHECK_EQ(children.size(), union_type.type_codes().size()); - - type_codes_ = union_type.type_codes(); - children_ = children; - - type_id_to_children_.resize(union_type.max_type_code() + 1, nullptr); - DCHECK_LT( - type_id_to_children_.size(), - static_cast(UnionType::kMaxTypeCode)); - - for (size_t i = 0; i < children.size(); ++i) { - child_fields_[i] = union_type.field(static_cast(i)); - - auto type_id = union_type.type_codes()[i]; - type_id_to_children_[type_id] = children[i].get(); - } -} - -int8_t BasicUnionBuilder::AppendChild(const std::shared_ptr& new_child, - const std::string& field_name) { - children_.push_back(new_child); - auto new_type_id = NextTypeId(); - - type_id_to_children_[new_type_id] = new_child.get(); - child_fields_.push_back(field(field_name, nullptr)); - type_codes_.push_back(static_cast(new_type_id)); - - return new_type_id; -} - -std::shared_ptr BasicUnionBuilder::type() const { - std::vector> child_fields(child_fields_.size()); - for (size_t i = 0; i < child_fields.size(); ++i) { - child_fields[i] = child_fields_[i]->WithType(children_[i]->type()); - } - return mode_ == UnionMode::SPARSE ? sparse_union(std::move(child_fields), type_codes_) - : dense_union(std::move(child_fields), type_codes_); -} - -int8_t BasicUnionBuilder::NextTypeId() { - // Find type_id such that type_id_to_children_[type_id] == nullptr - // and use that for the new child. Start searching at dense_type_id_ - // since type_id_to_children_ is densely packed up at least up to dense_type_id_ - for (; static_cast(dense_type_id_) < type_id_to_children_.size(); - ++dense_type_id_) { - if (type_id_to_children_[dense_type_id_] == nullptr) { - return dense_type_id_++; - } - } - - DCHECK_LT( - type_id_to_children_.size(), - static_cast(UnionType::kMaxTypeCode)); - - // type_id_to_children_ is already densely packed, so just append the new child - type_id_to_children_.resize(type_id_to_children_.size() + 1); - return dense_type_id_++; -} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/builder_union.h b/lib/parquet/src/src/arrow/array/builder_union.h deleted file mode 100644 index 1ccc7ef..0000000 --- a/lib/parquet/src/src/arrow/array/builder_union.h +++ /dev/null @@ -1,193 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include - -#include "arrow/array/array_nested.h" -#include "arrow/array/builder_base.h" -#include "arrow/array/data.h" -#include "arrow/buffer_builder.h" -#include "arrow/memory_pool.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -/// \brief Base class for union array builds. -/// -/// Note that while we subclass ArrayBuilder, as union types do not have a -/// validity bitmap, the bitmap builder member of ArrayBuilder is not used. -class ARROW_EXPORT BasicUnionBuilder : public ArrayBuilder { - public: - Status FinishInternal(std::shared_ptr* out) override; - - /// \cond FALSE - using ArrayBuilder::Finish; - /// \endcond - - Status Finish(std::shared_ptr* out) { return FinishTyped(out); } - - /// \brief Make a new child builder available to the UnionArray - /// - /// \param[in] new_child the child builder - /// \param[in] field_name the name of the field in the union array type - /// if type inference is used - /// \return child index, which is the "type" argument that needs - /// to be passed to the "Append" method to add a new element to - /// the union array. - int8_t AppendChild(const std::shared_ptr& new_child, - const std::string& field_name = ""); - - std::shared_ptr type() const override; - - int64_t length() const override { return types_builder_.length(); } - - protected: - BasicUnionBuilder(MemoryPool* pool, - const std::vector>& children, - const std::shared_ptr& type); - - int8_t NextTypeId(); - - std::vector> child_fields_; - std::vector type_codes_; - UnionMode::type mode_; - - std::vector type_id_to_children_; - // for all type_id < dense_type_id_, type_id_to_children_[type_id] != nullptr - int8_t dense_type_id_ = 0; - TypedBufferBuilder types_builder_; -}; - -/// \class DenseUnionBuilder -/// -/// This API is EXPERIMENTAL. -class ARROW_EXPORT DenseUnionBuilder : public BasicUnionBuilder { - public: - /// Use this constructor to initialize the UnionBuilder with no child builders, - /// allowing type to be inferred. You will need to call AppendChild for each of the - /// children builders you want to use. - explicit DenseUnionBuilder(MemoryPool* pool) - : BasicUnionBuilder(pool, {}, dense_union(FieldVector{})), offsets_builder_(pool) {} - - /// Use this constructor to specify the type explicitly. - /// You can still add child builders to the union after using this constructor - DenseUnionBuilder(MemoryPool* pool, - const std::vector>& children, - const std::shared_ptr& type) - : BasicUnionBuilder(pool, children, type), offsets_builder_(pool) {} - - Status AppendNull() final { - const int8_t first_child_code = type_codes_[0]; - ArrayBuilder* child_builder = type_id_to_children_[first_child_code]; - ARROW_RETURN_NOT_OK(types_builder_.Append(first_child_code)); - ARROW_RETURN_NOT_OK( - offsets_builder_.Append(static_cast(child_builder->length()))); - // Append a null arbitrarily to the first child - return child_builder->AppendNull(); - } - - Status AppendNulls(int64_t length) final { - const int8_t first_child_code = type_codes_[0]; - ArrayBuilder* child_builder = type_id_to_children_[first_child_code]; - ARROW_RETURN_NOT_OK(types_builder_.Append(length, first_child_code)); - ARROW_RETURN_NOT_OK( - offsets_builder_.Append(length, static_cast(child_builder->length()))); - // Append just a single null to the first child - return child_builder->AppendNull(); - } - - /// \brief Append an element to the UnionArray. This must be followed - /// by an append to the appropriate child builder. - /// - /// \param[in] next_type type_id of the child to which the next value will be appended. - /// - /// The corresponding child builder must be appended to independently after this method - /// is called. - Status Append(int8_t next_type) { - ARROW_RETURN_NOT_OK(types_builder_.Append(next_type)); - if (type_id_to_children_[next_type]->length() == kListMaximumElements) { - return Status::CapacityError( - "a dense UnionArray cannot contain more than 2^31 - 1 elements from a single " - "child"); - } - auto offset = static_cast(type_id_to_children_[next_type]->length()); - return offsets_builder_.Append(offset); - } - - Status FinishInternal(std::shared_ptr* out) override; - - private: - TypedBufferBuilder offsets_builder_; -}; - -/// \class SparseUnionBuilder -/// -/// This API is EXPERIMENTAL. -class ARROW_EXPORT SparseUnionBuilder : public BasicUnionBuilder { - public: - /// Use this constructor to initialize the UnionBuilder with no child builders, - /// allowing type to be inferred. You will need to call AppendChild for each of the - /// children builders you want to use. - explicit SparseUnionBuilder(MemoryPool* pool) - : BasicUnionBuilder(pool, {}, sparse_union(FieldVector{})) {} - - /// Use this constructor to specify the type explicitly. - /// You can still add child builders to the union after using this constructor - SparseUnionBuilder(MemoryPool* pool, - const std::vector>& children, - const std::shared_ptr& type) - : BasicUnionBuilder(pool, children, type) {} - - /// \brief Append a null value. A null is added automatically to all the - /// children but the type id in the slot will be 0 - Status AppendNull() final { - ARROW_RETURN_NOT_OK(types_builder_.Append(type_codes_[0])); - for (int8_t code : type_codes_) { - ARROW_RETURN_NOT_OK(type_id_to_children_[code]->AppendNull()); - } - return Status::OK(); - } - - /// \brief Append multiple null values. Nulls will be automatically appended - /// to all the children but the type ids will be all 0. - Status AppendNulls(int64_t length) final { - ARROW_RETURN_NOT_OK(types_builder_.Append(length, type_codes_[0])); - // Append nulls to children - for (int8_t code : type_codes_) { - ARROW_RETURN_NOT_OK(type_id_to_children_[code]->AppendNulls(length)); - } - return Status::OK(); - } - - /// \brief Append an element to the UnionArray. This must be followed - /// by an append to the appropriate child builder. - /// - /// \param[in] next_type type_id of the child to which the next value will be appended. - /// - /// The corresponding child builder must be appended to independently after this method - /// is called, and all other child builders must have null appended - Status Append(int8_t next_type) { return types_builder_.Append(next_type); } -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/concatenate.h b/lib/parquet/src/src/arrow/array/concatenate.h deleted file mode 100644 index a6c1c3c..0000000 --- a/lib/parquet/src/src/arrow/array/concatenate.h +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include - -#include "arrow/type_fwd.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -/// \brief Concatenate arrays -/// -/// \param[in] arrays a vector of arrays to be concatenated -/// \param[in] pool memory to store the result will be allocated from this memory pool -/// \return the concatenated array -ARROW_EXPORT -Result> Concatenate(const ArrayVector& arrays, - MemoryPool* pool = default_memory_pool()); - -ARROW_DEPRECATED("Use Result-returning version") -ARROW_EXPORT -Status Concatenate(const ArrayVector& arrays, MemoryPool* pool, - std::shared_ptr* out); - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/data.h b/lib/parquet/src/src/arrow/array/data.h deleted file mode 100644 index 536a6c2..0000000 --- a/lib/parquet/src/src/arrow/array/data.h +++ /dev/null @@ -1,244 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include // IWYU pragma: export -#include -#include -#include -#include - -#include "arrow/buffer.h" -#include "arrow/result.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// When slicing, we do not know the null count of the sliced range without -// doing some computation. To avoid doing this eagerly, we set the null count -// to -1 (any negative number will do). When Array::null_count is called the -// first time, the null count will be computed. See ARROW-33 -constexpr int64_t kUnknownNullCount = -1; - -// ---------------------------------------------------------------------- -// Generic array data container - -/// \class ArrayData -/// \brief Mutable container for generic Arrow array data -/// -/// This data structure is a self-contained representation of the memory and -/// metadata inside an Arrow array data structure (called vectors in Java). The -/// classes arrow::Array and its subclasses provide strongly-typed accessors -/// with support for the visitor pattern and other affordances. -/// -/// This class is designed for easy internal data manipulation, analytical data -/// processing, and data transport to and from IPC messages. For example, we -/// could cast from int64 to float64 like so: -/// -/// Int64Array arr = GetMyData(); -/// auto new_data = arr.data()->Copy(); -/// new_data->type = arrow::float64(); -/// DoubleArray double_arr(new_data); -/// -/// This object is also useful in an analytics setting where memory may be -/// reused. For example, if we had a group of operations all returning doubles, -/// say: -/// -/// Log(Sqrt(Expr(arr))) -/// -/// Then the low-level implementations of each of these functions could have -/// the signatures -/// -/// void Log(const ArrayData& values, ArrayData* out); -/// -/// As another example a function may consume one or more memory buffers in an -/// input array and replace them with newly-allocated data, changing the output -/// data type as well. -struct ARROW_EXPORT ArrayData { - ArrayData() : length(0), null_count(0), offset(0) {} - - ArrayData(const std::shared_ptr& type, int64_t length, - int64_t null_count = kUnknownNullCount, int64_t offset = 0) - : type(type), length(length), null_count(null_count), offset(offset) {} - - ArrayData(const std::shared_ptr& type, int64_t length, - std::vector> buffers, - int64_t null_count = kUnknownNullCount, int64_t offset = 0) - : ArrayData(type, length, null_count, offset) { - this->buffers = std::move(buffers); - } - - ArrayData(const std::shared_ptr& type, int64_t length, - std::vector> buffers, - std::vector> child_data, - int64_t null_count = kUnknownNullCount, int64_t offset = 0) - : ArrayData(type, length, null_count, offset) { - this->buffers = std::move(buffers); - this->child_data = std::move(child_data); - } - - static std::shared_ptr Make(const std::shared_ptr& type, - int64_t length, - std::vector> buffers, - int64_t null_count = kUnknownNullCount, - int64_t offset = 0); - - static std::shared_ptr Make( - const std::shared_ptr& type, int64_t length, - std::vector> buffers, - std::vector> child_data, - int64_t null_count = kUnknownNullCount, int64_t offset = 0); - - static std::shared_ptr Make( - const std::shared_ptr& type, int64_t length, - std::vector> buffers, - std::vector> child_data, - std::shared_ptr dictionary, int64_t null_count = kUnknownNullCount, - int64_t offset = 0); - - static std::shared_ptr Make(const std::shared_ptr& type, - int64_t length, - int64_t null_count = kUnknownNullCount, - int64_t offset = 0); - - // Move constructor - ArrayData(ArrayData&& other) noexcept - : type(std::move(other.type)), - length(other.length), - offset(other.offset), - buffers(std::move(other.buffers)), - child_data(std::move(other.child_data)), - dictionary(std::move(other.dictionary)) { - SetNullCount(other.null_count); - } - - // Copy constructor - ArrayData(const ArrayData& other) noexcept - : type(other.type), - length(other.length), - offset(other.offset), - buffers(other.buffers), - child_data(other.child_data), - dictionary(other.dictionary) { - SetNullCount(other.null_count); - } - - // Move assignment - ArrayData& operator=(ArrayData&& other) { - type = std::move(other.type); - length = other.length; - SetNullCount(other.null_count); - offset = other.offset; - buffers = std::move(other.buffers); - child_data = std::move(other.child_data); - dictionary = std::move(other.dictionary); - return *this; - } - - // Copy assignment - ArrayData& operator=(const ArrayData& other) { - type = other.type; - length = other.length; - SetNullCount(other.null_count); - offset = other.offset; - buffers = other.buffers; - child_data = other.child_data; - dictionary = other.dictionary; - return *this; - } - - std::shared_ptr Copy() const { return std::make_shared(*this); } - - // Access a buffer's data as a typed C pointer - template - inline const T* GetValues(int i, int64_t absolute_offset) const { - if (buffers[i]) { - return reinterpret_cast(buffers[i]->data()) + absolute_offset; - } else { - return NULLPTR; - } - } - - template - inline const T* GetValues(int i) const { - return GetValues(i, offset); - } - - // Access a buffer's data as a typed C pointer - template - inline T* GetMutableValues(int i, int64_t absolute_offset) { - if (buffers[i]) { - return reinterpret_cast(buffers[i]->mutable_data()) + absolute_offset; - } else { - return NULLPTR; - } - } - - template - inline T* GetMutableValues(int i) { - return GetMutableValues(i, offset); - } - - /// \brief Construct a zero-copy slice of the data with the given offset and length - std::shared_ptr Slice(int64_t offset, int64_t length) const; - - /// \brief Input-checking variant of Slice - /// - /// An Invalid Status is returned if the requested slice falls out of bounds. - /// Note that unlike Slice, `length` isn't clamped to the available buffer size. - Result> SliceSafe(int64_t offset, int64_t length) const; - - void SetNullCount(int64_t v) { null_count.store(v); } - - /// \brief Return null count, or compute and set it if it's not known - int64_t GetNullCount() const; - - bool MayHaveNulls() const { - // If an ArrayData is slightly malformed it may have kUnknownNullCount set - // but no buffer - return null_count.load() != 0 && buffers[0] != NULLPTR; - } - - std::shared_ptr type; - int64_t length; - mutable std::atomic null_count; - // The logical start point into the physical buffers (in values, not bytes). - // Note that, for child data, this must be *added* to the child data's own offset. - int64_t offset; - std::vector> buffers; - std::vector> child_data; - - // The dictionary for this Array, if any. Only used for dictionary type - std::shared_ptr dictionary; -}; - -namespace internal { - -/// Construct a zero-copy view of this ArrayData with the given type. -/// -/// This method checks if the types are layout-compatible. -/// Nested types are traversed in depth-first order. Data buffers must have -/// the same item sizes, even though the logical types may be different. -/// An error is returned if the types are not layout-compatible. -ARROW_EXPORT -Result> GetArrayView(const std::shared_ptr& data, - const std::shared_ptr& type); - -} // namespace internal -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/dict_internal.h b/lib/parquet/src/src/arrow/array/dict_internal.h deleted file mode 100644 index 5bf584c..0000000 --- a/lib/parquet/src/src/arrow/array/dict_internal.h +++ /dev/null @@ -1,204 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include "arrow/array/builder_dict.h" - -#include -#include -#include -#include -#include -#include - -#include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_traits.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/hashing.h" -#include "arrow/util/logging.h" -#include "arrow/util/string_view.h" -#include "arrow/visitor_inline.h" - -namespace arrow { -namespace internal { - -template -struct DictionaryTraits { - using MemoTableType = void; -}; - -} // namespace internal - -template -using enable_if_memoize = enable_if_t< - !std::is_same::MemoTableType, void>::value, - Out>; - -template -using enable_if_no_memoize = enable_if_t< - std::is_same::MemoTableType, void>::value, - Out>; - -namespace internal { - -template <> -struct DictionaryTraits { - using T = BooleanType; - using MemoTableType = typename HashTraits::MemoTableType; - - static Status GetDictionaryArrayData(MemoryPool* pool, - const std::shared_ptr& type, - const MemoTableType& memo_table, - int64_t start_offset, - std::shared_ptr* out) { - if (start_offset < 0) { - return Status::Invalid("invalid start_offset ", start_offset); - } - - BooleanBuilder builder(pool); - const auto& bool_values = memo_table.values(); - const auto null_index = memo_table.GetNull(); - - // Will iterate up to 3 times. - for (int64_t i = start_offset; i < memo_table.size(); i++) { - RETURN_NOT_OK(i == null_index ? builder.AppendNull() - : builder.Append(bool_values[i])); - } - - return builder.FinishInternal(out); - } -}; // namespace internal - -template -struct DictionaryTraits> { - using c_type = typename T::c_type; - using MemoTableType = typename HashTraits::MemoTableType; - - static Status GetDictionaryArrayData(MemoryPool* pool, - const std::shared_ptr& type, - const MemoTableType& memo_table, - int64_t start_offset, - std::shared_ptr* out) { - auto dict_length = static_cast(memo_table.size()) - start_offset; - // This makes a copy, but we assume a dictionary array is usually small - // compared to the size of the dictionary-using array. - // (also, copying the dictionary values is cheap compared to the cost - // of building the memo table) - ARROW_ASSIGN_OR_RAISE( - std::shared_ptr dict_buffer, - AllocateBuffer(TypeTraits::bytes_required(dict_length), pool)); - memo_table.CopyValues(static_cast(start_offset), - reinterpret_cast(dict_buffer->mutable_data())); - - int64_t null_count = 0; - std::shared_ptr null_bitmap = nullptr; - RETURN_NOT_OK( - ComputeNullBitmap(pool, memo_table, start_offset, &null_count, &null_bitmap)); - - *out = ArrayData::Make(type, dict_length, {null_bitmap, dict_buffer}, null_count); - return Status::OK(); - } -}; - -template -struct DictionaryTraits> { - using MemoTableType = typename HashTraits::MemoTableType; - - static Status GetDictionaryArrayData(MemoryPool* pool, - const std::shared_ptr& type, - const MemoTableType& memo_table, - int64_t start_offset, - std::shared_ptr* out) { - using offset_type = typename T::offset_type; - - // Create the offsets buffer - auto dict_length = static_cast(memo_table.size() - start_offset); - ARROW_ASSIGN_OR_RAISE(auto dict_offsets, - AllocateBuffer(sizeof(offset_type) * (dict_length + 1), pool)); - auto raw_offsets = reinterpret_cast(dict_offsets->mutable_data()); - memo_table.CopyOffsets(static_cast(start_offset), raw_offsets); - - // Create the data buffer - auto values_size = memo_table.values_size(); - ARROW_ASSIGN_OR_RAISE(auto dict_data, AllocateBuffer(values_size, pool)); - if (values_size > 0) { - memo_table.CopyValues(static_cast(start_offset), dict_data->size(), - dict_data->mutable_data()); - } - - int64_t null_count = 0; - std::shared_ptr null_bitmap = nullptr; - RETURN_NOT_OK( - ComputeNullBitmap(pool, memo_table, start_offset, &null_count, &null_bitmap)); - - *out = ArrayData::Make(type, dict_length, - {null_bitmap, std::move(dict_offsets), std::move(dict_data)}, - null_count); - - return Status::OK(); - } -}; - -template -struct DictionaryTraits> { - using MemoTableType = typename HashTraits::MemoTableType; - - static Status GetDictionaryArrayData(MemoryPool* pool, - const std::shared_ptr& type, - const MemoTableType& memo_table, - int64_t start_offset, - std::shared_ptr* out) { - const T& concrete_type = internal::checked_cast(*type); - - // Create the data buffer - auto dict_length = static_cast(memo_table.size() - start_offset); - auto width_length = concrete_type.byte_width(); - auto data_length = dict_length * width_length; - ARROW_ASSIGN_OR_RAISE(auto dict_data, AllocateBuffer(data_length, pool)); - auto data = dict_data->mutable_data(); - - memo_table.CopyFixedWidthValues(static_cast(start_offset), width_length, - data_length, data); - - int64_t null_count = 0; - std::shared_ptr null_bitmap = nullptr; - RETURN_NOT_OK( - ComputeNullBitmap(pool, memo_table, start_offset, &null_count, &null_bitmap)); - - *out = ArrayData::Make(type, dict_length, {null_bitmap, std::move(dict_data)}, - null_count); - return Status::OK(); - } -}; - -template -struct DictionaryCTraits { - using ArrowType = typename CTypeTraits::ArrowType; - using MemoTableType = typename DictionaryTraits::MemoTableType; -}; - -template <> -struct DictionaryCTraits { - using MemoTableType = DictionaryTraits::MemoTableType; -}; - -} // namespace internal -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/diff.h b/lib/parquet/src/src/arrow/array/diff.h deleted file mode 100644 index a405164..0000000 --- a/lib/parquet/src/src/arrow/array/diff.h +++ /dev/null @@ -1,76 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include - -#include "arrow/array/array_base.h" -#include "arrow/array/array_nested.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -/// \brief Compare two arrays, returning an edit script which expresses the difference -/// between them -/// -/// An edit script is an array of struct(insert: bool, run_length: int64_t). -/// Each element of "insert" determines whether an element was inserted into (true) -/// or deleted from (false) base. Each insertion or deletion is followed by a run of -/// elements which are unchanged from base to target; the length of this run is stored -/// in "run_length". (Note that the edit script begins and ends with a run of shared -/// elements but both fields of the struct must have the same length. To accommodate this -/// the first element of "insert" should be ignored.) -/// -/// For example for base "hlloo" and target "hello", the edit script would be -/// [ -/// {"insert": false, "run_length": 1}, // leading run of length 1 ("h") -/// {"insert": true, "run_length": 3}, // insert("e") then a run of length 3 ("llo") -/// {"insert": false, "run_length": 0} // delete("o") then an empty run -/// ] -/// -/// Diffing arrays containing nulls is not currently supported. -/// -/// \param[in] base baseline for comparison -/// \param[in] target an array of identical type to base whose elements differ from base's -/// \param[in] pool memory to store the result will be allocated from this memory pool -/// \return an edit script array which can be applied to base to produce target -ARROW_EXPORT -Result> Diff(const Array& base, const Array& target, - MemoryPool* pool = default_memory_pool()); - -/// \brief visitor interface for easy traversal of an edit script -/// -/// visitor will be called for each hunk of insertions and deletions. -ARROW_EXPORT Status VisitEditScript( - const Array& edits, - const std::function& visitor); - -/// \brief return a function which will format an edit script in unified -/// diff format to os, given base and target arrays of type -ARROW_EXPORT Result< - std::function> -MakeUnifiedDiffFormatter(const DataType& type, std::ostream* os); - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/util.h b/lib/parquet/src/src/arrow/array/util.h deleted file mode 100644 index b400255..0000000 --- a/lib/parquet/src/src/arrow/array/util.h +++ /dev/null @@ -1,67 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include - -#include "arrow/array/data.h" -#include "arrow/compare.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -/// \brief Create a strongly-typed Array instance from generic ArrayData -/// \param[in] data the array contents -/// \return the resulting Array instance -ARROW_EXPORT -std::shared_ptr MakeArray(const std::shared_ptr& data); - -/// \brief Create a strongly-typed Array instance with all elements null -/// \param[in] type the array type -/// \param[in] length the array length -/// \param[in] pool the memory pool to allocate memory from -ARROW_EXPORT -Result> MakeArrayOfNull(const std::shared_ptr& type, - int64_t length, - MemoryPool* pool = default_memory_pool()); - -/// \brief Create an Array instance whose slots are the given scalar -/// \param[in] scalar the value with which to fill the array -/// \param[in] length the array length -/// \param[in] pool the memory pool to allocate memory from -ARROW_EXPORT -Result> MakeArrayFromScalar( - const Scalar& scalar, int64_t length, MemoryPool* pool = default_memory_pool()); - -namespace internal { - -/// Given a number of ArrayVectors, treat each ArrayVector as the -/// chunks of a chunked array. Then rechunk each ArrayVector such that -/// all ArrayVectors are chunked identically. It is mandatory that -/// all ArrayVectors contain the same total number of elements. -ARROW_EXPORT -std::vector RechunkArraysConsistently(const std::vector&); - -} // namespace internal -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/array/validate.h b/lib/parquet/src/src/arrow/array/validate.h deleted file mode 100644 index 551528f..0000000 --- a/lib/parquet/src/src/arrow/array/validate.h +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include "arrow/status.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -class Array; - -namespace internal { - -// Internal functions implementing Array::Validate() and friends. - -ARROW_EXPORT -Status ValidateArray(const Array& array); - -ARROW_EXPORT -Status ValidateArrayData(const Array& array); - -} // namespace internal -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/buffer.h b/lib/parquet/src/src/arrow/buffer.h deleted file mode 100644 index 1a3bb29..0000000 --- a/lib/parquet/src/src/arrow/buffer.h +++ /dev/null @@ -1,508 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include -#include - -#include "arrow/device.h" -#include "arrow/status.h" -#include "arrow/type_fwd.h" -#include "arrow/util/macros.h" -#include "arrow/util/string_view.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Buffer classes - -/// \class Buffer -/// \brief Object containing a pointer to a piece of contiguous memory with a -/// particular size. -/// -/// Buffers have two related notions of length: size and capacity. Size is -/// the number of bytes that might have valid data. Capacity is the number -/// of bytes that were allocated for the buffer in total. -/// -/// The Buffer base class does not own its memory, but subclasses often do. -/// -/// The following invariant is always true: Size <= Capacity -class ARROW_EXPORT Buffer { - public: - /// \brief Construct from buffer and size without copying memory - /// - /// \param[in] data a memory buffer - /// \param[in] size buffer size - /// - /// \note The passed memory must be kept alive through some other means - Buffer(const uint8_t* data, int64_t size) - : is_mutable_(false), - is_cpu_(true), - data_(data), - mutable_data_(NULLPTR), - size_(size), - capacity_(size) { - SetMemoryManager(default_cpu_memory_manager()); - } - - Buffer(const uint8_t* data, int64_t size, std::shared_ptr mm, - std::shared_ptr parent = NULLPTR) - : is_mutable_(false), - data_(data), - mutable_data_(NULLPTR), - size_(size), - capacity_(size), - parent_(parent) { - SetMemoryManager(std::move(mm)); - } - - Buffer(uintptr_t address, int64_t size, std::shared_ptr mm, - std::shared_ptr parent = NULLPTR) - : Buffer(reinterpret_cast(address), size, std::move(mm), - std::move(parent)) {} - - /// \brief Construct from string_view without copying memory - /// - /// \param[in] data a string_view object - /// - /// \note The memory viewed by data must not be deallocated in the lifetime of the - /// Buffer; temporary rvalue strings must be stored in an lvalue somewhere - explicit Buffer(util::string_view data) - : Buffer(reinterpret_cast(data.data()), - static_cast(data.size())) {} - - virtual ~Buffer() = default; - - /// An offset into data that is owned by another buffer, but we want to be - /// able to retain a valid pointer to it even after other shared_ptr's to the - /// parent buffer have been destroyed - /// - /// This method makes no assertions about alignment or padding of the buffer but - /// in general we expected buffers to be aligned and padded to 64 bytes. In the future - /// we might add utility methods to help determine if a buffer satisfies this contract. - Buffer(const std::shared_ptr& parent, const int64_t offset, const int64_t size) - : Buffer(parent->data_ + offset, size) { - parent_ = parent; - SetMemoryManager(parent->memory_manager_); - } - - uint8_t operator[](std::size_t i) const { return data_[i]; } - - /// \brief Construct a new std::string with a hexadecimal representation of the buffer. - /// \return std::string - std::string ToHexString(); - - /// Return true if both buffers are the same size and contain the same bytes - /// up to the number of compared bytes - bool Equals(const Buffer& other, int64_t nbytes) const; - - /// Return true if both buffers are the same size and contain the same bytes - bool Equals(const Buffer& other) const; - - /// Copy a section of the buffer into a new Buffer. - Result> CopySlice( - const int64_t start, const int64_t nbytes, - MemoryPool* pool = default_memory_pool()) const; - - /// Zero bytes in padding, i.e. bytes between size_ and capacity_. - void ZeroPadding() { -#ifndef NDEBUG - CheckMutable(); -#endif - // A zero-capacity buffer can have a null data pointer - if (capacity_ != 0) { - memset(mutable_data_ + size_, 0, static_cast(capacity_ - size_)); - } - } - - /// \brief Construct an immutable buffer that takes ownership of the contents - /// of an std::string (without copying it). - /// - /// \param[in] data a string to own - /// \return a new Buffer instance - static std::shared_ptr FromString(std::string data); - - /// \brief Create buffer referencing typed memory with some length without - /// copying - /// \param[in] data the typed memory as C array - /// \param[in] length the number of values in the array - /// \return a new shared_ptr - template - static std::shared_ptr Wrap(const T* data, SizeType length) { - return std::make_shared(reinterpret_cast(data), - static_cast(sizeof(T) * length)); - } - - /// \brief Create buffer referencing std::vector with some length without - /// copying - /// \param[in] data the vector to be referenced. If this vector is changed, - /// the buffer may become invalid - /// \return a new shared_ptr - template - static std::shared_ptr Wrap(const std::vector& data) { - return std::make_shared(reinterpret_cast(data.data()), - static_cast(sizeof(T) * data.size())); - } - - /// \brief Copy buffer contents into a new std::string - /// \return std::string - /// \note Can throw std::bad_alloc if buffer is large - std::string ToString() const; - - /// \brief View buffer contents as a util::string_view - /// \return util::string_view - explicit operator util::string_view() const { - return util::string_view(reinterpret_cast(data_), size_); - } - - /// \brief View buffer contents as a util::bytes_view - /// \return util::bytes_view - explicit operator util::bytes_view() const { return util::bytes_view(data_, size_); } - - /// \brief Return a pointer to the buffer's data - /// - /// The buffer has to be a CPU buffer (`is_cpu()` is true). - /// Otherwise, an assertion may be thrown or a null pointer may be returned. - /// - /// To get the buffer's data address regardless of its device, call `address()`. - const uint8_t* data() const { -#ifndef NDEBUG - CheckCPU(); -#endif - return ARROW_PREDICT_TRUE(is_cpu_) ? data_ : NULLPTR; - } - - /// \brief Return a writable pointer to the buffer's data - /// - /// The buffer has to be a mutable CPU buffer (`is_cpu()` and `is_mutable()` - /// are true). Otherwise, an assertion may be thrown or a null pointer may - /// be returned. - /// - /// To get the buffer's mutable data address regardless of its device, call - /// `mutable_address()`. - uint8_t* mutable_data() { -#ifndef NDEBUG - CheckCPU(); - CheckMutable(); -#endif - return ARROW_PREDICT_TRUE(is_cpu_) ? mutable_data_ : NULLPTR; - } - - /// \brief Return the device address of the buffer's data - uintptr_t address() const { return reinterpret_cast(data_); } - - /// \brief Return a writable device address to the buffer's data - /// - /// The buffer has to be a mutable buffer (`is_mutable()` is true). - /// Otherwise, an assertion may be thrown or 0 may be returned. - uintptr_t mutable_address() const { -#ifndef NDEBUG - CheckMutable(); -#endif - return reinterpret_cast(mutable_data_); - } - - /// \brief Return the buffer's size in bytes - int64_t size() const { return size_; } - - /// \brief Return the buffer's capacity (number of allocated bytes) - int64_t capacity() const { return capacity_; } - - /// \brief Whether the buffer is directly CPU-accessible - /// - /// If this function returns true, you can read directly from the buffer's - /// `data()` pointer. Otherwise, you'll have to `View()` or `Copy()` it. - bool is_cpu() const { return is_cpu_; } - - /// \brief Whether the buffer is mutable - /// - /// If this function returns true, you are allowed to modify buffer contents - /// using the pointer returned by `mutable_data()` or `mutable_address()`. - bool is_mutable() const { return is_mutable_; } - - const std::shared_ptr& device() const { return memory_manager_->device(); } - - const std::shared_ptr& memory_manager() const { return memory_manager_; } - - std::shared_ptr parent() const { return parent_; } - - /// \brief Get a RandomAccessFile for reading a buffer - /// - /// The returned file object reads from this buffer's underlying memory. - static Result> GetReader(std::shared_ptr); - - /// \brief Get a OutputStream for writing to a buffer - /// - /// The buffer must be mutable. The returned stream object writes into the buffer's - /// underlying memory (but it won't resize it). - static Result> GetWriter(std::shared_ptr); - - /// \brief Copy buffer - /// - /// The buffer contents will be copied into a new buffer allocated by the - /// given MemoryManager. This function supports cross-device copies. - static Result> Copy(std::shared_ptr source, - const std::shared_ptr& to); - - /// \brief View buffer - /// - /// Return a Buffer that reflects this buffer, seen potentially from another - /// device, without making an explicit copy of the contents. The underlying - /// mechanism is typically implemented by the kernel or device driver, and may - /// involve lazy caching of parts of the buffer contents on the destination - /// device's memory. - /// - /// If a non-copy view is unsupported for the buffer on the given device, - /// nullptr is returned. An error can be returned if some low-level - /// operation fails (such as an out-of-memory condition). - static Result> View(std::shared_ptr source, - const std::shared_ptr& to); - - /// \brief View or copy buffer - /// - /// Try to view buffer contents on the given MemoryManager's device, but - /// fall back to copying if a no-copy view isn't supported. - static Result> ViewOrCopy( - std::shared_ptr source, const std::shared_ptr& to); - - protected: - bool is_mutable_; - bool is_cpu_; - const uint8_t* data_; - uint8_t* mutable_data_; - int64_t size_; - int64_t capacity_; - - // null by default, but may be set - std::shared_ptr parent_; - - private: - // private so that subclasses are forced to call SetMemoryManager() - std::shared_ptr memory_manager_; - - protected: - void CheckMutable() const; - void CheckCPU() const; - - void SetMemoryManager(std::shared_ptr mm) { - memory_manager_ = std::move(mm); - is_cpu_ = memory_manager_->is_cpu(); - } - - private: - Buffer() = delete; - ARROW_DISALLOW_COPY_AND_ASSIGN(Buffer); -}; - -/// \defgroup buffer-slicing-functions Functions for slicing buffers -/// -/// @{ - -/// \brief Construct a view on a buffer at the given offset and length. -/// -/// This function cannot fail and does not check for errors (except in debug builds) -static inline std::shared_ptr SliceBuffer(const std::shared_ptr& buffer, - const int64_t offset, - const int64_t length) { - return std::make_shared(buffer, offset, length); -} - -/// \brief Construct a view on a buffer at the given offset, up to the buffer's end. -/// -/// This function cannot fail and does not check for errors (except in debug builds) -static inline std::shared_ptr SliceBuffer(const std::shared_ptr& buffer, - const int64_t offset) { - int64_t length = buffer->size() - offset; - return SliceBuffer(buffer, offset, length); -} - -/// \brief Input-checking version of SliceBuffer -/// -/// An Invalid Status is returned if the requested slice falls out of bounds. -ARROW_EXPORT -Result> SliceBufferSafe(const std::shared_ptr& buffer, - int64_t offset); -/// \brief Input-checking version of SliceBuffer -/// -/// An Invalid Status is returned if the requested slice falls out of bounds. -/// Note that unlike SliceBuffer, `length` isn't clamped to the available buffer size. -ARROW_EXPORT -Result> SliceBufferSafe(const std::shared_ptr& buffer, - int64_t offset, int64_t length); - -/// \brief Like SliceBuffer, but construct a mutable buffer slice. -/// -/// If the parent buffer is not mutable, behavior is undefined (it may abort -/// in debug builds). -ARROW_EXPORT -std::shared_ptr SliceMutableBuffer(const std::shared_ptr& buffer, - const int64_t offset, const int64_t length); - -/// \brief Like SliceBuffer, but construct a mutable buffer slice. -/// -/// If the parent buffer is not mutable, behavior is undefined (it may abort -/// in debug builds). -static inline std::shared_ptr SliceMutableBuffer( - const std::shared_ptr& buffer, const int64_t offset) { - int64_t length = buffer->size() - offset; - return SliceMutableBuffer(buffer, offset, length); -} - -/// \brief Input-checking version of SliceMutableBuffer -/// -/// An Invalid Status is returned if the requested slice falls out of bounds. -ARROW_EXPORT -Result> SliceMutableBufferSafe( - const std::shared_ptr& buffer, int64_t offset); -/// \brief Input-checking version of SliceMutableBuffer -/// -/// An Invalid Status is returned if the requested slice falls out of bounds. -/// Note that unlike SliceBuffer, `length` isn't clamped to the available buffer size. -ARROW_EXPORT -Result> SliceMutableBufferSafe( - const std::shared_ptr& buffer, int64_t offset, int64_t length); - -/// @} - -/// \class MutableBuffer -/// \brief A Buffer whose contents can be mutated. May or may not own its data. -class ARROW_EXPORT MutableBuffer : public Buffer { - public: - MutableBuffer(uint8_t* data, const int64_t size) : Buffer(data, size) { - mutable_data_ = data; - is_mutable_ = true; - } - - MutableBuffer(uint8_t* data, const int64_t size, std::shared_ptr mm) - : Buffer(data, size, std::move(mm)) { - mutable_data_ = data; - is_mutable_ = true; - } - - MutableBuffer(const std::shared_ptr& parent, const int64_t offset, - const int64_t size); - - /// \brief Create buffer referencing typed memory with some length - /// \param[in] data the typed memory as C array - /// \param[in] length the number of values in the array - /// \return a new shared_ptr - template - static std::shared_ptr Wrap(T* data, SizeType length) { - return std::make_shared(reinterpret_cast(data), - static_cast(sizeof(T) * length)); - } - - protected: - MutableBuffer() : Buffer(NULLPTR, 0) {} -}; - -/// \class ResizableBuffer -/// \brief A mutable buffer that can be resized -class ARROW_EXPORT ResizableBuffer : public MutableBuffer { - public: - /// Change buffer reported size to indicated size, allocating memory if - /// necessary. This will ensure that the capacity of the buffer is a multiple - /// of 64 bytes as defined in Layout.md. - /// Consider using ZeroPadding afterwards, to conform to the Arrow layout - /// specification. - /// - /// @param new_size The new size for the buffer. - /// @param shrink_to_fit Whether to shrink the capacity if new size < current size - virtual Status Resize(const int64_t new_size, bool shrink_to_fit = true) = 0; - - /// Ensure that buffer has enough memory allocated to fit the indicated - /// capacity (and meets the 64 byte padding requirement in Layout.md). - /// It does not change buffer's reported size and doesn't zero the padding. - virtual Status Reserve(const int64_t new_capacity) = 0; - - template - Status TypedResize(const int64_t new_nb_elements, bool shrink_to_fit = true) { - return Resize(sizeof(T) * new_nb_elements, shrink_to_fit); - } - - template - Status TypedReserve(const int64_t new_nb_elements) { - return Reserve(sizeof(T) * new_nb_elements); - } - - protected: - ResizableBuffer(uint8_t* data, int64_t size) : MutableBuffer(data, size) {} - ResizableBuffer(uint8_t* data, int64_t size, std::shared_ptr mm) - : MutableBuffer(data, size, std::move(mm)) {} -}; - -/// \defgroup buffer-allocation-functions Functions for allocating buffers -/// -/// @{ - -/// \brief Allocate a fixed size mutable buffer from a memory pool, zero its padding. -/// -/// \param[in] size size of buffer to allocate -/// \param[in] pool a memory pool -ARROW_EXPORT -Result> AllocateBuffer(const int64_t size, - MemoryPool* pool = NULLPTR); - -/// \brief Allocate a resizeable buffer from a memory pool, zero its padding. -/// -/// \param[in] size size of buffer to allocate -/// \param[in] pool a memory pool -ARROW_EXPORT -Result> AllocateResizableBuffer( - const int64_t size, MemoryPool* pool = NULLPTR); - -/// \brief Allocate a bitmap buffer from a memory pool -/// no guarantee on values is provided. -/// -/// \param[in] length size in bits of bitmap to allocate -/// \param[in] pool memory pool to allocate memory from -ARROW_EXPORT -Result> AllocateBitmap(int64_t length, - MemoryPool* pool = NULLPTR); - -ARROW_EXPORT -Status AllocateBitmap(MemoryPool* pool, int64_t length, std::shared_ptr* out); - -/// \brief Allocate a zero-initialized bitmap buffer from a memory pool -/// -/// \param[in] length size in bits of bitmap to allocate -/// \param[in] pool memory pool to allocate memory from -ARROW_EXPORT -Result> AllocateEmptyBitmap(int64_t length, - MemoryPool* pool = NULLPTR); - -/// \brief Concatenate multiple buffers into a single buffer -/// -/// \param[in] buffers to be concatenated -/// \param[in] pool memory pool to allocate the new buffer from -ARROW_EXPORT -Result> ConcatenateBuffers(const BufferVector& buffers, - MemoryPool* pool = NULLPTR); - -ARROW_EXPORT -Status ConcatenateBuffers(const BufferVector& buffers, MemoryPool* pool, - std::shared_ptr* out); - -/// @} - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/buffer_builder.h b/lib/parquet/src/src/arrow/buffer_builder.h deleted file mode 100644 index 41a47c9..0000000 --- a/lib/parquet/src/src/arrow/buffer_builder.h +++ /dev/null @@ -1,391 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include -#include - -#include "arrow/buffer.h" -#include "arrow/status.h" -#include "arrow/util/bit_util.h" -#include "arrow/util/bitmap_generate.h" -#include "arrow/util/macros.h" -#include "arrow/util/ubsan.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -// ---------------------------------------------------------------------- -// Buffer builder classes - -/// \class BufferBuilder -/// \brief A class for incrementally building a contiguous chunk of in-memory -/// data -class ARROW_EXPORT BufferBuilder { - public: - explicit BufferBuilder(MemoryPool* pool = default_memory_pool()) - : pool_(pool), - data_(/*ensure never null to make ubsan happy and avoid check penalties below*/ - &util::internal::non_null_filler), - - capacity_(0), - size_(0) {} - - /// \brief Constructs new Builder that will start using - /// the provided buffer until Finish/Reset are called. - /// The buffer is not resized. - explicit BufferBuilder(std::shared_ptr buffer, - MemoryPool* pool = default_memory_pool()) - : buffer_(std::move(buffer)), - pool_(pool), - data_(buffer_->mutable_data()), - capacity_(buffer_->capacity()), - size_(buffer_->size()) {} - - /// \brief Resize the buffer to the nearest multiple of 64 bytes - /// - /// \param new_capacity the new capacity of the of the builder. Will be - /// rounded up to a multiple of 64 bytes for padding \param shrink_to_fit if - /// new capacity is smaller than the existing size, reallocate internal - /// buffer. Set to false to avoid reallocations when shrinking the builder. - /// \return Status - Status Resize(const int64_t new_capacity, bool shrink_to_fit = true) { - // Resize(0) is a no-op - if (new_capacity == 0) { - return Status::OK(); - } - if (buffer_ == NULLPTR) { - ARROW_ASSIGN_OR_RAISE(buffer_, AllocateResizableBuffer(new_capacity, pool_)); - } else { - ARROW_RETURN_NOT_OK(buffer_->Resize(new_capacity, shrink_to_fit)); - } - capacity_ = buffer_->capacity(); - data_ = buffer_->mutable_data(); - return Status::OK(); - } - - /// \brief Ensure that builder can accommodate the additional number of bytes - /// without the need to perform allocations - /// - /// \param[in] additional_bytes number of additional bytes to make space for - /// \return Status - Status Reserve(const int64_t additional_bytes) { - auto min_capacity = size_ + additional_bytes; - if (min_capacity <= capacity_) { - return Status::OK(); - } - return Resize(GrowByFactor(capacity_, min_capacity), false); - } - - /// \brief Return a capacity expanded by the desired growth factor - static int64_t GrowByFactor(int64_t current_capacity, int64_t new_capacity) { - // Doubling capacity except for large Reserve requests. 2x growth strategy - // (versus 1.5x) seems to have slightly better performance when using - // jemalloc, but significantly better performance when using the system - // allocator. See ARROW-6450 for further discussion - return std::max(new_capacity, current_capacity * 2); - } - - /// \brief Append the given data to the buffer - /// - /// The buffer is automatically expanded if necessary. - Status Append(const void* data, const int64_t length) { - if (ARROW_PREDICT_FALSE(size_ + length > capacity_)) { - ARROW_RETURN_NOT_OK(Resize(GrowByFactor(capacity_, size_ + length), false)); - } - UnsafeAppend(data, length); - return Status::OK(); - } - - /// \brief Append copies of a value to the buffer - /// - /// The buffer is automatically expanded if necessary. - Status Append(const int64_t num_copies, uint8_t value) { - ARROW_RETURN_NOT_OK(Reserve(num_copies)); - UnsafeAppend(num_copies, value); - return Status::OK(); - } - - // Advance pointer and zero out memory - Status Advance(const int64_t length) { return Append(length, 0); } - - // Advance pointer, but don't allocate or zero memory - void UnsafeAdvance(const int64_t length) { size_ += length; } - - // Unsafe methods don't check existing size - void UnsafeAppend(const void* data, const int64_t length) { - memcpy(data_ + size_, data, static_cast(length)); - size_ += length; - } - - void UnsafeAppend(const int64_t num_copies, uint8_t value) { - memset(data_ + size_, value, static_cast(num_copies)); - size_ += num_copies; - } - - /// \brief Return result of builder as a Buffer object. - /// - /// The builder is reset and can be reused afterwards. - /// - /// \param[out] out the finalized Buffer object - /// \param shrink_to_fit if the buffer size is smaller than its capacity, - /// reallocate to fit more tightly in memory. Set to false to avoid - /// a reallocation, at the expense of potentially more memory consumption. - /// \return Status - Status Finish(std::shared_ptr* out, bool shrink_to_fit = true) { - ARROW_RETURN_NOT_OK(Resize(size_, shrink_to_fit)); - if (size_ != 0) buffer_->ZeroPadding(); - *out = buffer_; - if (*out == NULLPTR) { - ARROW_ASSIGN_OR_RAISE(*out, AllocateBuffer(0, pool_)); - } - Reset(); - return Status::OK(); - } - - void Reset() { - buffer_ = NULLPTR; - capacity_ = size_ = 0; - } - - /// \brief Set size to a smaller value without modifying builder - /// contents. For reusable BufferBuilder classes - /// \param[in] position must be non-negative and less than or equal - /// to the current length() - void Rewind(int64_t position) { size_ = position; } - - int64_t capacity() const { return capacity_; } - int64_t length() const { return size_; } - const uint8_t* data() const { return data_; } - uint8_t* mutable_data() { return data_; } - - private: - std::shared_ptr buffer_; - MemoryPool* pool_; - uint8_t* data_; - int64_t capacity_; - int64_t size_; -}; - -template -class TypedBufferBuilder; - -/// \brief A BufferBuilder for building a buffer of arithmetic elements -template -class TypedBufferBuilder< - T, typename std::enable_if::value || - std::is_standard_layout::value>::type> { - public: - explicit TypedBufferBuilder(MemoryPool* pool = default_memory_pool()) - : bytes_builder_(pool) {} - - explicit TypedBufferBuilder(std::shared_ptr buffer, - MemoryPool* pool = default_memory_pool()) - : bytes_builder_(std::move(buffer), pool) {} - - Status Append(T value) { - return bytes_builder_.Append(reinterpret_cast(&value), sizeof(T)); - } - - Status Append(const T* values, int64_t num_elements) { - return bytes_builder_.Append(reinterpret_cast(values), - num_elements * sizeof(T)); - } - - Status Append(const int64_t num_copies, T value) { - ARROW_RETURN_NOT_OK(Reserve(num_copies + length())); - UnsafeAppend(num_copies, value); - return Status::OK(); - } - - void UnsafeAppend(T value) { - bytes_builder_.UnsafeAppend(reinterpret_cast(&value), sizeof(T)); - } - - void UnsafeAppend(const T* values, int64_t num_elements) { - bytes_builder_.UnsafeAppend(reinterpret_cast(values), - num_elements * sizeof(T)); - } - - template - void UnsafeAppend(Iter values_begin, Iter values_end) { - int64_t num_elements = static_cast(std::distance(values_begin, values_end)); - auto data = mutable_data() + length(); - bytes_builder_.UnsafeAdvance(num_elements * sizeof(T)); - std::copy(values_begin, values_end, data); - } - - void UnsafeAppend(const int64_t num_copies, T value) { - auto data = mutable_data() + length(); - bytes_builder_.UnsafeAdvance(num_copies * sizeof(T)); - std::fill(data, data + num_copies, value); - } - - Status Resize(const int64_t new_capacity, bool shrink_to_fit = true) { - return bytes_builder_.Resize(new_capacity * sizeof(T), shrink_to_fit); - } - - Status Reserve(const int64_t additional_elements) { - return bytes_builder_.Reserve(additional_elements * sizeof(T)); - } - - Status Advance(const int64_t length) { - return bytes_builder_.Advance(length * sizeof(T)); - } - - Status Finish(std::shared_ptr* out, bool shrink_to_fit = true) { - return bytes_builder_.Finish(out, shrink_to_fit); - } - - void Reset() { bytes_builder_.Reset(); } - - int64_t length() const { return bytes_builder_.length() / sizeof(T); } - int64_t capacity() const { return bytes_builder_.capacity() / sizeof(T); } - const T* data() const { return reinterpret_cast(bytes_builder_.data()); } - T* mutable_data() { return reinterpret_cast(bytes_builder_.mutable_data()); } - - private: - BufferBuilder bytes_builder_; -}; - -/// \brief A BufferBuilder for building a buffer containing a bitmap -template <> -class TypedBufferBuilder { - public: - explicit TypedBufferBuilder(MemoryPool* pool = default_memory_pool()) - : bytes_builder_(pool) {} - - Status Append(bool value) { - ARROW_RETURN_NOT_OK(Reserve(1)); - UnsafeAppend(value); - return Status::OK(); - } - - Status Append(const uint8_t* valid_bytes, int64_t num_elements) { - ARROW_RETURN_NOT_OK(Reserve(num_elements)); - UnsafeAppend(valid_bytes, num_elements); - return Status::OK(); - } - - Status Append(const int64_t num_copies, bool value) { - ARROW_RETURN_NOT_OK(Reserve(num_copies)); - UnsafeAppend(num_copies, value); - return Status::OK(); - } - - void UnsafeAppend(bool value) { - BitUtil::SetBitTo(mutable_data(), bit_length_, value); - if (!value) { - ++false_count_; - } - ++bit_length_; - } - - void UnsafeAppend(const uint8_t* bytes, int64_t num_elements) { - if (num_elements == 0) return; - int64_t i = 0; - internal::GenerateBitsUnrolled(mutable_data(), bit_length_, num_elements, [&] { - bool value = bytes[i++]; - false_count_ += !value; - return value; - }); - bit_length_ += num_elements; - } - - void UnsafeAppend(const int64_t num_copies, bool value) { - BitUtil::SetBitsTo(mutable_data(), bit_length_, num_copies, value); - false_count_ += num_copies * !value; - bit_length_ += num_copies; - } - - template - void UnsafeAppend(const int64_t num_elements, Generator&& gen) { - if (num_elements == 0) return; - - if (count_falses) { - internal::GenerateBitsUnrolled(mutable_data(), bit_length_, num_elements, [&] { - bool value = gen(); - false_count_ += !value; - return value; - }); - } else { - internal::GenerateBitsUnrolled(mutable_data(), bit_length_, num_elements, - std::forward(gen)); - } - bit_length_ += num_elements; - } - - Status Resize(const int64_t new_capacity, bool shrink_to_fit = true) { - const int64_t old_byte_capacity = bytes_builder_.capacity(); - ARROW_RETURN_NOT_OK( - bytes_builder_.Resize(BitUtil::BytesForBits(new_capacity), shrink_to_fit)); - // Resize() may have chosen a larger capacity (e.g. for padding), - // so ask it again before calling memset(). - const int64_t new_byte_capacity = bytes_builder_.capacity(); - if (new_byte_capacity > old_byte_capacity) { - // The additional buffer space is 0-initialized for convenience, - // so that other methods can simply bump the length. - memset(mutable_data() + old_byte_capacity, 0, - static_cast(new_byte_capacity - old_byte_capacity)); - } - return Status::OK(); - } - - Status Reserve(const int64_t additional_elements) { - return Resize( - BufferBuilder::GrowByFactor(bit_length_, bit_length_ + additional_elements), - false); - } - - Status Advance(const int64_t length) { - ARROW_RETURN_NOT_OK(Reserve(length)); - bit_length_ += length; - false_count_ += length; - return Status::OK(); - } - - Status Finish(std::shared_ptr* out, bool shrink_to_fit = true) { - // set bytes_builder_.size_ == byte size of data - bytes_builder_.UnsafeAdvance(BitUtil::BytesForBits(bit_length_) - - bytes_builder_.length()); - bit_length_ = false_count_ = 0; - return bytes_builder_.Finish(out, shrink_to_fit); - } - - void Reset() { - bytes_builder_.Reset(); - bit_length_ = false_count_ = 0; - } - - int64_t length() const { return bit_length_; } - int64_t capacity() const { return bytes_builder_.capacity() * 8; } - const uint8_t* data() const { return bytes_builder_.data(); } - uint8_t* mutable_data() { return bytes_builder_.mutable_data(); } - int64_t false_count() const { return false_count_; } - - private: - BufferBuilder bytes_builder_; - int64_t bit_length_ = 0; - int64_t false_count_ = 0; -}; - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/builder.h b/lib/parquet/src/src/arrow/builder.h deleted file mode 100644 index 3202312..0000000 --- a/lib/parquet/src/src/arrow/builder.h +++ /dev/null @@ -1,59 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include - -#include "arrow/array/builder_adaptive.h" // IWYU pragma: keep -#include "arrow/array/builder_base.h" // IWYU pragma: keep -#include "arrow/array/builder_binary.h" // IWYU pragma: keep -#include "arrow/array/builder_decimal.h" // IWYU pragma: keep -#include "arrow/array/builder_dict.h" // IWYU pragma: keep -#include "arrow/array/builder_nested.h" // IWYU pragma: keep -#include "arrow/array/builder_primitive.h" // IWYU pragma: keep -#include "arrow/array/builder_time.h" // IWYU pragma: keep -#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 an instance of DictionaryType -/// \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 an instance of DictionaryType -/// \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/lib/parquet/src/src/arrow/chunked_array.h b/lib/parquet/src/src/arrow/chunked_array.h deleted file mode 100644 index b1f8d6c..0000000 --- a/lib/parquet/src/src/arrow/chunked_array.h +++ /dev/null @@ -1,245 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include - -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type_fwd.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -class Array; -class DataType; -class MemoryPool; - -/// \class ChunkedArray -/// \brief A data structure managing a list of primitive Arrow arrays logically -/// as one large array -/// -/// Data chunking is treated throughout this project largely as an -/// implementation detail for performance and memory use optimization. -/// ChunkedArray allows Array objects to be collected and interpreted -/// as a single logical array without requiring an expensive concatenation -/// step. -/// -/// In some cases, data produced by a function may exceed the capacity of an -/// Array (like BinaryArray or StringArray) and so returning multiple Arrays is -/// the only possibility. In these cases, we recommend returning a ChunkedArray -/// instead of vector of Arrays or some alternative. -/// -/// When data is processed in parallel, it may not be practical or possible to -/// create large contiguous memory allocations and write output into them. With -/// some data types, like binary and string types, it is not possible at all to -/// produce non-chunked array outputs without requiring a concatenation step at -/// the end of processing. -/// -/// Application developers may tune chunk sizes based on analysis of -/// performance profiles but many developer-users will not need to be -/// especially concerned with the chunking details. -/// -/// Preserving the chunk layout/sizes in processing steps is generally not -/// considered to be a contract in APIs. A function may decide to alter the -/// chunking of its result. Similarly, APIs accepting multiple ChunkedArray -/// inputs should not expect the chunk layout to be the same in each input. -class ARROW_EXPORT ChunkedArray { - public: - /// \brief Construct a chunked array from a vector of arrays - /// - /// The vector must be non-empty and all its elements must have the same - /// data type. - explicit ChunkedArray(ArrayVector chunks); - - /// \brief Construct a chunked array from a single Array - explicit ChunkedArray(std::shared_ptr chunk) - : ChunkedArray(ArrayVector{std::move(chunk)}) {} - - /// \brief Construct a chunked array from a vector of arrays and a data type - /// - /// As the data type is passed explicitly, the vector may be empty. - ChunkedArray(ArrayVector chunks, std::shared_ptr type); - - // \brief Constructor with basic input validation. - static Result> Make( - ArrayVector chunks, std::shared_ptr type = NULLPTR); - - /// \return the total length of the chunked array; computed on construction - int64_t length() const { return length_; } - - /// \return the total number of nulls among all chunks - int64_t null_count() const { return null_count_; } - - int num_chunks() const { return static_cast(chunks_.size()); } - - /// \return chunk a particular chunk from the chunked array - std::shared_ptr chunk(int i) const { return chunks_[i]; } - - const ArrayVector& chunks() const { return chunks_; } - - /// \brief Construct a zero-copy slice of the chunked array with the - /// indicated offset and length - /// - /// \param[in] offset the position of the first element in the constructed - /// slice - /// \param[in] length the length of the slice. If there are not enough - /// elements in the chunked array, the length will be adjusted accordingly - /// - /// \return a new object wrapped in std::shared_ptr - std::shared_ptr Slice(int64_t offset, int64_t length) const; - - /// \brief Slice from offset until end of the chunked array - std::shared_ptr Slice(int64_t offset) const; - - /// \brief Flatten this chunked array as a vector of chunked arrays, one - /// for each struct field - /// - /// \param[in] pool The pool for buffer allocations, if any - Result>> Flatten( - MemoryPool* pool = default_memory_pool()) const; - - /// Construct a zero-copy view of this chunked array with the given - /// type. Calls Array::View on each constituent chunk. Always succeeds if - /// there are zero chunks - Result> View(const std::shared_ptr& type) const; - - std::shared_ptr type() const { return type_; } - - /// \brief Determine if two chunked arrays are equal. - /// - /// Two chunked arrays can be equal only if they have equal datatypes. - /// However, they may be equal even if they have different chunkings. - bool Equals(const ChunkedArray& other) const; - /// \brief Determine if two chunked arrays are equal. - bool Equals(const std::shared_ptr& other) const; - - /// \return PrettyPrint representation suitable for debugging - std::string ToString() const; - - /// \brief Perform cheap validation checks to determine obvious inconsistencies - /// within the chunk array's internal data. - /// - /// This is O(k*m) where k is the number of array descendents, - /// and m is the number of chunks. - /// - /// \return Status - Status Validate() const; - - /// \brief Perform extensive validation checks to determine inconsistencies - /// within the chunk array's internal data. - /// - /// This is O(k*n) where k is the number of array descendents, - /// and n is the length in elements. - /// - /// \return Status - Status ValidateFull() const; - - protected: - ArrayVector chunks_; - int64_t length_; - int64_t null_count_; - std::shared_ptr type_; - - private: - ARROW_DISALLOW_COPY_AND_ASSIGN(ChunkedArray); -}; - -namespace internal { - -/// \brief EXPERIMENTAL: Utility for incremental iteration over contiguous -/// pieces of potentially differently-chunked ChunkedArray objects -class ARROW_EXPORT MultipleChunkIterator { - public: - MultipleChunkIterator(const ChunkedArray& left, const ChunkedArray& right) - : left_(left), - right_(right), - pos_(0), - length_(left.length()), - chunk_idx_left_(0), - chunk_idx_right_(0), - chunk_pos_left_(0), - chunk_pos_right_(0) {} - - bool Next(std::shared_ptr* next_left, std::shared_ptr* next_right); - - int64_t position() const { return pos_; } - - private: - const ChunkedArray& left_; - const ChunkedArray& right_; - - // The amount of the entire ChunkedArray consumed - int64_t pos_; - - // Length of the chunked array(s) - int64_t length_; - - // Current left chunk - int chunk_idx_left_; - - // Current right chunk - int chunk_idx_right_; - - // Offset into the current left chunk - int64_t chunk_pos_left_; - - // Offset into the current right chunk - int64_t chunk_pos_right_; -}; - -/// \brief Evaluate binary function on two ChunkedArray objects having possibly -/// different chunk layouts. The passed binary function / functor should have -/// the following signature. -/// -/// Status(const Array&, const Array&, int64_t) -/// -/// The third argument is the absolute position relative to the start of each -/// ChunkedArray. The function is executed against each contiguous pair of -/// array segments, slicing if necessary. -/// -/// For example, if two arrays have chunk sizes -/// -/// left: [10, 10, 20] -/// right: [15, 10, 15] -/// -/// Then the following invocations take place (pseudocode) -/// -/// func(left.chunk[0][0:10], right.chunk[0][0:10], 0) -/// func(left.chunk[1][0:5], right.chunk[0][10:15], 10) -/// func(left.chunk[1][5:10], right.chunk[1][0:5], 15) -/// func(left.chunk[2][0:5], right.chunk[1][5:10], 20) -/// func(left.chunk[2][5:20], right.chunk[2][:], 25) -template -Status ApplyBinaryChunked(const ChunkedArray& left, const ChunkedArray& right, - Action&& action) { - MultipleChunkIterator iterator(left, right); - std::shared_ptr left_piece, right_piece; - while (iterator.Next(&left_piece, &right_piece)) { - ARROW_RETURN_NOT_OK(action(*left_piece, *right_piece, iterator.position())); - } - return Status::OK(); -} - -} // namespace internal -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compare.h b/lib/parquet/src/src/arrow/compare.h deleted file mode 100644 index abcf39a..0000000 --- a/lib/parquet/src/src/arrow/compare.h +++ /dev/null @@ -1,116 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Functions for comparing Arrow data structures - -#pragma once - -#include -#include - -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -class Array; -class DataType; -class Tensor; -class SparseTensor; -struct Scalar; - -static constexpr double kDefaultAbsoluteTolerance = 1E-5; - -/// A container of options for equality comparisons -class EqualOptions { - public: - /// Whether or not NaNs are considered equal. - bool nans_equal() const { return nans_equal_; } - - /// Return a new EqualOptions object with the "nans_equal" property changed. - EqualOptions nans_equal(bool v) const { - auto res = EqualOptions(*this); - res.nans_equal_ = v; - return res; - } - - /// The absolute tolerance for approximate comparisons of floating-point values. - double atol() const { return atol_; } - - /// Return a new EqualOptions object with the "atol" property changed. - EqualOptions atol(double v) const { - auto res = EqualOptions(*this); - res.atol_ = v; - return res; - } - - /// The ostream to which a diff will be formatted if arrays disagree. - /// If this is null (the default) no diff will be formatted. - std::ostream* diff_sink() const { return diff_sink_; } - - /// Return a new EqualOptions object with the "diff_sink" property changed. - /// This option will be ignored if diff formatting of the types of compared arrays is - /// not supported. - EqualOptions diff_sink(std::ostream* diff_sink) const { - auto res = EqualOptions(*this); - res.diff_sink_ = diff_sink; - return res; - } - - static EqualOptions Defaults() { return EqualOptions(); } - - protected: - double atol_ = kDefaultAbsoluteTolerance; - bool nans_equal_ = false; - std::ostream* diff_sink_ = NULLPTR; -}; - -/// Returns true if the arrays are exactly equal -bool ARROW_EXPORT ArrayEquals(const Array& left, const Array& right, - const EqualOptions& = EqualOptions::Defaults()); - -bool ARROW_EXPORT TensorEquals(const Tensor& left, const Tensor& right, - const EqualOptions& = EqualOptions::Defaults()); - -/// EXPERIMENTAL: Returns true if the given sparse tensors are exactly equal -bool ARROW_EXPORT SparseTensorEquals(const SparseTensor& left, const SparseTensor& right, - const EqualOptions& = EqualOptions::Defaults()); - -/// Returns true if the arrays are approximately equal. For non-floating point -/// types, this is equivalent to ArrayEquals(left, right) -bool ARROW_EXPORT ArrayApproxEquals(const Array& left, const Array& right, - const EqualOptions& = EqualOptions::Defaults()); - -/// Returns true if indicated equal-length segment of arrays is exactly equal -bool ARROW_EXPORT ArrayRangeEquals(const Array& left, const Array& right, - int64_t start_idx, int64_t end_idx, - int64_t other_start_idx); - -/// Returns true if the type metadata are exactly equal -/// \param[in] left a DataType -/// \param[in] right a DataType -/// \param[in] check_metadata whether to compare KeyValueMetadata for child -/// fields -bool ARROW_EXPORT TypeEquals(const DataType& left, const DataType& right, - bool check_metadata = true); - -/// Returns true if scalars are equal -/// \param[in] left a Scalar -/// \param[in] right a Scalar -bool ARROW_EXPORT ScalarEquals(const Scalar& left, const Scalar& right); - -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/api.h b/lib/parquet/src/src/arrow/compute/api.h deleted file mode 100644 index a890cd3..0000000 --- a/lib/parquet/src/src/arrow/compute/api.h +++ /dev/null @@ -1,35 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// NOTE: API is EXPERIMENTAL and will change without going through a -// deprecation cycle - -#pragma once - -/// \defgroup compute-concrete-options Concrete option classes for compute functions -/// @{ -/// @} - -#include "arrow/compute/api_aggregate.h" // IWYU pragma: export -#include "arrow/compute/api_scalar.h" // IWYU pragma: export -#include "arrow/compute/api_vector.h" // IWYU pragma: export -#include "arrow/compute/cast.h" // IWYU pragma: export -#include "arrow/compute/exec.h" // IWYU pragma: export -#include "arrow/compute/function.h" // IWYU pragma: export -#include "arrow/compute/kernel.h" // IWYU pragma: export -#include "arrow/compute/registry.h" // IWYU pragma: export -#include "arrow/datum.h" // IWYU pragma: export diff --git a/lib/parquet/src/src/arrow/compute/api_aggregate.cc b/lib/parquet/src/src/arrow/compute/api_aggregate.cc deleted file mode 100644 index 95e859e..0000000 --- a/lib/parquet/src/src/arrow/compute/api_aggregate.cc +++ /dev/null @@ -1,45 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/compute/api_aggregate.h" - -#include "arrow/compute/exec.h" - -namespace arrow { -namespace compute { - -// ---------------------------------------------------------------------- -// Scalar aggregates - -Result Count(const Datum& value, CountOptions options, ExecContext* ctx) { - return CallFunction("count", {value}, &options, ctx); -} - -Result Mean(const Datum& value, ExecContext* ctx) { - return CallFunction("mean", {value}, ctx); -} - -Result Sum(const Datum& value, ExecContext* ctx) { - return CallFunction("sum", {value}, ctx); -} - -Result MinMax(const Datum& value, const MinMaxOptions& options, ExecContext* ctx) { - return CallFunction("min_max", {value}, &options, ctx); -} - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/api_aggregate.h b/lib/parquet/src/src/arrow/compute/api_aggregate.h deleted file mode 100644 index 72b3108..0000000 --- a/lib/parquet/src/src/arrow/compute/api_aggregate.h +++ /dev/null @@ -1,151 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Eager evaluation convenience APIs for invoking common functions, including -// necessary memory allocations - -#pragma once - -#include "arrow/compute/function.h" -#include "arrow/datum.h" -#include "arrow/result.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -class Array; - -namespace compute { - -class ExecContext; - -// ---------------------------------------------------------------------- -// Aggregate functions - -/// \addtogroup compute-concrete-options -/// @{ - -/// \brief Control Count kernel behavior -/// -/// By default, all non-null values are counted. -struct ARROW_EXPORT CountOptions : public FunctionOptions { - enum Mode { - /// Count all non-null values. - COUNT_NON_NULL = 0, - /// Count all null values. - COUNT_NULL, - }; - - explicit CountOptions(enum Mode count_mode) : count_mode(count_mode) {} - - static CountOptions Defaults() { return CountOptions(COUNT_NON_NULL); } - - enum Mode count_mode = COUNT_NON_NULL; -}; - -/// \brief Control MinMax kernel behavior -/// -/// By default, null values are ignored -struct ARROW_EXPORT MinMaxOptions : public FunctionOptions { - enum Mode { - /// Skip null values - SKIP = 0, - /// Any nulls will result in null output - OUTPUT_NULL - }; - - explicit MinMaxOptions(enum Mode null_handling = SKIP) : null_handling(null_handling) {} - - static MinMaxOptions Defaults() { return MinMaxOptions{}; } - - enum Mode null_handling = SKIP; -}; - -/// @} - -/// \brief Count non-null (or null) values in an array. -/// -/// \param[in] options counting options, see CountOptions for more information -/// \param[in] datum to count -/// \param[in] ctx the function execution context, optional -/// \return out resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Count(const Datum& datum, CountOptions options = CountOptions::Defaults(), - ExecContext* ctx = NULLPTR); - -/// \brief Compute the mean of a numeric array. -/// -/// \param[in] value datum to compute the mean, expecting Array -/// \param[in] ctx the function execution context, optional -/// \return datum of the computed mean as a DoubleScalar -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Mean(const Datum& value, ExecContext* ctx = NULLPTR); - -/// \brief Sum values of a numeric array. -/// -/// \param[in] value datum to sum, expecting Array or ChunkedArray -/// \param[in] ctx the function execution context, optional -/// \return datum of the computed sum as a Scalar -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Sum(const Datum& value, ExecContext* ctx = NULLPTR); - -/// \brief Calculate the min / max of a numeric array -/// -/// This function returns both the min and max as a struct scalar, with type -/// struct, where T is ht einput type -/// -/// \param[in] value input datum, expecting Array or ChunkedArray -/// \param[in] options see MinMaxOptions for more information -/// \param[in] ctx the function execution context, optional -/// \return resulting datum as a struct scalar -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result MinMax(const Datum& value, - const MinMaxOptions& options = MinMaxOptions::Defaults(), - ExecContext* ctx = NULLPTR); - -/// \brief Calculate the min / max of a numeric array. -/// -/// This function returns both the min and max as a collection. The resulting -/// datum thus consists of two scalar datums: {Datum(min), Datum(max)} -/// -/// \param[in] array input array -/// \param[in] options see MinMaxOptions for more information -/// \param[in] ctx the function execution context, optional -/// \return resulting datum containing a {min, max} collection -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result MinMax(const Array& array, - const MinMaxOptions& options = MinMaxOptions::Defaults(), - ExecContext* ctx = NULLPTR); - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/api_scalar.cc b/lib/parquet/src/src/arrow/compute/api_scalar.cc deleted file mode 100644 index 9a91103..0000000 --- a/lib/parquet/src/src/arrow/compute/api_scalar.cc +++ /dev/null @@ -1,134 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/compute/api_scalar.h" - -#include -#include -#include - -#include "arrow/compute/exec.h" -#include "arrow/status.h" -#include "arrow/type.h" - -namespace arrow { -namespace compute { - -#define SCALAR_EAGER_UNARY(NAME, REGISTRY_NAME) \ - Result NAME(const Datum& value, ExecContext* ctx) { \ - return CallFunction(REGISTRY_NAME, {value}, ctx); \ - } - -#define SCALAR_EAGER_BINARY(NAME, REGISTRY_NAME) \ - Result NAME(const Datum& left, const Datum& right, ExecContext* ctx) { \ - return CallFunction(REGISTRY_NAME, {left, right}, ctx); \ - } - -// ---------------------------------------------------------------------- -// Arithmetic - -#define SCALAR_ARITHMETIC_BINARY(NAME, REGISTRY_NAME, REGISTRY_CHECKED_NAME) \ - Result NAME(const Datum& left, const Datum& right, ArithmeticOptions options, \ - ExecContext* ctx) { \ - auto func_name = (options.check_overflow) ? REGISTRY_CHECKED_NAME : REGISTRY_NAME; \ - return CallFunction(func_name, {left, right}, ctx); \ - } - -SCALAR_ARITHMETIC_BINARY(Add, "add", "add_checked") -SCALAR_ARITHMETIC_BINARY(Subtract, "subtract", "subtract_checked") -SCALAR_ARITHMETIC_BINARY(Multiply, "multiply", "multiply_checked") - -// ---------------------------------------------------------------------- -// Set-related operations - -static Result ExecSetLookup(const std::string& func_name, const Datum& data, - const Datum& value_set, bool add_nulls_to_hash_table, - ExecContext* ctx) { - if (!value_set.is_arraylike()) { - return Status::Invalid("Set lookup value set must be Array or ChunkedArray"); - } - - if (value_set.length() > 0 && !data.type()->Equals(value_set.type())) { - std::stringstream ss; - ss << "Array type didn't match type of values set: " << data.type()->ToString() - << " vs " << value_set.type()->ToString(); - return Status::Invalid(ss.str()); - } - SetLookupOptions options(value_set, !add_nulls_to_hash_table); - return CallFunction(func_name, {data}, &options, ctx); -} - -Result IsIn(const Datum& values, const Datum& value_set, ExecContext* ctx) { - return ExecSetLookup("is_in", values, value_set, - /*add_nulls_to_hash_table=*/false, ctx); -} - -Result IndexIn(const Datum& values, const Datum& value_set, ExecContext* ctx) { - return ExecSetLookup("index_in", values, value_set, - /*add_nulls_to_hash_table=*/true, ctx); -} - -// ---------------------------------------------------------------------- -// Boolean functions - -SCALAR_EAGER_UNARY(Invert, "invert") -SCALAR_EAGER_BINARY(And, "and") -SCALAR_EAGER_BINARY(KleeneAnd, "and_kleene") -SCALAR_EAGER_BINARY(Or, "or") -SCALAR_EAGER_BINARY(KleeneOr, "or_kleene") -SCALAR_EAGER_BINARY(Xor, "xor") - -// ---------------------------------------------------------------------- - -Result Compare(const Datum& left, const Datum& right, CompareOptions options, - ExecContext* ctx) { - std::string func_name; - switch (options.op) { - case CompareOperator::EQUAL: - func_name = "equal"; - break; - case CompareOperator::NOT_EQUAL: - func_name = "not_equal"; - break; - case CompareOperator::GREATER: - func_name = "greater"; - break; - case CompareOperator::GREATER_EQUAL: - func_name = "greater_equal"; - break; - case CompareOperator::LESS: - func_name = "less"; - break; - case CompareOperator::LESS_EQUAL: - func_name = "less_equal"; - break; - } - return CallFunction(func_name, {left, right}, &options, ctx); -} - -// ---------------------------------------------------------------------- -// Validity functions - -SCALAR_EAGER_UNARY(IsValid, "is_valid") -SCALAR_EAGER_UNARY(IsNull, "is_null") - -Result FillNull(const Datum& values, const Datum& fill_value, ExecContext* ctx) { - return CallFunction("fill_null", {values, fill_value}, ctx); -} - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/api_scalar.h b/lib/parquet/src/src/arrow/compute/api_scalar.h deleted file mode 100644 index 80e3ebb..0000000 --- a/lib/parquet/src/src/arrow/compute/api_scalar.h +++ /dev/null @@ -1,304 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// Eager evaluation convenience APIs for invoking common functions, including -// necessary memory allocations - -#pragma once - -#include -#include - -#include "arrow/compute/exec.h" // IWYU pragma: keep -#include "arrow/compute/function.h" -#include "arrow/datum.h" -#include "arrow/result.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { -namespace compute { - -/// \addtogroup compute-concrete-options -/// -/// @{ - -struct ArithmeticOptions : public FunctionOptions { - ArithmeticOptions() : check_overflow(false) {} - bool check_overflow; -}; - -struct ARROW_EXPORT MatchSubstringOptions : public FunctionOptions { - explicit MatchSubstringOptions(std::string pattern) : pattern(std::move(pattern)) {} - - /// The exact substring to look for inside input values. - std::string pattern; -}; - -/// Options for IsIn and IndexIn functions -struct ARROW_EXPORT SetLookupOptions : public FunctionOptions { - explicit SetLookupOptions(Datum value_set, bool skip_nulls) - : value_set(std::move(value_set)), skip_nulls(skip_nulls) {} - - /// The set of values to look up input values into. - Datum value_set; - /// Whether nulls in `value_set` count for lookup. - /// - /// If true, any null in `value_set` is ignored and nulls in the input - /// produce null (IndexIn) or false (IsIn) values in the output. - /// If false, any null in `value_set` is successfully matched in - /// the input. - bool skip_nulls; -}; - -struct ARROW_EXPORT StrptimeOptions : public FunctionOptions { - explicit StrptimeOptions(std::string format, TimeUnit::type unit) - : format(format), unit(unit) {} - - std::string format; - TimeUnit::type unit; -}; - -enum CompareOperator : int8_t { - EQUAL, - NOT_EQUAL, - GREATER, - GREATER_EQUAL, - LESS, - LESS_EQUAL, -}; - -struct CompareOptions : public FunctionOptions { - explicit CompareOptions(CompareOperator op) : op(op) {} - - enum CompareOperator op; -}; - -/// @} - -/// \brief Add two values together. Array values must be the same length. If -/// either addend is null the result will be null. -/// -/// \param[in] left the first addend -/// \param[in] right the second addend -/// \param[in] options arithmetic options (overflow handling), optional -/// \param[in] ctx the function execution context, optional -/// \return the elementwise sum -ARROW_EXPORT -Result Add(const Datum& left, const Datum& right, - ArithmeticOptions options = ArithmeticOptions(), - ExecContext* ctx = NULLPTR); - -/// \brief Subtract two values. Array values must be the same length. If the -/// minuend or subtrahend is null the result will be null. -/// -/// \param[in] left the value subtracted from (minuend) -/// \param[in] right the value by which the minuend is reduced (subtrahend) -/// \param[in] options arithmetic options (overflow handling), optional -/// \param[in] ctx the function execution context, optional -/// \return the elementwise difference -ARROW_EXPORT -Result Subtract(const Datum& left, const Datum& right, - ArithmeticOptions options = ArithmeticOptions(), - ExecContext* ctx = NULLPTR); - -/// \brief Multiply two values. Array values must be the same length. If either -/// factor is null the result will be null. -/// -/// \param[in] left the first factor -/// \param[in] right the second factor -/// \param[in] options arithmetic options (overflow handling), optional -/// \param[in] ctx the function execution context, optional -/// \return the elementwise product -ARROW_EXPORT -Result Multiply(const Datum& left, const Datum& right, - ArithmeticOptions options = ArithmeticOptions(), - ExecContext* ctx = NULLPTR); - -/// \brief Compare a numeric array with a scalar. -/// -/// \param[in] left datum to compare, must be an Array -/// \param[in] right datum to compare, must be a Scalar of the same type than -/// left Datum. -/// \param[in] options compare options -/// \param[in] ctx the function execution context, optional -/// \return resulting datum -/// -/// Note on floating point arrays, this uses ieee-754 compare semantics. -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Compare(const Datum& left, const Datum& right, - struct CompareOptions options, ExecContext* ctx = NULLPTR); - -/// \brief Invert the values of a boolean datum -/// \param[in] value datum to invert -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Invert(const Datum& value, ExecContext* ctx = NULLPTR); - -/// \brief Element-wise AND of two boolean datums which always propagates nulls -/// (null and false is null). -/// -/// \param[in] left left operand (array) -/// \param[in] right right operand (array) -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result And(const Datum& left, const Datum& right, ExecContext* ctx = NULLPTR); - -/// \brief Element-wise AND of two boolean datums with a Kleene truth table -/// (null and false is false). -/// -/// \param[in] left left operand (array) -/// \param[in] right right operand (array) -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result KleeneAnd(const Datum& left, const Datum& right, - ExecContext* ctx = NULLPTR); - -/// \brief Element-wise OR of two boolean datums which always propagates nulls -/// (null and true is null). -/// -/// \param[in] left left operand (array) -/// \param[in] right right operand (array) -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Or(const Datum& left, const Datum& right, ExecContext* ctx = NULLPTR); - -/// \brief Element-wise OR of two boolean datums with a Kleene truth table -/// (null or true is true). -/// -/// \param[in] left left operand (array) -/// \param[in] right right operand (array) -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result KleeneOr(const Datum& left, const Datum& right, ExecContext* ctx = NULLPTR); - -/// \brief Element-wise XOR of two boolean datums -/// \param[in] left left operand (array) -/// \param[in] right right operand (array) -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Xor(const Datum& left, const Datum& right, ExecContext* ctx = NULLPTR); - -/// \brief IsIn returns true for each element of `values` that is contained in -/// `value_set` -/// -/// If null occurs in left, if null count in right is not 0, -/// it returns true, else returns null. -/// -/// \param[in] values array-like input to look up in value_set -/// \param[in] value_set either Array or ChunkedArray -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result IsIn(const Datum& values, const Datum& value_set, - ExecContext* ctx = NULLPTR); - -/// \brief IndexIn examines each slot in the values against a value_set array. -/// If the value is not found in value_set, null will be output. -/// If found, the index of occurrence within value_set (ignoring duplicates) -/// will be output. -/// -/// For example given values = [99, 42, 3, null] and -/// value_set = [3, 3, 99], the output will be = [1, null, 0, null] -/// -/// Note: Null in the values is considered to match -/// a null in the value_set array. For example given -/// values = [99, 42, 3, null] and value_set = [3, 99, null], -/// the output will be = [1, null, 0, 2] -/// -/// \param[in] values array-like input -/// \param[in] value_set either Array or ChunkedArray -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result IndexIn(const Datum& values, const Datum& value_set, - ExecContext* ctx = NULLPTR); - -/// \brief IsValid returns true for each element of `values` that is not null, -/// false otherwise -/// -/// \param[in] values input to examine for validity -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result IsValid(const Datum& values, ExecContext* ctx = NULLPTR); - -/// \brief IsNull returns true for each element of `values` that is null, -/// false otherwise -/// -/// \param[in] values input to examine for nullity -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result IsNull(const Datum& values, ExecContext* ctx = NULLPTR); - -/// \brief FillNull replaces each null element in `values` -/// with `fill_value` -/// -/// \param[in] values input to examine for nullity -/// \param[in] fill_value scalar -/// \param[in] ctx the function execution context, optional -/// -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result FillNull(const Datum& values, const Datum& fill_value, - ExecContext* ctx = NULLPTR); - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/api_vector.cc b/lib/parquet/src/src/arrow/compute/api_vector.cc deleted file mode 100644 index 9a36714..0000000 --- a/lib/parquet/src/src/arrow/compute/api_vector.cc +++ /dev/null @@ -1,134 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#include "arrow/compute/api_vector.h" - -#include -#include -#include - -#include "arrow/array/builder_primitive.h" -#include "arrow/compute/exec.h" -#include "arrow/datum.h" -#include "arrow/record_batch.h" -#include "arrow/result.h" - -namespace arrow { -namespace compute { - -// ---------------------------------------------------------------------- -// Direct exec interface to kernels - -Result> NthToIndices(const Array& values, int64_t n, - ExecContext* ctx) { - PartitionNthOptions options(/*pivot=*/n); - ARROW_ASSIGN_OR_RAISE(Datum result, CallFunction("partition_nth_indices", - {Datum(values)}, &options, ctx)); - return result.make_array(); -} - -Result> SortToIndices(const Array& values, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, CallFunction("sort_indices", {Datum(values)}, ctx)); - return result.make_array(); -} - -Result> Unique(const Datum& value, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, CallFunction("unique", {value}, ctx)); - return result.make_array(); -} - -Result DictionaryEncode(const Datum& value, ExecContext* ctx) { - return CallFunction("dictionary_encode", {value}, ctx); -} - -const char kValuesFieldName[] = "values"; -const char kCountsFieldName[] = "counts"; -const int32_t kValuesFieldIndex = 0; -const int32_t kCountsFieldIndex = 1; - -Result> ValueCounts(const Datum& value, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, CallFunction("value_counts", {value}, ctx)); - return result.make_array(); -} - -// ---------------------------------------------------------------------- -// Filter- and take-related selection functions - -Result Filter(const Datum& values, const Datum& filter, - const FilterOptions& options, ExecContext* ctx) { - // Invoke metafunction which deals with Datum kinds other than just Array, - // ChunkedArray. - return CallFunction("filter", {values, filter}, &options, ctx); -} - -Result Take(const Datum& values, const Datum& filter, const TakeOptions& options, - ExecContext* ctx) { - // Invoke metafunction which deals with Datum kinds other than just Array, - // ChunkedArray. - return CallFunction("take", {values, filter}, &options, ctx); -} - -Result> Take(const Array& values, const Array& indices, - const TakeOptions& options, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum out, Take(Datum(values), Datum(indices), options, ctx)); - return out.make_array(); -} - -// ---------------------------------------------------------------------- -// Deprecated functions - -Result> Take(const ChunkedArray& values, - const Array& indices, - const TakeOptions& options, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, Take(Datum(values), Datum(indices), options, ctx)); - return result.chunked_array(); -} - -Result> Take(const ChunkedArray& values, - const ChunkedArray& indices, - const TakeOptions& options, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, Take(Datum(values), Datum(indices), options, ctx)); - return result.chunked_array(); -} - -Result> Take(const Array& values, - const ChunkedArray& indices, - const TakeOptions& options, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, Take(Datum(values), Datum(indices), options, ctx)); - return result.chunked_array(); -} - -Result> Take(const RecordBatch& batch, const Array& indices, - const TakeOptions& options, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, Take(Datum(batch), Datum(indices), options, ctx)); - return result.record_batch(); -} - -Result> Take(const Table& table, const Array& indices, - const TakeOptions& options, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, Take(Datum(table), Datum(indices), options, ctx)); - return result.table(); -} - -Result> Take(const Table& table, const ChunkedArray& indices, - const TakeOptions& options, ExecContext* ctx) { - ARROW_ASSIGN_OR_RAISE(Datum result, Take(Datum(table), Datum(indices), options, ctx)); - return result.table(); -} - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/api_vector.h b/lib/parquet/src/src/arrow/compute/api_vector.h deleted file mode 100644 index 3aa3434..0000000 --- a/lib/parquet/src/src/arrow/compute/api_vector.h +++ /dev/null @@ -1,258 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include - -#include "arrow/compute/function.h" -#include "arrow/datum.h" -#include "arrow/result.h" -#include "arrow/type_fwd.h" - -namespace arrow { -namespace compute { - -class ExecContext; - -/// \addtogroup compute-concrete-options -/// @{ - -struct FilterOptions : public FunctionOptions { - /// Configure the action taken when a slot of the selection mask is null - enum NullSelectionBehavior { - /// the corresponding filtered value will be removed in the output - DROP, - /// the corresponding filtered value will be null in the output - EMIT_NULL, - }; - - explicit FilterOptions(NullSelectionBehavior null_selection = DROP) - : null_selection_behavior(null_selection) {} - - static FilterOptions Defaults() { return FilterOptions(); } - - NullSelectionBehavior null_selection_behavior = DROP; -}; - -struct ARROW_EXPORT TakeOptions : public FunctionOptions { - explicit TakeOptions(bool boundscheck = true) : boundscheck(boundscheck) {} - - bool boundscheck = true; - static TakeOptions BoundsCheck() { return TakeOptions(true); } - static TakeOptions NoBoundsCheck() { return TakeOptions(false); } - static TakeOptions Defaults() { return BoundsCheck(); } -}; - -/// \brief Partitioning options for NthToIndices -struct PartitionNthOptions : public FunctionOptions { - explicit PartitionNthOptions(int64_t pivot) : pivot(pivot) {} - - /// The index into the equivalent sorted array of the partition pivot element. - int64_t pivot; -}; - -/// @} - -/// \brief Filter with a boolean selection filter -/// -/// The output will be populated with values from the input at positions -/// where the selection filter is not 0. Nulls in the filter will be handled -/// based on options.null_selection_behavior. -/// -/// For example given values = ["a", "b", "c", null, "e", "f"] and -/// filter = [0, 1, 1, 0, null, 1], the output will be -/// (null_selection_behavior == DROP) = ["b", "c", "f"] -/// (null_selection_behavior == EMIT_NULL) = ["b", "c", null, "f"] -/// -/// \param[in] values array to filter -/// \param[in] filter indicates which values should be filtered out -/// \param[in] options configures null_selection_behavior -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -ARROW_EXPORT -Result Filter(const Datum& values, const Datum& filter, - const FilterOptions& options = FilterOptions::Defaults(), - ExecContext* ctx = NULLPTR); - -namespace internal { - -// These internal functions are implemented in kernels/vector_selection.cc - -/// \brief Return the number of selected indices in the boolean filter -ARROW_EXPORT -int64_t GetFilterOutputSize(const ArrayData& filter, - FilterOptions::NullSelectionBehavior null_selection); - -/// \brief Compute uint64 selection indices for use with Take given a boolean -/// filter -ARROW_EXPORT -Result> GetTakeIndices( - const ArrayData& filter, FilterOptions::NullSelectionBehavior null_selection, - MemoryPool* memory_pool = default_memory_pool()); - -} // namespace internal - -/// \brief Take from an array of values at indices in another array -/// -/// The output array will be of the same type as the input values -/// array, with elements taken from the values array at the given -/// indices. If an index is null then the taken element will be null. -/// -/// For example given values = ["a", "b", "c", null, "e", "f"] and -/// indices = [2, 1, null, 3], the output will be -/// = [values[2], values[1], null, values[3]] -/// = ["c", "b", null, null] -/// -/// \param[in] values datum from which to take -/// \param[in] indices which values to take -/// \param[in] options options -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -ARROW_EXPORT -Result Take(const Datum& values, const Datum& indices, - const TakeOptions& options = TakeOptions::Defaults(), - ExecContext* ctx = NULLPTR); - -/// \brief Take with Array inputs and output -ARROW_EXPORT -Result> Take(const Array& values, const Array& indices, - const TakeOptions& options = TakeOptions::Defaults(), - ExecContext* ctx = NULLPTR); - -/// \brief Returns indices that partition an array around n-th -/// sorted element. -/// -/// Find index of n-th(0 based) smallest value and perform indirect -/// partition of an array around that element. Output indices[0 ~ n-1] -/// holds values no greater than n-th element, and indices[n+1 ~ end] -/// holds values no less than n-th element. Elements in each partition -/// is not sorted. Nulls will be partitioned to the end of the output. -/// Output is not guaranteed to be stable. -/// -/// \param[in] values array to be partitioned -/// \param[in] n pivot array around sorted n-th element -/// \param[in] ctx the function execution context, optional -/// \return offsets indices that would partition an array -ARROW_EXPORT -Result> NthToIndices(const Array& values, int64_t n, - ExecContext* ctx = NULLPTR); - -/// \brief Returns the indices that would sort an array. -/// -/// Perform an indirect sort of array. The output array will contain -/// indices that would sort an array, which would be the same length -/// as input. Nulls will be stably partitioned to the end of the output. -/// -/// For example given values = [null, 1, 3.3, null, 2, 5.3], the output -/// will be [1, 4, 2, 5, 0, 3] -/// -/// \param[in] values array to sort -/// \param[in] ctx the function execution context, optional -/// \return offsets indices that would sort an array -ARROW_EXPORT -Result> SortToIndices(const Array& values, - ExecContext* ctx = NULLPTR); - -/// \brief Compute unique elements from an array-like object -/// -/// Note if a null occurs in the input it will NOT be included in the output. -/// -/// \param[in] datum array-like input -/// \param[in] ctx the function execution context, optional -/// \return result as Array -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result> Unique(const Datum& datum, ExecContext* ctx = NULLPTR); - -// Constants for accessing the output of ValueCounts -ARROW_EXPORT extern const char kValuesFieldName[]; -ARROW_EXPORT extern const char kCountsFieldName[]; -ARROW_EXPORT extern const int32_t kValuesFieldIndex; -ARROW_EXPORT extern const int32_t kCountsFieldIndex; - -/// \brief Return counts of unique elements from an array-like object. -/// -/// Note that the counts do not include counts for nulls in the array. These can be -/// obtained separately from metadata. -/// -/// For floating point arrays there is no attempt to normalize -0.0, 0.0 and NaN values -/// which can lead to unexpected results if the input Array has these values. -/// -/// \param[in] value array-like input -/// \param[in] ctx the function execution context, optional -/// \return counts An array of structs. -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result> ValueCounts(const Datum& value, - ExecContext* ctx = NULLPTR); - -/// \brief Dictionary-encode values in an array-like object -/// \param[in] data array-like input -/// \param[in] ctx the function execution context, optional -/// \return result with same shape and type as input -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result DictionaryEncode(const Datum& data, ExecContext* ctx = NULLPTR); - -// ---------------------------------------------------------------------- -// Deprecated functions - -ARROW_DEPRECATED("Deprecated in 1.0.0. Use Datum-based version") -ARROW_EXPORT -Result> Take( - const ChunkedArray& values, const Array& indices, - const TakeOptions& options = TakeOptions::Defaults(), ExecContext* context = NULLPTR); - -ARROW_DEPRECATED("Deprecated in 1.0.0. Use Datum-based version") -ARROW_EXPORT -Result> Take( - const ChunkedArray& values, const ChunkedArray& indices, - const TakeOptions& options = TakeOptions::Defaults(), ExecContext* context = NULLPTR); - -ARROW_DEPRECATED("Deprecated in 1.0.0. Use Datum-based version") -ARROW_EXPORT -Result> Take( - const Array& values, const ChunkedArray& indices, - const TakeOptions& options = TakeOptions::Defaults(), ExecContext* context = NULLPTR); - -ARROW_DEPRECATED("Deprecated in 1.0.0. Use Datum-based version") -ARROW_EXPORT -Result> Take( - const RecordBatch& batch, const Array& indices, - const TakeOptions& options = TakeOptions::Defaults(), ExecContext* context = NULLPTR); - -ARROW_DEPRECATED("Deprecated in 1.0.0. Use Datum-based version") -ARROW_EXPORT -Result> Take(const Table& table, const Array& indices, - const TakeOptions& options = TakeOptions::Defaults(), - ExecContext* context = NULLPTR); - -ARROW_DEPRECATED("Deprecated in 1.0.0. Use Datum-based version") -ARROW_EXPORT -Result> Take(const Table& table, const ChunkedArray& indices, - const TakeOptions& options = TakeOptions::Defaults(), - ExecContext* context = NULLPTR); - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/cast.h b/lib/parquet/src/src/arrow/compute/cast.h deleted file mode 100644 index 82dd357..0000000 --- a/lib/parquet/src/src/arrow/compute/cast.h +++ /dev/null @@ -1,161 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include - -#include "arrow/compute/function.h" -#include "arrow/compute/kernel.h" -#include "arrow/datum.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { - -class Array; - -namespace compute { - -class ExecContext; - -/// \addtogroup compute-concrete-options -/// @{ - -struct ARROW_EXPORT CastOptions : public FunctionOptions { - CastOptions() - : allow_int_overflow(false), - allow_time_truncate(false), - allow_time_overflow(false), - allow_decimal_truncate(false), - allow_float_truncate(false), - allow_invalid_utf8(false) {} - - explicit CastOptions(bool safe) - : allow_int_overflow(!safe), - allow_time_truncate(!safe), - allow_time_overflow(!safe), - allow_decimal_truncate(!safe), - allow_float_truncate(!safe), - allow_invalid_utf8(!safe) {} - - static CastOptions Safe() { return CastOptions(true); } - - static CastOptions Unsafe() { return CastOptions(false); } - - // Type being casted to. May be passed separate to eager function - // compute::Cast - std::shared_ptr to_type; - - bool allow_int_overflow; - bool allow_time_truncate; - bool allow_time_overflow; - bool allow_decimal_truncate; - bool allow_float_truncate; - // Indicate if conversions from Binary/FixedSizeBinary to string must - // validate the utf8 payload. - bool allow_invalid_utf8; -}; - -/// @} - -// Cast functions are _not_ registered in the FunctionRegistry, though they use -// the same execution machinery -class CastFunction : public ScalarFunction { - public: - CastFunction(std::string name, Type::type out_type); - ~CastFunction(); - - Type::type out_type_id() const; - - Status AddKernel(Type::type in_type_id, std::vector in_types, - OutputType out_type, ArrayKernelExec exec, - NullHandling::type = NullHandling::INTERSECTION, - MemAllocation::type = MemAllocation::PREALLOCATE); - - // Note, this function toggles off memory allocation and sets the init - // function to CastInit - Status AddKernel(Type::type in_type_id, ScalarKernel kernel); - - bool CanCastTo(const DataType& out_type) const; - - Result DispatchExact( - const std::vector& values) const override; - - private: - struct CastFunctionImpl; - std::unique_ptr impl_; -}; - -ARROW_EXPORT -Result> GetCastFunction( - const std::shared_ptr& to_type); - -/// \brief Return true if a cast function is defined -ARROW_EXPORT -bool CanCast(const DataType& from_type, const DataType& to_type); - -// ---------------------------------------------------------------------- -// Convenience invocation APIs for a number of kernels - -/// \brief Cast from one array type to another -/// \param[in] value array to cast -/// \param[in] to_type type to cast to -/// \param[in] options casting options -/// \param[in] ctx the function execution context, optional -/// \return the resulting array -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result> Cast(const Array& value, std::shared_ptr to_type, - const CastOptions& options = CastOptions::Safe(), - ExecContext* ctx = NULLPTR); - -/// \brief Cast from one array type to another -/// \param[in] value array to cast -/// \param[in] options casting options. The "to_type" field must be populated -/// \param[in] ctx the function execution context, optional -/// \return the resulting array -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Cast(const Datum& value, const CastOptions& options, - ExecContext* ctx = NULLPTR); - -/// \brief Cast from one value to another -/// \param[in] value datum to cast -/// \param[in] to_type type to cast to -/// \param[in] options casting options -/// \param[in] ctx the function execution context, optional -/// \return the resulting datum -/// -/// \since 1.0.0 -/// \note API not yet finalized -ARROW_EXPORT -Result Cast(const Datum& value, std::shared_ptr to_type, - const CastOptions& options = CastOptions::Safe(), - ExecContext* ctx = NULLPTR); - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/cast_internal.h b/lib/parquet/src/src/arrow/compute/cast_internal.h deleted file mode 100644 index c152d10..0000000 --- a/lib/parquet/src/src/arrow/compute/cast_internal.h +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include - -#include "arrow/compute/cast.h" // IWYU pragma: keep -#include "arrow/compute/kernel.h" // IWYU pragma: keep -#include "arrow/compute/kernels/codegen_internal.h" // IWYU pragma: keep - -namespace arrow { -namespace compute { -namespace internal { - -using CastState = OptionsWrapper; - -// See kernels/scalar_cast_*.cc for these -std::vector> GetBooleanCasts(); -std::vector> GetNumericCasts(); -std::vector> GetTemporalCasts(); -std::vector> GetBinaryLikeCasts(); -std::vector> GetNestedCasts(); - -} // namespace internal -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/exec.h b/lib/parquet/src/src/arrow/compute/exec.h deleted file mode 100644 index 142e149..0000000 --- a/lib/parquet/src/src/arrow/compute/exec.h +++ /dev/null @@ -1,236 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// NOTE: API is EXPERIMENTAL and will change without going through a -// deprecation cycle - -#pragma once - -#include -#include -#include -#include -#include -#include - -#include "arrow/array/data.h" -#include "arrow/datum.h" -#include "arrow/memory_pool.h" -#include "arrow/result.h" -#include "arrow/type_fwd.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { -namespace internal { - -class CpuInfo; - -} // namespace internal - -namespace compute { - -struct FunctionOptions; -class FunctionRegistry; - -// It seems like 64K might be a good default chunksize to use for execution -// based on the experience of other query processing systems. The current -// default is not to chunk contiguous arrays, though, but this may change in -// the future once parallel execution is implemented -static constexpr int64_t kDefaultExecChunksize = UINT16_MAX; - -/// \brief Context for expression-global variables and options used by -/// function evaluation -class ARROW_EXPORT ExecContext { - public: - // If no function registry passed, the default is used. - explicit ExecContext(MemoryPool* pool = default_memory_pool(), - FunctionRegistry* func_registry = NULLPTR); - - /// \brief The MemoryPool used for allocations, default is - /// default_memory_pool(). - MemoryPool* memory_pool() const { return pool_; } - - ::arrow::internal::CpuInfo* cpu_info() const; - - /// \brief The FunctionRegistry for looking up functions by name and - /// selecting kernels for execution. Defaults to the library-global function - /// registry provided by GetFunctionRegistry. - FunctionRegistry* func_registry() const { return func_registry_; } - - // \brief Set maximum length unit of work for kernel execution. Larger - // contiguous array inputs will be split into smaller chunks, and, if - // possible and enabled, processed in parallel. The default chunksize is - // INT64_MAX, so contiguous arrays are not split. - void set_exec_chunksize(int64_t chunksize) { exec_chunksize_ = chunksize; } - - // \brief Maximum length for ExecBatch data chunks processed by - // kernels. Contiguous array inputs with longer length will be split into - // smaller chunks. - int64_t exec_chunksize() const { return exec_chunksize_; } - - /// \brief Set whether to use multiple threads for function execution. This - /// is not yet used. - void set_use_threads(bool use_threads = true) { use_threads_ = use_threads; } - - /// \brief If true, then utilize multiple threads where relevant for function - /// execution. This is not yet used. - bool use_threads() const { return use_threads_; } - - // Set the preallocation strategy for kernel execution as it relates to - // chunked execution. For chunked execution, whether via ChunkedArray inputs - // or splitting larger Array arguments into smaller pieces, contiguous - // allocation (if permitted by the kernel) will allocate one large array to - // write output into yielding it to the caller at the end. If this option is - // set to off, then preallocations will be performed independently for each - // chunk of execution - // - // TODO: At some point we might want the limit the size of contiguous - // preallocations. For example, even if the exec_chunksize is 64K or less, we - // might limit contiguous allocations to 1M records, say. - void set_preallocate_contiguous(bool preallocate) { - preallocate_contiguous_ = preallocate; - } - - /// \brief If contiguous preallocations should be used when doing chunked - /// execution as specified by exec_chunksize(). See - /// set_preallocate_contiguous() for more information. - bool preallocate_contiguous() const { return preallocate_contiguous_; } - - private: - MemoryPool* pool_; - FunctionRegistry* func_registry_; - int64_t exec_chunksize_ = std::numeric_limits::max(); - bool preallocate_contiguous_ = true; - bool use_threads_ = true; -}; - -// TODO: Consider standardizing on uint16 selection vectors and only use them -// when we can ensure that each value is 64K length or smaller - -/// \brief Container for an array of value selection indices that were -/// materialized from a filter. -/// -/// Columnar query engines (see e.g. [1]) have found that rather than -/// materializing filtered data, the filter can instead be converted to an -/// array of the "on" indices and then "fusing" these indices in operator -/// implementations. This is especially relevant for aggregations but also -/// applies to scalar operations. -/// -/// We are not yet using this so this is mostly a placeholder for now. -/// -/// [1]: http://cidrdb.org/cidr2005/papers/P19.pdf -class ARROW_EXPORT SelectionVector { - public: - explicit SelectionVector(std::shared_ptr data); - - explicit SelectionVector(const Array& arr); - - /// \brief Create SelectionVector from boolean mask - static Result> FromMask(const BooleanArray& arr); - - const int32_t* indices() const { return indices_; } - int32_t length() const; - - private: - std::shared_ptr data_; - const int32_t* indices_; -}; - -/// \brief A unit of work for kernel execution. It contains a collection of -/// Array and Scalar values and an optional SelectionVector indicating that -/// there is an unmaterialized filter that either must be materialized, or (if -/// the kernel supports it) pushed down into the kernel implementation. -/// -/// ExecBatch is semantically similar to RecordBatch in that in a SQL context -/// it represents a collection of records, but constant "columns" are -/// represented by Scalar values rather than having to be converted into arrays -/// with repeated values. -/// -/// TODO: Datum uses arrow/util/variant.h which may be a bit heavier-weight -/// than is desirable for this class. Microbenchmarks would help determine for -/// sure. See ARROW-8928. -struct ExecBatch { - ExecBatch() {} - ExecBatch(std::vector values, int64_t length) - : values(std::move(values)), length(length) {} - - /// The values representing positional arguments to be passed to a kernel's - /// exec function for processing. - std::vector values; - - /// A deferred filter represented as an array of indices into the values. - /// - /// For example, the filter [true, true, false, true] would be represented as - /// the selection vector [0, 1, 3]. When the selection vector is set, - /// ExecBatch::length is equal to the length of this array. - std::shared_ptr selection_vector; - - /// The semantic length of the ExecBatch. When the values are all scalars, - /// the length should be set to 1, otherwise the length is taken from the - /// array values, except when there is a selection vector. When there is a - /// selection vector set, the length of the batch is the length of the - /// selection. - /// - /// If the array values are of length 0 then the length is 0 regardless of - /// whether any values are Scalar. In general ExecBatch objects are produced - /// by ExecBatchIterator which by design does not yield length-0 batches. - int64_t length; - - /// \brief Return the value at the i-th index - template - inline const Datum& operator[](index_type i) const { - return values[i]; - } - - /// \brief A convenience for the number of values / arguments. - int num_values() const { return static_cast(values.size()); } - - /// \brief A convenience for returning the ValueDescr objects (types and - /// shapes) from the batch. - std::vector GetDescriptors() const { - std::vector result; - for (const auto& value : this->values) { - result.emplace_back(value.descr()); - } - return result; - } -}; - -/// \defgroup compute-call-function One-shot calls to compute functions -/// -/// @{ - -/// \brief One-shot invoker for all types of functions. -/// -/// Does kernel dispatch, argument checking, iteration of ChunkedArray inputs, -/// and wrapping of outputs. -ARROW_EXPORT -Result CallFunction(const std::string& func_name, const std::vector& args, - const FunctionOptions* options, ExecContext* ctx = NULLPTR); - -/// \brief Variant of CallFunction which uses a function's default options. -/// -/// NB: Some functions require FunctionOptions be provided. -ARROW_EXPORT -Result CallFunction(const std::string& func_name, const std::vector& args, - ExecContext* ctx = NULLPTR); - -/// @} - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/exec_internal.h b/lib/parquet/src/src/arrow/compute/exec_internal.h deleted file mode 100644 index 507cd17..0000000 --- a/lib/parquet/src/src/arrow/compute/exec_internal.h +++ /dev/null @@ -1,137 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include - -#include "arrow/array.h" -#include "arrow/buffer.h" -#include "arrow/compute/exec.h" -#include "arrow/compute/kernel.h" -#include "arrow/status.h" -#include "arrow/util/visibility.h" - -namespace arrow { -namespace compute { - -class Function; - -static constexpr int64_t kDefaultMaxChunksize = std::numeric_limits::max(); - -namespace detail { - -/// \brief Break std::vector into a sequence of ExecBatch for kernel -/// execution -class ARROW_EXPORT ExecBatchIterator { - public: - /// \brief Construct iterator and do basic argument validation - /// - /// \param[in] args the Datum argument, must be all array-like or scalar - /// \param[in] max_chunksize the maximum length of each ExecBatch. Depending - /// on the chunk layout of ChunkedArray. - static Result> Make( - std::vector args, int64_t max_chunksize = kDefaultMaxChunksize); - - /// \brief Compute the next batch. Always returns at least one batch. Return - /// false if the iterator is exhausted - bool Next(ExecBatch* batch); - - int64_t length() const { return length_; } - - int64_t position() const { return position_; } - - int64_t max_chunksize() const { return max_chunksize_; } - - private: - ExecBatchIterator(std::vector args, int64_t length, int64_t max_chunksize); - - std::vector args_; - std::vector chunk_indexes_; - std::vector chunk_positions_; - int64_t position_; - int64_t length_; - int64_t max_chunksize_; -}; - -// "Push" / listener API like IPC reader so that consumers can receive -// processed chunks as soon as they're available. - -class ARROW_EXPORT ExecListener { - public: - virtual ~ExecListener() = default; - - virtual Status OnResult(Datum) { return Status::NotImplemented("OnResult"); } -}; - -class DatumAccumulator : public ExecListener { - public: - DatumAccumulator() {} - - Status OnResult(Datum value) override { - values_.emplace_back(value); - return Status::OK(); - } - - std::vector values() const { return values_; } - - private: - std::vector values_; -}; - -/// \brief Check that each Datum is of a "value" type, which means either -/// SCALAR, ARRAY, or CHUNKED_ARRAY. If there are chunked inputs, then these -/// inputs will be split into non-chunked ExecBatch values for execution -Status CheckAllValues(const std::vector& values); - -class ARROW_EXPORT FunctionExecutor { - public: - virtual ~FunctionExecutor() = default; - - /// XXX: Better configurability for listener - /// Not thread-safe - virtual Status Execute(const std::vector& args, ExecListener* listener) = 0; - - virtual ValueDescr output_descr() const = 0; - - virtual Datum WrapResults(const std::vector& args, - const std::vector& outputs) = 0; - - static Result> Make(ExecContext* ctx, - const Function* func, - const FunctionOptions* options); -}; - -/// \brief Populate validity bitmap with the intersection of the nullity of the -/// arguments. If a preallocated bitmap is not provided, then one will be -/// allocated if needed (in some cases a bitmap can be zero-copied from the -/// arguments). If any Scalar value is null, then the entire validity bitmap -/// will be set to null. -/// -/// \param[in] ctx kernel execution context, for memory allocation etc. -/// \param[in] batch the data batch -/// \param[in] out the output ArrayData, must not be null -ARROW_EXPORT -Status PropagateNulls(KernelContext* ctx, const ExecBatch& batch, ArrayData* out); - -} // namespace detail -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/function.h b/lib/parquet/src/src/arrow/compute/function.h deleted file mode 100644 index 93a200e..0000000 --- a/lib/parquet/src/src/arrow/compute/function.h +++ /dev/null @@ -1,287 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// NOTE: API is EXPERIMENTAL and will change without going through a -// deprecation cycle. - -#pragma once - -#include -#include -#include - -#include "arrow/compute/kernel.h" -#include "arrow/compute/type_fwd.h" -#include "arrow/datum.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { -namespace compute { - -/// \defgroup compute-functions Abstract compute function API -/// -/// @{ - -/// \brief Base class for specifying options configuring a function's behavior, -/// such as error handling. -struct ARROW_EXPORT FunctionOptions {}; - -/// \brief Contains the number of required arguments for the function. -/// -/// Naming conventions taken from https://en.wikipedia.org/wiki/Arity. -struct ARROW_EXPORT Arity { - /// \brief A function taking no arguments - static Arity Nullary() { return Arity(0, false); } - - /// \brief A function taking 1 argument - static Arity Unary() { return Arity(1, false); } - - /// \brief A function taking 2 arguments - static Arity Binary() { return Arity(2, false); } - - /// \brief A function taking 3 arguments - static Arity Ternary() { return Arity(3, false); } - - /// \brief A function taking a variable number of arguments - /// - /// \param[in] min_args the minimum number of arguments required when - /// invoking the function - static Arity VarArgs(int min_args = 0) { return Arity(min_args, true); } - - explicit Arity(int num_args, bool is_varargs = false) - : num_args(num_args), is_varargs(is_varargs) {} - - /// The number of required arguments (or the minimum number for varargs - /// functions). - int num_args; - - /// If true, then the num_args is the minimum number of required arguments. - bool is_varargs = false; -}; - -/// \brief Base class for compute functions. Function implementations contain a -/// collection of "kernels" which are implementations of the function for -/// specific argument types. Selecting a viable kernel for executing a function -/// is referred to as "dispatching". -class ARROW_EXPORT Function { - public: - /// \brief The kind of function, which indicates in what contexts it is - /// valid for use. - enum Kind { - /// A function that performs scalar data operations on whole arrays of - /// data. Can generally process Array or Scalar values. The size of the - /// output will be the same as the size (or broadcasted size, in the case - /// of mixing Array and Scalar inputs) of the input. - SCALAR, - - /// A function with array input and output whose behavior depends on the - /// values of the entire arrays passed, rather than the value of each scalar - /// value. - VECTOR, - - /// A function that computes scalar summary statistics from array input. - SCALAR_AGGREGATE, - - /// A function that dispatches to other functions and does not contain its - /// own kernels. - META - }; - - virtual ~Function() = default; - - /// \brief The name of the kernel. The registry enforces uniqueness of names. - const std::string& name() const { return name_; } - - /// \brief The kind of kernel, which indicates in what contexts it is valid - /// for use. - Function::Kind kind() const { return kind_; } - - /// \brief Contains the number of arguments the function requires, or if the - /// function accepts variable numbers of arguments. - const Arity& arity() const { return arity_; } - - /// \brief Returns the number of registered kernels for this function. - virtual int num_kernels() const = 0; - - /// \brief Execute the function eagerly with the passed input arguments with - /// kernel dispatch, batch iteration, and memory allocation details taken - /// care of. - /// - /// Function implementations may assume that options is non-null and valid - /// or to forgo options and accept only nullptr for that argument. - /// - /// This function can be overridden in subclasses. - virtual Result Execute(const std::vector& args, - const FunctionOptions* options, ExecContext* ctx) const; - - /// \brief Returns a the default options for this function. - /// - /// Whatever option semantics a Function has, implementations must guarantee - /// that default_options() is valid to pass to Execute as options. - const FunctionOptions* default_options() const { return default_options_; } - - protected: - Function(std::string name, Function::Kind kind, const Arity& arity, - const FunctionOptions* default_options) - : name_(std::move(name)), - kind_(kind), - arity_(arity), - default_options_(default_options) {} - - Status CheckArity(int passed_num_args) const; - - std::string name_; - Function::Kind kind_; - Arity arity_; - const FunctionOptions* default_options_ = NULLPTR; -}; - -namespace detail { - -template -class FunctionImpl : public Function { - public: - /// \brief Return pointers to current-available kernels for inspection - std::vector kernels() const { - std::vector result; - for (const auto& kernel : kernels_) { - result.push_back(&kernel); - } - return result; - } - - int num_kernels() const override { return static_cast(kernels_.size()); } - - protected: - FunctionImpl(std::string name, Function::Kind kind, const Arity& arity, - const FunctionOptions* default_options) - : Function(std::move(name), kind, arity, default_options) {} - - std::vector kernels_; -}; - -} // namespace detail - -/// \brief A function that executes elementwise operations on arrays or -/// scalars, and therefore whose results generally do not depend on the order -/// of the values in the arguments. Accepts and returns arrays that are all of -/// the same size. These functions roughly correspond to the functions used in -/// SQL expressions. -class ARROW_EXPORT ScalarFunction : public detail::FunctionImpl { - public: - using KernelType = ScalarKernel; - - ScalarFunction(std::string name, const Arity& arity, - const FunctionOptions* default_options = NULLPTR) - : detail::FunctionImpl(std::move(name), Function::SCALAR, arity, - default_options) {} - - /// \brief Add a kernel with given input/output types, no required state - /// initialization, preallocation for fixed-width types, and default null - /// handling (intersect validity bitmaps of inputs). - Status AddKernel(std::vector in_types, OutputType out_type, - ArrayKernelExec exec, KernelInit init = NULLPTR); - - /// \brief Add a kernel (function implementation). Returns error if the - /// kernel's signature does not match the function's arity. - Status AddKernel(ScalarKernel kernel); - - /// \brief Return a kernel that can execute the function given the exact - /// argument types (without implicit type casts or scalar->array promotions). - /// - /// NB: This function is overridden in CastFunction. - virtual Result DispatchExact( - const std::vector& values) const; -}; - -/// \brief A function that executes general array operations that may yield -/// outputs of different sizes or have results that depend on the whole array -/// contents. These functions roughly correspond to the functions found in -/// non-SQL array languages like APL and its derivatives. -class ARROW_EXPORT VectorFunction : public detail::FunctionImpl { - public: - using KernelType = VectorKernel; - - VectorFunction(std::string name, const Arity& arity, - const FunctionOptions* default_options = NULLPTR) - : detail::FunctionImpl(std::move(name), Function::VECTOR, arity, - default_options) {} - - /// \brief Add a simple kernel with given input/output types, no required - /// state initialization, no data preallocation, and no preallocation of the - /// validity bitmap. - Status AddKernel(std::vector in_types, OutputType out_type, - ArrayKernelExec exec, KernelInit init = NULLPTR); - - /// \brief Add a kernel (function implementation). Returns error if the - /// kernel's signature does not match the function's arity. - Status AddKernel(VectorKernel kernel); - - /// \brief Return a kernel that can execute the function given the exact - /// argument types (without implicit type casts or scalar->array promotions) - Result DispatchExact(const std::vector& values) const; -}; - -class ARROW_EXPORT ScalarAggregateFunction - : public detail::FunctionImpl { - public: - using KernelType = ScalarAggregateKernel; - - ScalarAggregateFunction(std::string name, const Arity& arity, - const FunctionOptions* default_options = NULLPTR) - : detail::FunctionImpl( - std::move(name), Function::SCALAR_AGGREGATE, arity, default_options) {} - - /// \brief Add a kernel (function implementation). Returns error if the - /// kernel's signature does not match the function's arity. - Status AddKernel(ScalarAggregateKernel kernel); - - /// \brief Return a kernel that can execute the function given the exact - /// argument types (without implicit type casts or scalar->array promotions) - Result DispatchExact( - const std::vector& values) const; -}; - -/// \brief A function that dispatches to other functions. Must implement -/// MetaFunction::ExecuteImpl. -/// -/// For Array, ChunkedArray, and Scalar Datum kinds, may rely on the execution -/// of concrete Function types, but must handle other Datum kinds on its own. -class ARROW_EXPORT MetaFunction : public Function { - public: - int num_kernels() const override { return 0; } - - Result Execute(const std::vector& args, const FunctionOptions* options, - ExecContext* ctx) const override; - - protected: - virtual Result ExecuteImpl(const std::vector& args, - const FunctionOptions* options, - ExecContext* ctx) const = 0; - - MetaFunction(std::string name, const Arity& arity, - const FunctionOptions* default_options = NULLPTR) - : Function(std::move(name), Function::META, arity, default_options) {} -}; - -/// @} - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/kernel.h b/lib/parquet/src/src/arrow/compute/kernel.h deleted file mode 100644 index 3fb6947..0000000 --- a/lib/parquet/src/src/arrow/compute/kernel.h +++ /dev/null @@ -1,705 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// NOTE: API is EXPERIMENTAL and will change without going through a -// deprecation cycle - -#pragma once - -#include -#include -#include -#include -#include -#include -#include - -#include "arrow/buffer.h" -#include "arrow/compute/exec.h" -#include "arrow/datum.h" -#include "arrow/memory_pool.h" -#include "arrow/result.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/util/macros.h" -#include "arrow/util/visibility.h" - -namespace arrow { -namespace compute { - -struct FunctionOptions; - -/// \brief Base class for opaque kernel-specific state. For example, if there -/// is some kind of initialization required. -struct ARROW_EXPORT KernelState { - virtual ~KernelState() = default; -}; - -/// \brief Context/state for the execution of a particular kernel. -class ARROW_EXPORT KernelContext { - public: - explicit KernelContext(ExecContext* exec_ctx) : exec_ctx_(exec_ctx) {} - - /// \brief Allocate buffer from the context's memory pool. The contents are - /// not initialized. - Result> Allocate(int64_t nbytes); - - /// \brief Allocate buffer for bitmap from the context's memory pool. Like - /// Allocate, the contents of the buffer are not initialized but the last - /// byte is preemptively zeroed to help avoid ASAN or valgrind issues. - Result> AllocateBitmap(int64_t num_bits); - - /// \brief Indicate that an error has occurred, to be checked by a exec caller - /// \param[in] status a Status instance. - /// - /// \note Will not overwrite a prior set Status, so we will have the first - /// error that occurred until ExecContext::ResetStatus is called. - void SetStatus(const Status& status); - - /// \brief Clear any error status. - void ResetStatus(); - - /// \brief Return true if an error has occurred. - bool HasError() const { return !status_.ok(); } - - /// \brief Return the current status of the context. - const Status& status() const { return status_; } - - /// \brief Assign the active KernelState to be utilized for each stage of - /// kernel execution. Ownership and memory lifetime of the KernelState must - /// be minded separately. - void SetState(KernelState* state) { state_ = state; } - - KernelState* state() { return state_; } - - /// \brief Configuration related to function execution that is to be shared - /// across multiple kernels. - ExecContext* exec_context() { return exec_ctx_; } - - /// \brief The memory pool to use for allocations. For now, it uses the - /// MemoryPool contained in the ExecContext used to create the KernelContext. - MemoryPool* memory_pool() { return exec_ctx_->memory_pool(); } - - private: - ExecContext* exec_ctx_; - Status status_; - KernelState* state_; -}; - -// A macro to invoke for error control flow after invoking functions (such as -// kernel init or exec functions) that propagate errors via KernelContext. -#define ARROW_CTX_RETURN_IF_ERROR(CTX) \ - do { \ - if (ARROW_PREDICT_FALSE((CTX)->HasError())) { \ - Status s = (CTX)->status(); \ - (CTX)->ResetStatus(); \ - return s; \ - } \ - } while (0) - -/// \brief The standard kernel execution API that must be implemented for -/// SCALAR and VECTOR kernel types. This includes both stateless and stateful -/// kernels. Kernels depending on some execution state access that state via -/// subclasses of KernelState set on the KernelContext object. May be used for -/// SCALAR and VECTOR kernel kinds. Implementations should endeavor to write -/// into pre-allocated memory if they are able, though for some kernels -/// (e.g. in cases when a builder like StringBuilder) must be employed this may -/// not be possible. -using ArrayKernelExec = std::function; - -/// \brief An type-checking interface to permit customizable validation rules -/// for use with InputType and KernelSignature. This is for scenarios where the -/// acceptance is not an exact type instance, such as a TIMESTAMP type for a -/// specific TimeUnit, but permitting any time zone. -struct ARROW_EXPORT TypeMatcher { - virtual ~TypeMatcher() = default; - - /// \brief Return true if this matcher accepts the data type. - virtual bool Matches(const DataType& type) const = 0; - - /// \brief A human-interpretable string representation of what the type - /// matcher checks for, usable when printing KernelSignature or formatting - /// error messages. - virtual std::string ToString() const = 0; - - /// \brief Return true if this TypeMatcher contains the same matching rule as - /// the other. Currently depends on RTTI. - virtual bool Equals(const TypeMatcher& other) const = 0; -}; - -namespace match { - -/// \brief Match any DataType instance having the same DataType::id. -ARROW_EXPORT std::shared_ptr SameTypeId(Type::type type_id); - -/// \brief Match any TimestampType instance having the same unit, but the time -/// zones can be different. -ARROW_EXPORT std::shared_ptr TimestampTypeUnit(TimeUnit::type unit); -ARROW_EXPORT std::shared_ptr Time32TypeUnit(TimeUnit::type unit); -ARROW_EXPORT std::shared_ptr Time64TypeUnit(TimeUnit::type unit); -ARROW_EXPORT std::shared_ptr DurationTypeUnit(TimeUnit::type unit); - -// \brief Match any integer type -ARROW_EXPORT std::shared_ptr Integer(); - -// Match types using 32-bit varbinary representation -ARROW_EXPORT std::shared_ptr BinaryLike(); - -// Match types using 64-bit varbinary representation -ARROW_EXPORT std::shared_ptr LargeBinaryLike(); - -// \brief Match any primitive type (boolean or any type representable as a C -// Type) -ARROW_EXPORT std::shared_ptr Primitive(); - -} // namespace match - -/// \brief An object used for type- and shape-checking arguments to be passed -/// to a kernel and stored in a KernelSignature. Distinguishes between ARRAY -/// and SCALAR arguments using ValueDescr::Shape. The type-checking rule can be -/// supplied either with an exact DataType instance or a custom TypeMatcher. -class ARROW_EXPORT InputType { - public: - /// \brief The kind of type-checking rule that the InputType contains. - enum Kind { - /// \brief Accept any value type. - ANY_TYPE, - - /// \brief A fixed arrow::DataType and will only exact match having this - /// exact type (e.g. same TimestampType unit, same decimal scale and - /// precision, or same nested child types). - EXACT_TYPE, - - /// \brief Uses a TypeMatcher implementation to check the type. - USE_TYPE_MATCHER - }; - - /// \brief Accept any value type but with a specific shape (e.g. any Array or - /// any Scalar). - InputType(ValueDescr::Shape shape = ValueDescr::ANY) // NOLINT implicit construction - : kind_(ANY_TYPE), shape_(shape) {} - - /// \brief Accept an exact value type. - InputType(std::shared_ptr type, // NOLINT implicit construction - ValueDescr::Shape shape = ValueDescr::ANY) - : kind_(EXACT_TYPE), shape_(shape), type_(std::move(type)) {} - - /// \brief Accept an exact value type and shape provided by a ValueDescr. - InputType(const ValueDescr& descr) // NOLINT implicit construction - : InputType(descr.type, descr.shape) {} - - /// \brief Use the passed TypeMatcher to type check. - InputType(std::shared_ptr type_matcher, // NOLINT implicit construction - ValueDescr::Shape shape = ValueDescr::ANY) - : kind_(USE_TYPE_MATCHER), shape_(shape), type_matcher_(std::move(type_matcher)) {} - - /// \brief Match any type with the given Type::type. Uses a TypeMatcher for - /// its implementation. - explicit InputType(Type::type type_id, ValueDescr::Shape shape = ValueDescr::ANY) - : InputType(match::SameTypeId(type_id), shape) {} - - InputType(const InputType& other) { CopyInto(other); } - - void operator=(const InputType& other) { CopyInto(other); } - - InputType(InputType&& other) { MoveInto(std::forward(other)); } - - void operator=(InputType&& other) { MoveInto(std::forward(other)); } - - // \brief Match an array with the given exact type. Convenience constructor. - static InputType Array(std::shared_ptr type) { - return InputType(std::move(type), ValueDescr::ARRAY); - } - - // \brief Match a scalar with the given exact type. Convenience constructor. - static InputType Scalar(std::shared_ptr type) { - return InputType(std::move(type), ValueDescr::SCALAR); - } - - // \brief Match an array with the given Type::type id. Convenience - // constructor. - static InputType Array(Type::type id) { return InputType(id, ValueDescr::ARRAY); } - - // \brief Match a scalar with the given Type::type id. Convenience - // constructor. - static InputType Scalar(Type::type id) { return InputType(id, ValueDescr::SCALAR); } - - /// \brief Return true if this input type matches the same type cases as the - /// other. - bool Equals(const InputType& other) const; - - bool operator==(const InputType& other) const { return this->Equals(other); } - - bool operator!=(const InputType& other) const { return !(*this == other); } - - /// \brief Return hash code. - size_t Hash() const; - - /// \brief Render a human-readable string representation. - std::string ToString() const; - - /// \brief Return true if the value matches this argument kind in type - /// and shape. - bool Matches(const Datum& value) const; - - /// \brief Return true if the value descriptor matches this argument kind in - /// type and shape. - bool Matches(const ValueDescr& value) const; - - /// \brief The type matching rule that this InputType uses. - Kind kind() const { return kind_; } - - /// \brief Indicates whether this InputType matches Array (ValueDescr::ARRAY), - /// Scalar (ValueDescr::SCALAR) values, or both (ValueDescr::ANY). - ValueDescr::Shape shape() const { return shape_; } - - /// \brief For InputType::EXACT_TYPE kind, the exact type that this InputType - /// must match. Otherwise this function should not be used and will assert in - /// debug builds. - const std::shared_ptr& type() const; - - /// \brief For InputType::USE_TYPE_MATCHER, the TypeMatcher to be used for - /// checking the type of a value. Otherwise this function should not be used - /// and will assert in debug builds. - const TypeMatcher& type_matcher() const; - - private: - void CopyInto(const InputType& other) { - this->kind_ = other.kind_; - this->shape_ = other.shape_; - this->type_ = other.type_; - this->type_matcher_ = other.type_matcher_; - } - - void MoveInto(InputType&& other) { - this->kind_ = other.kind_; - this->shape_ = other.shape_; - this->type_ = std::move(other.type_); - this->type_matcher_ = std::move(other.type_matcher_); - } - - Kind kind_; - - ValueDescr::Shape shape_ = ValueDescr::ANY; - - // For EXACT_TYPE Kind - std::shared_ptr type_; - - // For USE_TYPE_MATCHER Kind - std::shared_ptr type_matcher_; -}; - -/// \brief Container to capture both exact and input-dependent output types. -/// -/// The value shape returned by Resolve will be determined by broadcasting the -/// shapes of the input arguments, otherwise this is handled by the -/// user-defined resolver function: -/// -/// * Any ARRAY shape -> output shape is ARRAY -/// * All SCALAR shapes -> output shape is SCALAR -class ARROW_EXPORT OutputType { - public: - /// \brief An enum indicating whether the value type is an invariant fixed - /// value or one that's computed by a kernel-defined resolver function. - enum ResolveKind { FIXED, COMPUTED }; - - /// Type resolution function. Given input types and shapes, return output - /// type and shape. This function SHOULD _not_ be used to check for arity, - /// that is to be performed one or more layers above. May make use of kernel - /// state to know what type to output in some cases. - using Resolver = - std::function(KernelContext*, const std::vector&)>; - - /// \brief Output an exact type, but with shape determined by promoting the - /// shapes of the inputs (any ARRAY argument yields ARRAY). - OutputType(std::shared_ptr type) // NOLINT implicit construction - : kind_(FIXED), type_(std::move(type)) {} - - /// \brief Output the exact type and shape provided by a ValueDescr - OutputType(ValueDescr descr); // NOLINT implicit construction - - explicit OutputType(Resolver resolver) - : kind_(COMPUTED), resolver_(std::move(resolver)) {} - - OutputType(const OutputType& other) { - this->kind_ = other.kind_; - this->shape_ = other.shape_; - this->type_ = other.type_; - this->resolver_ = other.resolver_; - } - - OutputType(OutputType&& other) { - this->kind_ = other.kind_; - this->type_ = std::move(other.type_); - this->shape_ = other.shape_; - this->resolver_ = other.resolver_; - } - - /// \brief Return the shape and type of the expected output value of the - /// kernel given the value descriptors (shapes and types) of the input - /// arguments. The resolver may make use of state information kept in the - /// KernelContext. - Result Resolve(KernelContext* ctx, - const std::vector& args) const; - - /// \brief The exact output value type for the FIXED kind. - const std::shared_ptr& type() const; - - /// \brief For use with COMPUTED resolution strategy. It may be more - /// convenient to invoke this with OutputType::Resolve returned from this - /// method. - const Resolver& resolver() const; - - /// \brief Render a human-readable string representation. - std::string ToString() const; - - /// \brief Return the kind of type resolution of this output type, whether - /// fixed/invariant or computed by a resolver. - ResolveKind kind() const { return kind_; } - - /// \brief If the shape is ANY, then Resolve will compute the shape based on - /// the input arguments. - ValueDescr::Shape shape() const { return shape_; } - - private: - ResolveKind kind_; - - // For FIXED resolution - std::shared_ptr type_; - - /// \brief The shape of the output type to return when using Resolve. If ANY - /// will promote the input shapes. - ValueDescr::Shape shape_ = ValueDescr::ANY; - - // For COMPUTED resolution - Resolver resolver_; -}; - -/// \brief Holds the input types and output type of the kernel. -/// -/// VarArgs functions should pass a single input type to be used to validate -/// the input types of a function invocation. -class ARROW_EXPORT KernelSignature { - public: - KernelSignature(std::vector in_types, OutputType out_type, - bool is_varargs = false); - - /// \brief Convenience ctor since make_shared can be awkward - static std::shared_ptr Make(std::vector in_types, - OutputType out_type, - bool is_varargs = false); - - /// \brief Return true if the signature if compatible with the list of input - /// value descriptors. - bool MatchesInputs(const std::vector& descriptors) const; - - /// \brief Returns true if the input types of each signature are - /// equal. Well-formed functions should have a deterministic output type - /// given input types, but currently it is the responsibility of the - /// developer to ensure this. - bool Equals(const KernelSignature& other) const; - - bool operator==(const KernelSignature& other) const { return this->Equals(other); } - - bool operator!=(const KernelSignature& other) const { return !(*this == other); } - - /// \brief Compute a hash code for the signature - size_t Hash() const; - - /// \brief The input types for the kernel. For VarArgs functions, this should - /// generally contain a single validator to use for validating all of the - /// function arguments. - const std::vector& in_types() const { return in_types_; } - - /// \brief The output type for the kernel. Use Resolve to return the exact - /// output given input argument ValueDescrs, since many kernels' output types - /// depend on their input types (or their type metadata). - const OutputType& out_type() const { return out_type_; } - - /// \brief Render a human-readable string representation - std::string ToString() const; - - bool is_varargs() const { return is_varargs_; } - - private: - std::vector in_types_; - OutputType out_type_; - bool is_varargs_; - - // For caching the hash code after it's computed the first time - mutable uint64_t hash_code_; -}; - -/// \brief A function may contain multiple variants of a kernel for a given -/// type combination for different SIMD levels. Based on the active system's -/// CPU info or the user's preferences, we can elect to use one over the other. -struct SimdLevel { - enum type { NONE = 0, SSE4_2, AVX, AVX2, AVX512, NEON, MAX }; -}; - -/// \brief The strategy to use for propagating or otherwise populating the -/// validity bitmap of a kernel output. -struct NullHandling { - enum type { - /// Compute the output validity bitmap by intersecting the validity bitmaps - /// of the arguments using bitwise-and operations. This means that values - /// in the output are valid/non-null only if the corresponding values in - /// all input arguments were valid/non-null. Kernel generally need not - /// touch the bitmap thereafter, but a kernel's exec function is permitted - /// to alter the bitmap after the null intersection is computed if it needs - /// to. - INTERSECTION, - - /// Kernel expects a pre-allocated buffer to write the result bitmap - /// into. The preallocated memory is not zeroed (except for the last byte), - /// so the kernel should ensure to completely populate the bitmap. - COMPUTED_PREALLOCATE, - - /// Kernel allocates and sets the validity bitmap of the output. - COMPUTED_NO_PREALLOCATE, - - /// Kernel output is never null and a validity bitmap does not need to be - /// allocated. - OUTPUT_NOT_NULL - }; -}; - -/// \brief The preference for memory preallocation of fixed-width type outputs -/// in kernel execution. -struct MemAllocation { - enum type { - // For data types that support pre-allocation (i.e. fixed-width), the - // kernel expects to be provided a pre-allocated data buffer to write - // into. Non-fixed-width types must always allocate their own data - // buffers. The allocation made for the same length as the execution batch, - // so vector kernels yielding differently sized output should not use this. - // - // It is valid for the data to not be preallocated but the validity bitmap - // is (or is computed using the intersection/bitwise-and method). - // - // For variable-size output types like BinaryType or StringType, or for - // nested types, this option has no effect. - PREALLOCATE, - - // The kernel is responsible for allocating its own data buffer for - // fixed-width type outputs. - NO_PREALLOCATE - }; -}; - -struct Kernel; - -/// \brief Arguments to pass to a KernelInit function. A struct is used to help -/// avoid API breakage should the arguments passed need to be expanded. -struct KernelInitArgs { - /// \brief A pointer to the kernel being initialized. The init function may - /// depend on the kernel's KernelSignature or other data contained there. - const Kernel* kernel; - - /// \brief The types and shapes of the input arguments that the kernel is - /// about to be executed against. - /// - /// TODO: should this be const std::vector*? const-ref is being - /// used to avoid the cost of copying the struct into the args struct. - const std::vector& inputs; - - /// \brief Opaque options specific to this kernel. May be nullptr for functions - /// that do not require options. - const FunctionOptions* options; -}; - -/// \brief Common initializer function for all kernel types. -/// If an error occurs it will be stored in the KernelContext; nullptr will be returned. -using KernelInit = - std::function(KernelContext*, const KernelInitArgs&)>; - -/// \brief Base type for kernels. Contains the function signature and -/// optionally the state initialization function, along with some common -/// attributes -struct Kernel { - Kernel() = default; - - Kernel(std::shared_ptr sig, KernelInit init) - : signature(std::move(sig)), init(std::move(init)) {} - - Kernel(std::vector in_types, OutputType out_type, KernelInit init) - : Kernel(KernelSignature::Make(std::move(in_types), out_type), std::move(init)) {} - - /// \brief The "signature" of the kernel containing the InputType input - /// argument validators and OutputType output type and shape resolver. - std::shared_ptr signature; - - /// \brief Create a new KernelState for invocations of this kernel, e.g. to - /// set up any options or state relevant for execution. - KernelInit init; - - /// \brief Indicates whether execution can benefit from parallelization - /// (splitting large chunks into smaller chunks and using multiple - /// threads). Some kernels may not support parallel execution at - /// all. Synchronization and concurrency-related issues are currently the - /// responsibility of the Kernel's implementation. - bool parallelizable = true; - - /// \brief Indicates the level of SIMD instruction support in the host CPU is - /// required to use the function. The intention is for functions to be able to - /// contain multiple kernels with the same signature but different levels of SIMD, - /// so that the most optimized kernel supported on a host's processor can be chosen. - SimdLevel::type simd_level = SimdLevel::NONE; -}; - -/// \brief Common kernel base data structure for ScalarKernel and -/// VectorKernel. It is called "ArrayKernel" in that the functions generally -/// output array values (as opposed to scalar values in the case of aggregate -/// functions). -struct ArrayKernel : public Kernel { - ArrayKernel() {} - - ArrayKernel(std::shared_ptr sig, ArrayKernelExec exec, - KernelInit init = NULLPTR) - : Kernel(std::move(sig), init), exec(std::move(exec)) {} - - ArrayKernel(std::vector in_types, OutputType out_type, ArrayKernelExec exec, - KernelInit init = NULLPTR) - : Kernel(std::move(in_types), std::move(out_type), init), exec(std::move(exec)) {} - - /// \brief Perform a single invocation of this kernel. Depending on the - /// implementation, it may only write into preallocated memory, while in some - /// cases it will allocate its own memory. Any required state is managed - /// through the KernelContext. - ArrayKernelExec exec; - - /// \brief Writing execution results into larger contiguous allocations - /// requires that the kernel be able to write into sliced output ArrayData*, - /// including sliced output validity bitmaps. Some kernel implementations may - /// not be able to do this, so setting this to false disables this - /// functionality. - bool can_write_into_slices = true; -}; - -/// \brief Kernel data structure for implementations of ScalarFunction. In -/// addition to the members found in ArrayKernel, contains the null handling -/// and memory pre-allocation preferences. -struct ScalarKernel : public ArrayKernel { - using ArrayKernel::ArrayKernel; - - // For scalar functions preallocated data and intersecting arg validity - // bitmaps is a reasonable default - NullHandling::type null_handling = NullHandling::INTERSECTION; - MemAllocation::type mem_allocation = MemAllocation::PREALLOCATE; -}; - -// ---------------------------------------------------------------------- -// VectorKernel (for VectorFunction) - -/// \brief See VectorKernel::finalize member for usage -using VectorFinalize = std::function*)>; - -/// \brief Kernel data structure for implementations of VectorFunction. In -/// addition to the members found in ArrayKernel, contains an optional -/// finalizer function, the null handling and memory pre-allocation preferences -/// (which have different defaults from ScalarKernel), and some other -/// execution-related options. -struct VectorKernel : public ArrayKernel { - VectorKernel() {} - - VectorKernel(std::shared_ptr sig, ArrayKernelExec exec) - : ArrayKernel(std::move(sig), exec) {} - - VectorKernel(std::vector in_types, OutputType out_type, ArrayKernelExec exec, - KernelInit init = NULLPTR, VectorFinalize finalize = NULLPTR) - : ArrayKernel(std::move(in_types), std::move(out_type), std::move(exec), - std::move(init)), - finalize(std::move(finalize)) {} - - VectorKernel(std::shared_ptr sig, ArrayKernelExec exec, - KernelInit init = NULLPTR, VectorFinalize finalize = NULLPTR) - : ArrayKernel(std::move(sig), std::move(exec), std::move(init)), - finalize(std::move(finalize)) {} - - /// \brief For VectorKernel, convert intermediate results into finalized - /// results. Mutates input argument. Some kernels may accumulate state - /// (example: hashing-related functions) through processing chunked inputs, and - /// then need to attach some accumulated state to each of the outputs of - /// processing each chunk of data. - VectorFinalize finalize; - - /// Since vector kernels generally are implemented rather differently from - /// scalar/elementwise kernels (and they may not even yield arrays of the same - /// size), so we make the developer opt-in to any memory preallocation rather - /// than having to turn it off. - NullHandling::type null_handling = NullHandling::COMPUTED_NO_PREALLOCATE; - MemAllocation::type mem_allocation = MemAllocation::NO_PREALLOCATE; - - /// Some vector kernels can do chunkwise execution using ExecBatchIterator, - /// in some cases accumulating some state. Other kernels (like Take) need to - /// be passed whole arrays and don't work on ChunkedArray inputs - bool can_execute_chunkwise = true; - - /// Some kernels (like unique and value_counts) yield non-chunked output from - /// chunked-array inputs. This option controls how the results are boxed when - /// returned from ExecVectorFunction - /// - /// true -> ChunkedArray - /// false -> Array - bool output_chunked = true; -}; - -// ---------------------------------------------------------------------- -// ScalarAggregateKernel (for ScalarAggregateFunction) - -using ScalarAggregateConsume = std::function; - -using ScalarAggregateMerge = - std::function; - -// Finalize returns Datum to permit multiple return values -using ScalarAggregateFinalize = std::function; - -/// \brief Kernel data structure for implementations of -/// ScalarAggregateFunction. The four necessary components of an aggregation -/// kernel are the init, consume, merge, and finalize functions. -/// -/// * init: creates a new KernelState for a kernel. -/// * consume: processes an ExecBatch and updates the KernelState found in the -/// KernelContext. -/// * merge: combines one KernelState with another. -/// * finalize: produces the end result of the aggregation using the -/// KernelState in the KernelContext. -struct ScalarAggregateKernel : public Kernel { - ScalarAggregateKernel() {} - - ScalarAggregateKernel(std::shared_ptr sig, KernelInit init, - ScalarAggregateConsume consume, ScalarAggregateMerge merge, - ScalarAggregateFinalize finalize) - : Kernel(std::move(sig), init), - consume(std::move(consume)), - merge(std::move(merge)), - finalize(std::move(finalize)) {} - - ScalarAggregateKernel(std::vector in_types, OutputType out_type, - KernelInit init, ScalarAggregateConsume consume, - ScalarAggregateMerge merge, ScalarAggregateFinalize finalize) - : ScalarAggregateKernel(KernelSignature::Make(std::move(in_types), out_type), init, - consume, merge, finalize) {} - - ScalarAggregateConsume consume; - ScalarAggregateMerge merge; - ScalarAggregateFinalize finalize; -}; - -} // namespace compute -} // namespace arrow diff --git a/lib/parquet/src/src/arrow/compute/kernels/codegen_internal.h b/lib/parquet/src/src/arrow/compute/kernels/codegen_internal.h deleted file mode 100644 index 4d8918a..0000000 --- a/lib/parquet/src/src/arrow/compute/kernels/codegen_internal.h +++ /dev/null @@ -1,963 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -#pragma once - -#include -#include -#include -#include -#include - -#include "arrow/array/builder_binary.h" -#include "arrow/array/data.h" -#include "arrow/buffer.h" -#include "arrow/buffer_builder.h" -#include "arrow/compute/exec.h" -#include "arrow/compute/kernel.h" -#include "arrow/datum.h" -#include "arrow/result.h" -#include "arrow/scalar.h" -#include "arrow/status.h" -#include "arrow/type.h" -#include "arrow/type_traits.h" -#include "arrow/util/bit_util.h" -#include "arrow/util/bitmap_generate.h" -#include "arrow/util/bitmap_reader.h" -#include "arrow/util/bitmap_writer.h" -#include "arrow/util/checked_cast.h" -#include "arrow/util/decimal.h" -#include "arrow/util/logging.h" -#include "arrow/util/macros.h" -#include "arrow/util/make_unique.h" -#include "arrow/util/optional.h" -#include "arrow/util/string_view.h" -#include "arrow/visitor_inline.h" - -namespace arrow { - -using internal::BitmapReader; -using internal::checked_cast; -using internal::FirstTimeBitmapWriter; -using internal::GenerateBitsUnrolled; - -namespace compute { -namespace internal { - -#ifdef ARROW_EXTRA_ERROR_CONTEXT - -#define KERNEL_RETURN_IF_ERROR(ctx, expr) \ - do { \ - Status _st = (expr); \ - if (ARROW_PREDICT_FALSE(!_st.ok())) { \ - _st.AddContextLine(__FILE__, __LINE__, #expr); \ - ctx->SetStatus(_st); \ - return; \ - } \ - } while (0) - -#else - -#define KERNEL_RETURN_IF_ERROR(ctx, expr) \ - do { \ - Status _st = (expr); \ - if (ARROW_PREDICT_FALSE(!_st.ok())) { \ - ctx->SetStatus(_st); \ - return; \ - } \ - } while (0) - -#endif // ARROW_EXTRA_ERROR_CONTEXT - -#define KERNEL_ASSIGN_OR_RAISE_IMPL(result_name, lhs, ctx, rexpr) \ - auto result_name = (rexpr); \ - KERNEL_RETURN_IF_ERROR(ctx, (result_name).status()); \ - lhs = std::move(result_name).MoveValueUnsafe(); - -#define KERNEL_ASSIGN_OR_RAISE_NAME(x, y) ARROW_CONCAT(x, y) - -#define KERNEL_ASSIGN_OR_RAISE(lhs, ctx, rexpr) \ - KERNEL_ASSIGN_OR_RAISE_IMPL(KERNEL_ASSIGN_OR_RAISE_NAME(_error_or_value, __COUNTER__), \ - lhs, ctx, rexpr); - -/// KernelState adapter for the common case of kernels whose only -/// state is an instance of a subclass of FunctionOptions. -/// Default FunctionOptions are *not* handled here. -template -struct OptionsWrapper : public KernelState { - explicit OptionsWrapper(OptionsType options) : options(std::move(options)) {} - - static std::unique_ptr Init(KernelContext* ctx, - const KernelInitArgs& args) { - if (auto options = static_cast(args.options)) { - return ::arrow::internal::make_unique(*options); - } - - ctx->SetStatus( - Status::Invalid("Attempted to initialize KernelState from null FunctionOptions")); - return NULLPTR; - } - - static const OptionsType& Get(const KernelState& state) { - return ::arrow::internal::checked_cast(state).options; - } - - static const OptionsType& Get(KernelContext* ctx) { return Get(*ctx->state()); } - - OptionsType options; -}; - -// ---------------------------------------------------------------------- -// Iteration / value access utilities - -template -using enable_if_has_c_type_not_boolean = - enable_if_t::value && !is_boolean_type::value, R>; - -template -struct ArrayIterator; - -template -struct ArrayIterator> { - using T = typename Type::c_type; - const T* values; - explicit ArrayIterator(const ArrayData& data) : values(data.GetValues(1)) {} - T operator()() { return *values++; } -}; - -template -struct ArrayIterator> { - BitmapReader reader; - explicit ArrayIterator(const ArrayData& data) - : reader(data.buffers[1]->data(), data.offset, data.length) {} - bool operator()() { - bool out = reader.IsSet(); - reader.Next(); - return out; - } -}; - -template -struct ArrayIterator> { - using offset_type = typename Type::offset_type; - const ArrayData& arr; - const offset_type* offsets; - offset_type cur_offset; - const char* data; - int64_t position; - explicit ArrayIterator(const ArrayData& arr) - : arr(arr), - offsets(reinterpret_cast(arr.buffers[1]->data()) + - arr.offset), - cur_offset(offsets[0]), - data(reinterpret_cast(arr.buffers[2]->data())), - position(0) {} - - util::string_view operator()() { - offset_type next_offset = offsets[position++ + 1]; - auto result = util::string_view(data + cur_offset, next_offset - cur_offset); - cur_offset = next_offset; - return result; - } -}; - -template -struct UnboxScalar; - -template -struct UnboxScalar> { - using T = typename Type::c_type; - static T Unbox(const Scalar& val) { - return *reinterpret_cast( - checked_cast(val).data()); - } -}; - -template -struct UnboxScalar> { - static util::string_view Unbox(const Scalar& val) { - return util::string_view(*checked_cast(val).value); - } -}; - -template <> -struct UnboxScalar { - static Decimal128 Unbox(const Scalar& val) { - return checked_cast(val).value; - } -}; - -template -struct GetViewType; - -template -struct GetViewType> { - using T = typename Type::c_type; -}; - -template -struct GetViewType::value || - is_fixed_size_binary_type::value>> { - using T = util::string_view; -}; - -template <> -struct GetViewType { - using T = Decimal128; -}; - -template -struct GetOutputType; - -template -struct GetOutputType> { - using T = typename Type::c_type; -}; - -template -struct GetOutputType::value>> { - using T = std::string; -}; - -template <> -struct GetOutputType { - using T = Decimal128; -}; - -template -struct BoxScalar; - -template -struct BoxScalar> { - using T = typename GetOutputType::T; - using ScalarType = typename TypeTraits::ScalarType; - static void Box(T val, Scalar* out) { checked_cast(out)->value = val; } -}; - -template -struct BoxScalar> { - using T = typename GetOutputType::T; - using ScalarType = typename TypeTraits::ScalarType; - static void Box(T val, Scalar* out) { - checked_cast(out)->value = std::make_shared(val); - } -}; - -template <> -struct BoxScalar { - using T = Decimal128; - using ScalarType = Decimal128Scalar; - static void Box(T val, Scalar* out) { checked_cast(out)->value = val; } -}; - -// ---------------------------------------------------------------------- -// Reusable type resolvers - -Result FirstType(KernelContext*, const std::vector& descrs); - -// ---------------------------------------------------------------------- -// Generate an array kernel given template classes - -void ExecFail(KernelContext* ctx, const ExecBatch& batch, Datum* out); - -ArrayKernelExec MakeFlippedBinaryExec(ArrayKernelExec exec); - -// ---------------------------------------------------------------------- -// Helpers for iterating over common DataType instances for adding kernels to -// functions - -const std::vector>& BaseBinaryTypes(); -const std::vector>& StringTypes(); -const std::vector>& SignedIntTypes(); -const std::vector>& UnsignedIntTypes(); -const std::vector>& IntTypes(); -const std::vector>& FloatingPointTypes(); - -ARROW_EXPORT -const std::vector& AllTimeUnits(); - -// Returns a vector of example instances of parametric types such as -// -// * Decimal -// * Timestamp (requiring unit) -// * Time32 (requiring unit) -// * Time64 (requiring unit) -// * Duration (requiring unit) -// * List, LargeList, FixedSizeList -// * Struct -// * Union -// * Dictionary -// * Map -// -// Generally kernels will use the "FirstType" OutputType::Resolver above for -// the OutputType of the kernel's signature and match::SameTypeId for the -// corresponding InputType -const std::vector>& ExampleParametricTypes(); - -// Number types without boolean -const std::vector>& NumericTypes(); - -// Temporal types including time and timestamps for each unit -const std::vector>& TemporalTypes(); - -// Integer, floating point, base binary, and temporal -const std::vector>& PrimitiveTypes(); - -// ---------------------------------------------------------------------- -// "Applicators" take an operator definition (which may be scalar-valued or -// array-valued) and creates an ArrayKernelExec which can be used to add an -// ArrayKernel to a Function. - -namespace applicator { - -// Generate an ArrayKernelExec given a functor that handles all of its own -// iteration, etc. -// -// Operator must implement -// -// static void Call(KernelContext*, const ArrayData& in, ArrayData* out) -// static void Call(KernelContext*, const Scalar& in, Scalar* out) -template -void SimpleUnary(KernelContext* ctx, const ExecBatch& batch, Datum* out) { - if (batch[0].kind() == Datum::SCALAR) { - Operator::Call(ctx, *batch[0].scalar(), out->scalar().get()); - } else if (batch.length > 0) { - Operator::Call(ctx, *batch[0].array(), out->mutable_array()); - } -} - -// Generate an ArrayKernelExec given a functor that handles all of its own -// iteration, etc. -// -// Operator must implement -// -// static void Call(KernelContext*, const ArrayData& arg0, const ArrayData& arg1, -// ArrayData* out) -template -void SimpleBinary(KernelContext* ctx, const ExecBatch& batch, Datum* out) { - if (batch[0].kind() == Datum::SCALAR || batch[1].kind() == Datum::SCALAR) { - ctx->SetStatus(Status::NotImplemented("NYI")); - } else if (batch.length > 0) { - Operator::Call(ctx, *batch[0].array(), *batch[1].array(), out->mutable_array()); - } -} - -// OutputAdapter allows passing an inlineable lambda that provides a sequence -// of output values to write into output memory. Boolean and primitive outputs -// are currently implemented, and the validity bitmap is presumed to be handled -// at a higher level, so this writes into every output slot, null or not. -template -struct OutputAdapter; - -template -struct OutputAdapter> { - template - static void Write(KernelContext*, Datum* out, Generator&& generator) { - ArrayData* out_arr = out->mutable_array(); - auto out_bitmap = out_arr->buffers[1]->mutable_data(); - GenerateBitsUnrolled(out_bitmap, out_arr->offset, out_arr->length, - std::forward(generator)); - } -}; - -template -struct OutputAdapter> { - template - static void Write(KernelContext*, Datum* out, Generator&& generator) { - ArrayData* out_arr = out->mutable_array(); - auto out_data = out_arr->GetMutableValues(1); - // TODO: Is this as fast as a more explicitly inlined function? - for (int64_t i = 0; i < out_arr->length; ++i) { - *out_data++ = generator(); - } - } -}; - -template -struct OutputAdapter> { - template - static void Write(KernelContext* ctx, Datum* out, Generator&& generator) { - ctx->SetStatus(Status::NotImplemented("NYI")); - } -}; - -// A kernel exec generator for unary functions that addresses both array and -// scalar inputs and dispatches input iteration and output writing to other -// templates -// -// This template executes the operator even on the data behind null values, -// therefore it is generally only suitable for operators that are safe to apply -// even on the null slot values. -// -// The "Op" functor should have the form -// -// struct Op { -// template -// static OUT Call(KernelContext* ctx, ARG0 val) { -// // implementation -// } -// }; -template -struct ScalarUnary { - using OUT = typename GetOutputType::T; - using ARG0 = typename GetViewType::T; - - static void Array(KernelContext* ctx, const ArrayData& arg0, Datum* out) { - ArrayIterator arg0_it(arg0); - OutputAdapter::Write( - ctx, out, [&]() -> OUT { return Op::template Call(ctx, arg0_it()); }); - } - - static void Scalar(KernelContext* ctx, const Scalar& arg0, Datum* out) { - if (arg0.is_valid) { - ARG0 arg0_val = UnboxScalar::Unbox(arg0); - BoxScalar::Box(Op::template Call(ctx, arg0_val), - out->scalar().get()); - } else { - out->value = MakeNullScalar(arg0.type); - } - } - - static void Exec(KernelContext* ctx, const ExecBatch& batch, Datum* out) { - if (batch[0].kind() == Datum::ARRAY) { - return Array(ctx, *batch[0].array(), out); - } else { - return Scalar(ctx, *batch[0].scalar(), out); - } - } -}; - -// A VisitArrayDataInline variant that passes a Decimal128 value, -// not util::string_view, for decimal128 arrays, - -template -static typename std::enable_if::value, void>::type -VisitArrayValuesInline(const ArrayData& arr, VisitFunc&& valid_func, - NullFunc&& null_func) { - VisitArrayDataInline(arr, std::forward(valid_func), - std::forward(null_func)); -} - -template -static typename std::enable_if::value, void>::type -VisitArrayValuesInline(const ArrayData& arr, VisitFunc&& valid_func, - NullFunc&& null_func) { - VisitArrayDataInline( - arr, - [&](util::string_view v) { - const auto dec_value = Decimal128(reinterpret_cast(v.data())); - valid_func(dec_value); - }, - std::forward(null_func)); -} - -// An alternative to ScalarUnary that Applies a scalar operation with state on -// only the not-null values of a single array -template -struct ScalarUnaryNotNullStateful { - using ThisType = ScalarUnaryNotNullStateful; - using OUT = typename GetOutputType::T; - using ARG0 = typename GetViewType::T; - - Op op; - explicit ScalarUnaryNotNullStateful(Op op) : op(std::move(op)) {} - - // NOTE: In ArrayExec, Type is really OutputType - - template - struct ArrayExec { - static void Exec(const ThisType& functor, KernelContext* ctx, const ExecBatch& batch, - Datum* out) { - ARROW_LOG(FATAL) << "Missing ArrayExec specialization for output type " - << out->type(); - } - }; - - template - struct ArrayExec< - Type, enable_if_t::value && !is_boolean_type::value>> { - static void Exec(const ThisType& functor, KernelContext* ctx, const ArrayData& arg0, - Datum* out) { - ArrayData* out_arr = out->mutable_array(); - auto out_data = out_arr->GetMutableValues(1); - VisitArrayValuesInline( - arg0, - [&](ARG0 v) { *out_data++ = functor.op.template Call(ctx, v); }, - [&]() { - // null - ++out_data; - }); - } - }; - - template - struct ArrayExec> { - static void Exec(const ThisType& functor, KernelContext* ctx, const ArrayData& arg0, - Datum* out) { - // NOTE: This code is not currently used by any kernels and has - // suboptimal performance because it's recomputing the validity bitmap - // that is already computed by the kernel execution layer. Consider - // writing a lower-level "output adapter" for base binary types. - typename TypeTraits::BuilderType builder; - VisitArrayValuesInline( - arg0, - [&](ARG0 v) { - KERNEL_RETURN_IF_ERROR(ctx, builder.Append(functor.op.Call(ctx, v))); - }, - [&]() { KERNEL_RETURN_IF_ERROR(ctx, builder.AppendNull()); }); - if (!ctx->HasError()) { - std::shared_ptr result; - ctx->SetStatus(builder.FinishInternal(&result)); - out->value = std::move(result); - } - } - }; - - template - struct ArrayExec::value>> { - static void Exec(const ThisType& functor, KernelContext* ctx, const ArrayData& arg0, - Datum* out) { - ArrayData* out_arr = out->mutable_array(); - FirstTimeBitmapWriter out_writer(out_arr->buffers[1]->mutable_data(), - out_arr->offset, out_arr->length); - VisitArrayValuesInline( - arg0, - [&](ARG0 v) { - if (functor.op.template Call(ctx, v)) { - out_writer.Set(); - } - out_writer.Next(); - }, - [&]() { - // null - out_writer.Clear(); - out_writer.Next(); - }); - out_writer.Finish(); - } - }; - - template - struct ArrayExec::value>> { - static void Exec(const ThisType& functor, KernelContext* ctx, const ArrayData& arg0, - Datum* out) { - ArrayData* out_arr = out->mutable_array(); - auto out_data = out_arr->GetMutableValues(1); - VisitArrayValuesInline( - arg0, - [&](ARG0 v) { - functor.op.template Call(ctx, v).ToBytes(out_data); - out_data += 16; - }, - [&]() { out_data += 16; }); - } - }; - - void Scalar(KernelContext* ctx, const Scalar& arg0, Datum* out) { - if (arg0.is_valid) { - ARG0 arg0_val = UnboxScalar::Unbox(arg0); - BoxScalar::Box(this->op.template Call(ctx, arg0_val), - out->scalar().get()); - } else { - out->value = MakeNullScalar(arg0.type); - } - } - - void Exec(KernelContext* ctx, const ExecBatch& batch, Datum* out) { - if (batch[0].kind() == Datum::ARRAY) { - ArrayExec::Exec(*this, ctx, *batch[0].array(), out); - } else { - return Scalar(ctx, *batch[0].scalar(), out); - } - } -}; - -// An alternative to ScalarUnary that Applies a scalar operation on only the -// not-null values of a single array. The operator is not stateful; if the -// operator requires some initialization use ScalarUnaryNotNullStateful -template -struct ScalarUnaryNotNull { - using OUT = typename GetOutputType::T; - using ARG0 = typename GetViewType::T; - - static void Exec(KernelContext* ctx, const ExecBatch& batch, Datum* out) { - // Seed kernel with dummy state - ScalarUnaryNotNullStateful kernel({}); - return kernel.Exec(ctx, batch, out); - } -}; - -// A kernel exec generator for binary functions that addresses both array and -// scalar inputs and dispatches input iteration and output writing to other -// templates -// -// This template executes the operator even on the data behind null values, -// therefore it is generally only suitable for operators that are safe to apply -// even on the null slot values. -// -// The "Op" functor should have the form -// -// struct Op { -// template -// static OUT Call(KernelContext* ctx, ARG0 arg0, ARG1 arg1) { -// // implementation -// } -// }; -template -struct ScalarBinary { - using OUT = typename GetOutputType::T; - using ARG0 = typename GetViewType::T; - using ARG1 = typename GetViewType::T; - - static void ArrayArray(KernelContext* ctx, const ArrayData& arg0, const ArrayData& arg1, - Datum* out) { - ArrayIterator arg0_it(arg0); - ArrayIterator arg1_it(arg1); - OutputAdapter::Write( - ctx, out, [&]() -> OUT { return Op::template Call(ctx, arg0_it(), arg1_it()); }); - } - - static void ArrayScalar(KernelContext* ctx, const ArrayData& arg0, const Scalar& arg1, - Datum* out) { - ArrayIterator arg0_it(arg0); - auto arg1_val = UnboxScalar::Unbox(arg1); - OutputAdapter::Write( - ctx, out, [&]() -> OUT { return Op::template Call(ctx, arg0_it(), arg1_val); }); - } - - static void ScalarArray(KernelContext* ctx, const Scalar& arg0, const ArrayData& arg1, - Datum* out) { - auto arg0_val = UnboxScalar::Unbox(arg0); - ArrayIterator arg1_it(arg1); - OutputAdapter::Write( - ctx, out, [&]() -> OUT { return Op::template Call(ctx, arg0_val, arg1_it()); }); - } - - static void ScalarScalar(KernelContext* ctx, const Scalar& arg0, const Scalar& arg1, - Datum* out) { - if (out->scalar()->is_valid) { - auto arg0_val = UnboxScalar::Unbox(arg0); - auto arg1_val = UnboxScalar::Unbox(arg1); - BoxScalar::Box(Op::template Call(ctx, arg0_val, arg1_val), - out->scalar().get()); - } - } - - static void Exec(KernelContext* ctx, const ExecBatch& batch, Datum* out) { - if (batch[0].kind() == Datum::ARRAY) { - if (batch[1].kind() == Datum::ARRAY) { - return ArrayArray(ctx, *batch[0].array(), *batch[1].array(), out); - } else { - return ArrayScalar(ctx, *batch[0].array(), *batch[1].scalar(), out); - } - } else { - if (batch[1].kind() == Datum::ARRAY) { - // e.g. if we were doing scalar < array, we flip and do array >= scalar - return ScalarArray(ctx, *batch[0].scalar(), *batch[1].array(), out); - } else { - return ScalarScalar(ctx, *batch[0].scalar(), *batch[1].scalar(), out); - } - } - } -}; - -// A kernel exec generator for binary kernels where both input types are the -// same -template -using ScalarBinaryEqualTypes = ScalarBinary; - -} // namespace applicator - -// ---------------------------------------------------------------------- -// BEGIN of kernel generator-dispatchers ("GD") -// -// These GD functions instantiate kernel functor templates and select one of -// the instantiated kernels dynamically based on the data type or Type::type id -// that is passed. This enables functions to be populated with kernels by -// looping over vectors of data types rather than using macros or other -// approaches. -// -// The kernel functor must be of the form: -// -// template -// struct FUNCTOR { -// static void Exec(KernelContext* ctx, const ExecBatch& batch, Datum* out) { -// // IMPLEMENTATION -// } -// }; -// -// When you pass FUNCTOR to a GD function, you must pass at least one static -// type along with the functor -- this is often the fixed return type of the -// functor. This Type0 argument is passed as the first argument to the functor -// during instantiation. The 2nd type passed to the functor is the DataType -// subclass corresponding to the type passed as argument (not template type) to -// the function. -// -// For example, GenerateNumeric(int32()) will select a kernel -// instantiated like FUNCTOR. Any additional variadic -// template arguments will be passed as additional template arguments to the -// kernel template. - -namespace detail { - -// Convenience so we can pass DataType or Type::type for the GD's -struct GetTypeId { - Type::type id; - GetTypeId(const std::shared_ptr& type) // NOLINT implicit construction - : id(type->id()) {} - GetTypeId(const DataType& type) // NOLINT implicit construction - : id(type.id()) {} - GetTypeId(Type::type id) // NOLINT implicit construction - : id(id) {} -}; - -} // namespace detail - -// GD for numeric types (integer and floating point) -template