switch to cmake build

This commit is contained in:
Mario Fink 2020-08-03 17:51:27 +02:00
parent 232d376287
commit 26930e960c
432 changed files with 1298 additions and 101917 deletions

View File

@ -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

View File

@ -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')

View File

@ -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")
#-----------------------------------------------------------------------------#

View File

@ -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 $@

96
lib/parquet/makefile.bkup Normal file
View File

@ -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
#------------------------------------------------------------------------------------#

303
lib/parquet/makefileobj Normal file
View File

@ -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 $@

View File

@ -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 <boost/config.hpp> // for BOOST_LIKELY
#include <boost/current_function.hpp>
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 <assert.h> // .h to support old libraries w/o <cassert> - 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

View File

@ -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 <boost/core/checked_delete.hpp>
#endif

View File

@ -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 <boost/config/user.hpp>
#if 0
// For dependency trackers:
# include <boost/config/user.hpp>
#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 <boost/config/detail/select_compiler_config.hpp>
#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 <boost/config/detail/select_stdlib_config.hpp>
#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 <boost/config/detail/select_platform_config.hpp>
#endif
// if we have a platform config, include it now:
#ifdef BOOST_PLATFORM_CONFIG
# include BOOST_PLATFORM_CONFIG
#endif
// get config suffix code:
#include <boost/config/detail/suffix.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
#endif
#endif // BOOST_CONFIG_HPP

View File

@ -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 <cstddef> 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 <cstddef>
#else
#include <stddef.h>
#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

View File

@ -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 <unistd.h>
// XOpen has <nl_types.h>, 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 <stdint.h>
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)
# define BOOST_HAS_STDINT_H
# endif
// POSIX version 2 requires <dirent.h>
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
# define BOOST_HAS_DIRENT_H
# endif
// POSIX version 3 requires <signal.h> 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 <pthreads.h>, 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

View File

@ -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 <boost/config/compiler/gcc_xml.hpp>
#include <boost/config/compiler/cray.hpp>
#include <boost/config/compiler/comeau.hpp>
#include <boost/config/compiler/pathscale.hpp>
#include <boost/config/compiler/intel.hpp>
#include <boost/config/compiler/clang.hpp>
#include <boost/config/compiler/digitalmars.hpp>
#include <boost/config/compiler/gcc.hpp>
#include <boost/config/compiler/kai.hpp>
#include <boost/config/compiler/sgi_mipspro.hpp>
#include <boost/config/compiler/compaq_cxx.hpp>
#include <boost/config/compiler/greenhills.hpp>
#include <boost/config/compiler/codegear.hpp>
#include <boost/config/compiler/borland.hpp>
#include <boost/config/compiler/metrowerks.hpp>
#include <boost/config/compiler/sunpro_cc.hpp>
#include <boost/config/compiler/hp_acc.hpp>
#include <boost/config/compiler/mpw.hpp>
#include <boost/config/compiler/xlcpp_zos.hpp>
#include <boost/config/compiler/xlcpp.hpp>
#include <boost/config/compiler/vacpp.hpp>
#include <boost/config/compiler/pgi.hpp>
#include <boost/config/compiler/visualc.hpp>
#endif

View File

@ -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
// <header_name> 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 <boost/config/detail/posix_features.hpp>
# 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 <boost/config/detail/posix_features.hpp>
#endif

View File

@ -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 <cstddef> 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 <cstddef>
#else
# include <stddef.h>
#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 <utility> 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 <cstddef>
// 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 <utility>
#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

View File

@ -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 <cmath> 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 <cmath>
# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
# undef BOOST_TR1_NO_RECURSION
# undef BOOST_CONFIG_NO_CMATH_RECURSION
# endif
#endif

View File

@ -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 <cstdlib>
#else
#include <stdlib.h>
#endif
//
// <stdint.h> added to glibc 2.1.1
// We can only test for 2.1 though:
//
#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
// <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
// int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h>
// 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 <boost/config/detail/posix_features.hpp>
#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 <stdint.h>)
// 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

View File

@ -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 <unistd.h>
#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 <ext/slist>
# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
# define BOOST_HASH_SET_HEADER <ext/hash_set>
# define BOOST_HASH_MAP_HEADER <ext/hash_map>
# else
# define BOOST_HASH_SET_HEADER <backward/hash_set>
# define BOOST_HASH_MAP_HEADER <backward/hash_map>
# 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(<experimental/memory_resource>)
# define BOOST_LIBSTDCXX_VERSION 60100
#elif __has_include(<experimental/any>)
# define BOOST_LIBSTDCXX_VERSION 50100
#elif __has_include(<shared_mutex>)
# define BOOST_LIBSTDCXX_VERSION 40900
#elif __has_include(<ext/cmath>)
# define BOOST_LIBSTDCXX_VERSION 40800
#elif __has_include(<scoped_allocator>)
# define BOOST_LIBSTDCXX_VERSION 40700
#elif __has_include(<typeindex>)
# define BOOST_LIBSTDCXX_VERSION 40600
#elif __has_include(<future>)
# define BOOST_LIBSTDCXX_VERSION 40500
#elif __has_include(<ratio>)
# define BOOST_LIBSTDCXX_VERSION 40400
#elif __has_include(<array>)
# 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 <chrono>, 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 <atomic> and <regex> 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 <chrono> 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 <atomic> 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 <regex> 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 <atomic> 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(<shared_mutex>)
# 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 ---

View File

@ -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 <myheader>
// define this to locate a stdlib config file:
// #define BOOST_STDLIB_CONFIG <myheader>
// define this to locate a platform config file:
// #define BOOST_PLATFORM_CONFIG <myheader>
// 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

View File

@ -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 <boost/config.hpp>
#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

View File

@ -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/config.hpp>
//
// 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<class T> 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<class T> 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<class T> 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<class T> 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

View File

@ -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<typename T, typename R=void>
struct enable_if_has_type
{
typedef R type;
};
template <bool B, class T = void>
struct enable_if_c {
typedef T type;
};
template <class T>
struct enable_if_c<false, T> {};
template <class Cond, class T = void>
struct enable_if : public enable_if_c<Cond::value, T> {};
template <bool B, class T>
struct lazy_enable_if_c {
typedef typename T::type type;
};
template <class T>
struct lazy_enable_if_c<false, T> {};
template <class Cond, class T>
struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {};
template <bool B, class T = void>
struct disable_if_c {
typedef T type;
};
template <class T>
struct disable_if_c<true, T> {};
template <class Cond, class T = void>
struct disable_if : public disable_if_c<Cond::value, T> {};
template <bool B, class T>
struct lazy_disable_if_c {
typedef typename T::type type;
};
template <class T>
struct lazy_disable_if_c<true, T> {};
template <class Cond, class T>
struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {};
} // namespace boost
#else
namespace boost {
namespace detail { typedef void enable_if_default_T; }
template <typename T>
struct enable_if_does_not_work_on_this_compiler;
template<typename T, typename R=void>
struct enable_if_has_type : enable_if_does_not_work_on_this_compiler<T>
{ };
template <bool B, class T = detail::enable_if_default_T>
struct enable_if_c : enable_if_does_not_work_on_this_compiler<T>
{ };
template <bool B, class T = detail::enable_if_default_T>
struct disable_if_c : enable_if_does_not_work_on_this_compiler<T>
{ };
template <bool B, class T = detail::enable_if_default_T>
struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler<T>
{ };
template <bool B, class T = detail::enable_if_default_T>
struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler<T>
{ };
template <class Cond, class T = detail::enable_if_default_T>
struct enable_if : enable_if_does_not_work_on_this_compiler<T>
{ };
template <class Cond, class T = detail::enable_if_default_T>
struct disable_if : enable_if_does_not_work_on_this_compiler<T>
{ };
template <class Cond, class T = detail::enable_if_default_T>
struct lazy_enable_if : enable_if_does_not_work_on_this_compiler<T>
{ };
template <class Cond, class T = detail::enable_if_default_T>
struct lazy_disable_if : enable_if_does_not_work_on_this_compiler<T>
{ };
} // namespace boost
#endif // BOOST_NO_SFINAE
#endif

View File

@ -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 <boost/stdint.h> (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 <stdint.h> 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 <boost/config.hpp>
//
// 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 <stdint.h> in a non-standard location
# include <inttypes.h>
# 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 <inttypes.h>
# else
# include <stdint.h>
// 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 <inttypes.h> that contains much of what we need.
# include <inttypes.h>
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 <boost/limits.hpp> // implementation artifact; not part of interface
# include <limits.h> // 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 <stddef.h>
#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 <stdint.h> 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 <limits.h>
# 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<unsigned char>(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<boost::int8_t>(value)
# define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
# endif
// 16-bit types -----------------------------------------------------------//
# if (USHRT_MAX == 0xffff) && !defined(INT16_C)
# define INT16_C(value) static_cast<boost::int16_t>(value)
# define UINT16_C(value) static_cast<boost::uint16_t>(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.

View File

@ -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

View File

@ -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 <boost/config/workaround.hpp>
#endif // WORKAROUND_DWA2002126_HPP

View File

@ -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 <boost/config.hpp>
#ifdef BOOST_EXCEPTION_MINI_BOOST
#include <memory>
namespace boost { namespace exception_detail { using std::shared_ptr; } }
#else
namespace boost { template <class T> 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 T>
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 Tag,class T>
class error_info;
typedef error_info<struct throw_function_,char const *> throw_function;
typedef error_info<struct throw_file_,char const *> throw_file;
typedef error_info<struct throw_line_,int> throw_line;
template <>
class
error_info<throw_function_,char const *>
{
public:
typedef char const * value_type;
value_type v_;
explicit
error_info( value_type v ):
v_(v)
{
}
};
template <>
class
error_info<throw_file_,char const *>
{
public:
typedef char const * value_type;
value_type v_;
explicit
error_info( value_type v ):
v_(v)
{
}
};
template <>
class
error_info<throw_line_,int>
{
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<error_info_base> get( type_info_ const & ) const = 0;
virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;
virtual void add_ref() const = 0;
virtual bool release() const = 0;
virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;
protected:
~error_info_container() BOOST_NOEXCEPT_OR_NOTHROW
{
}
};
template <class>
struct get_info;
template <>
struct get_info<throw_function>;
template <>
struct get_info<throw_file>;
template <>
struct get_info<throw_line>;
template <class>
struct set_info_rv;
template <>
struct set_info_rv<throw_function>;
template <>
struct set_info_rv<throw_file>;
template <>
struct set_info_rv<throw_line>;
char const * get_diagnostic_information( exception const &, char const * );
void copy_boost_exception( exception *, exception const * );
template <class E,class Tag,class T>
E const & set_info( E const &, error_info<Tag,T> const & );
template <class E>
E const & set_info( E const &, throw_function const & );
template <class E>
E const & set_info( E const &, throw_file const & );
template <class E>
E const & set_info( E const &, throw_line const & );
}
class
BOOST_SYMBOL_VISIBLE
exception
{
//<N3757>
public:
template <class Tag> void set( typename Tag::type const & );
template <class Tag> typename Tag::type const * get() const;
//</N3757>
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 <class E>
friend E const & exception_detail::set_info( E const &, throw_function const & );
template <class E>
friend E const & exception_detail::set_info( E const &, throw_file const & );
template <class E>
friend E const & exception_detail::set_info( E const &, throw_line const & );
template <class E,class Tag,class T>
friend E const & exception_detail::set_info( E const &, error_info<Tag,T> const & );
friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );
template <class>
friend struct exception_detail::get_info;
friend struct exception_detail::get_info<throw_function>;
friend struct exception_detail::get_info<throw_file>;
friend struct exception_detail::get_info<throw_line>;
template <class>
friend struct exception_detail::set_info_rv;
friend struct exception_detail::set_info_rv<throw_function>;
friend struct exception_detail::set_info_rv<throw_file>;
friend struct exception_detail::set_info_rv<throw_line>;
friend void exception_detail::copy_boost_exception( exception *, exception const * );
#endif
mutable exception_detail::refcount_ptr<exception_detail::error_info_container> 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 <class E>
E const &
set_info( E const & x, throw_function const & y )
{
x.throw_function_=y.v_;
return x;
}
template <class E>
E const &
set_info( E const & x, throw_file const & y )
{
x.throw_file_=y.v_;
return x;
}
template <class E>
E const &
set_info( E const & x, throw_line const & y )
{
x.throw_line_=y.v_;
return x;
}
}
////////////////////////////////////////////////////////////////////////
namespace
exception_detail
{
template <class T>
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 <class,int>
struct enable_error_info_helper;
template <class T>
struct
enable_error_info_helper<T,sizeof(large_size)>
{
typedef T type;
};
template <class T>
struct
enable_error_info_helper<T,sizeof(small_size)>
{
typedef error_info_injector<T> type;
};
template <class T>
struct
enable_error_info_return_type
{
typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch_boost_exception(static_cast<T *>(0)))>::type type;
};
}
template <class T>
inline
typename
exception_detail::enable_error_info_return_type<T>::type
enable_error_info( T const & x )
{
typedef typename exception_detail::enable_error_info_return_type<T>::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<error_info_container> 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 T>
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 <class T>
inline
exception_detail::clone_impl<T>
enable_current_exception( T const & x )
{
return exception_detail::clone_impl<T>(x);
}
template <class T>
struct
BOOST_SYMBOL_VISIBLE
wrapexcept:
public exception_detail::clone_impl<typename exception_detail::enable_error_info_return_type<T>::type>
{
typedef exception_detail::clone_impl<typename exception_detail::enable_error_info_return_type<T>::type> base_type;
public:
explicit
wrapexcept( typename exception_detail::enable_error_info_return_type<T>::type const & x ):
base_type( x )
{
}
~wrapexcept() BOOST_NOEXCEPT_OR_NOTHROW
{
}
};
namespace
exception_detail
{
template <class T>
struct
remove_error_info_injector
{
typedef T type;
};
template <class T>
struct
remove_error_info_injector< error_info_injector<T> >
{
typedef T type;
};
template <class T>
inline
wrapexcept<typename remove_error_info_injector<T>::type>
enable_both( T const & x )
{
return wrapexcept<typename remove_error_info_injector<T>::type>( enable_error_info( x ) );
}
}
}
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
#pragma warning(pop)
#endif
#endif

View File

@ -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 <limits>
// See http://www.boost.org/libs/compatibility/index.html for documentation.
#ifndef BOOST_LIMITS
#define BOOST_LIMITS
#include <boost/config.hpp>
#ifdef BOOST_NO_LIMITS
# error "There is no std::numeric_limits suppport available."
#else
# include <limits>
#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 <climits> // for CHAR_BIT
namespace std
{
template<>
class numeric_limits<BOOST_LLT>
{
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<BOOST_ULLT>
{
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

View File

@ -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 <boost/mpl/aux_/config/use_preprocessed.hpp>
#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE)
# include <boost/mpl/bool.hpp>
# include <boost/mpl/aux_/nested_type_wknd.hpp>
# include <boost/mpl/aux_/na_spec.hpp>
# include <boost/mpl/aux_/lambda_support.hpp>
// agurt, 19/may/04: workaround a conflict with <iso646.h> 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 <boost/mpl/aux_/include_preprocessed.hpp>
#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 <boost/mpl/aux_/logical_op.hpp>
#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
#endif // BOOST_MPL_AND_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/arity.hpp>
# include <boost/mpl/aux_/has_apply.hpp>
# include <boost/mpl/aux_/na.hpp>
# include <boost/mpl/aux_/msvc_never_true.hpp>
#endif
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE)
# define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp
# include <boost/mpl/aux_/include_preprocessed.hpp>
#else
# include <boost/mpl/limits/arity.hpp>
# include <boost/mpl/aux_/preprocessor/params.hpp>
# include <boost/mpl/aux_/preprocessor/enum.hpp>
# include <boost/mpl/aux_/preprocessor/add.hpp>
# include <boost/mpl/aux_/config/bcc.hpp>
# include <boost/mpl/aux_/config/ctps.hpp>
# include <boost/mpl/aux_/config/dtp.hpp>
# include <boost/mpl/aux_/config/eti.hpp>
# include <boost/mpl/aux_/config/msvc.hpp>
# include <boost/mpl/aux_/config/workaround.hpp>
# include <boost/preprocessor/comma_if.hpp>
# include <boost/preprocessor/logical/and.hpp>
# include <boost/preprocessor/inc.hpp>
# include <boost/preprocessor/iterate.hpp>
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, <boost/mpl/apply_wrap.hpp>))
#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 <boost/mpl/aux_/msvc_dtw.hpp>
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_)<F>::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_, <boost/mpl/apply_wrap.hpp>))
#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<F,i_>::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<F>::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,true_>
: 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_)<AUX778076_APPLY_WRAP_SPEC_PARAMS(i_, int)>
{
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

View File

@ -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 <boost/mpl/aux_/config/adl.hpp>
#include <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/mpl/integral_c.hpp>
# include <boost/mpl/aux_/largest_int.hpp>
# include <boost/mpl/aux_/value_wknd.hpp>
#endif
#if !defined(AUX778076_OP_PREFIX)
# define AUX778076_OP_PREFIX AUX778076_OP_NAME
#endif
#include <boost/mpl/aux_/numeric_op.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE)
# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
# include <boost/mpl/aux_/include_preprocessed.hpp>
#else
# include <boost/mpl/aux_/config/workaround.hpp>
# include <boost/preprocessor/cat.hpp>
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<T,value> type;
};
}
#endif
template<>
struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
{
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

View File

@ -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 <boost/mpl/aux_/config/dtp.hpp>
#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
# include <boost/mpl/aux_/nttp_decl.hpp>
# include <boost/mpl/aux_/config/static_constant.hpp>
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

View File

@ -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 <boost/mpl/bool.hpp>
# include <boost/mpl/aux_/value_wknd.hpp>
#endif
#if !defined(AUX778076_OP_PREFIX)
# define AUX778076_OP_PREFIX AUX778076_OP_NAME
#endif
#define AUX778076_OP_ARITY 2
#include <boost/mpl/aux_/numeric_op.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
#include <boost/mpl/aux_/config/use_preprocessed.hpp>
#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE)
# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
# include <boost/mpl/aux_/include_preprocessed.hpp>
#else
# include <boost/mpl/aux_/config/integral.hpp>
# include <boost/preprocessor/cat.hpp>
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<integral_c_tag,integral_c_tag>
{
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_<value> 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

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/intel.hpp>
#include <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
// 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

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/mpl/aux_/config/dtp.hpp>
# include <boost/mpl/aux_/config/ttp.hpp>
# include <boost/mpl/aux_/config/ctps.hpp>
# include <boost/mpl/aux_/config/msvc.hpp>
# include <boost/mpl/aux_/config/gcc.hpp>
# include <boost/mpl/aux_/config/workaround.hpp>
# 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

View File

@ -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 <boost/mpl/aux_/config/workaround.hpp>
#include <boost/config.hpp>
#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 <boost/config.hpp>
#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/config/workaround.hpp>
// 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

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
// 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

View File

@ -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 <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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

View File

@ -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 <boost/mpl/aux_/config/has_xxx.hpp>
#include <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/mpl/aux_/config/overload_resolution.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
// 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

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/config.hpp>
#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/config/ttp.hpp>
#include <boost/mpl/aux_/config/ctps.hpp>
// 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

View File

@ -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 <boost/config.hpp>
#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
// 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<char>);
//
// 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

View File

@ -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 <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/config.hpp>
#else
// undef the macro for the preprocessing mode
# undef BOOST_STATIC_CONSTANT
#endif
#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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

View File

@ -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 <boost/detail/workaround.hpp>
#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED

View File

@ -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 <boost/mpl/has_xxx.hpp>
#include <boost/mpl/aux_/config/has_apply.hpp>
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

View File

@ -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 <boost/mpl/has_xxx.hpp>
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

View File

@ -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 <boost/mpl/aux_/config/compiler.hpp>
#include <boost/mpl/aux_/config/preprocessor.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/stringize.hpp>
#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

View File

@ -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 <boost/mpl/integral_c_tag.hpp>
#include <boost/mpl/aux_/static_cast.hpp>
#include <boost/mpl/aux_/nttp_decl.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#include <boost/preprocessor/cat.hpp>
#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<AUX_WRAPPER_VALUE_TYPE>(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

View File

@ -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 <boost/mpl/aux_/yes_no.hpp>
#include <boost/mpl/aux_/config/eti.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
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<int>
{
BOOST_STATIC_CONSTANT(bool, value = true);
};
#endif // BOOST_MPL_CFG_MSVC_ETI_BUG
}}}
#endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/config/ttp.hpp>
#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

View File

@ -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 <boost/mpl/aux_/config/lambda.hpp>
#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 <boost/mpl/int_fwd.hpp>
# include <boost/mpl/aux_/yes_no.hpp>
# include <boost/mpl/aux_/na_fwd.hpp>
# include <boost/mpl/aux_/preprocessor/params.hpp>
# include <boost/mpl/aux_/preprocessor/enum.hpp>
# include <boost/mpl/aux_/config/msvc.hpp>
# include <boost/mpl/aux_/config/workaround.hpp>
# include <boost/preprocessor/tuple/to_list.hpp>
# include <boost/preprocessor/list/for_each_i.hpp>
# include <boost/preprocessor/inc.hpp>
# include <boost/preprocessor/cat.hpp>
# 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_<i> 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_<i> 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<BOOST_MPL_PP_PARAMS(i,T)>::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_<i> 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<int> \
, name<BOOST_MPL_PP_PARAMS(i,T)>* \
); \
::boost::mpl::aux::no_tag operator|( \
::boost::mpl::aux::has_rebind_tag<int> \
, 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<int> \
, ::boost::mpl::aux::has_rebind_tag< name<BOOST_MPL_PP_PARAMS(i,T)> >* \
); \
/**/
#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

View File

@ -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 <boost/mpl/if.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/aux_/config/integral.hpp>
#include <boost/config.hpp>
namespace boost { namespace mpl { namespace aux {
template< typename T > struct integral_rank;
template<> struct integral_rank<bool> : int_<1> {};
template<> struct integral_rank<signed char> : int_<2> {};
template<> struct integral_rank<char> : int_<3> {};
template<> struct integral_rank<unsigned char> : int_<4> {};
#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
template<> struct integral_rank<wchar_t> : int_<5> {};
#endif
template<> struct integral_rank<short> : int_<6> {};
template<> struct integral_rank<unsigned short> : int_<7> {};
template<> struct integral_rank<int> : int_<8> {};
template<> struct integral_rank<unsigned int> : int_<9> {};
template<> struct integral_rank<long> : int_<10> {};
template<> struct integral_rank<unsigned long> : int_<11> {};
#if defined(BOOST_HAS_LONG_LONG)
template<> struct integral_rank<long_long_type> : int_<12> {};
template<> struct integral_rank<ulong_long_type>: int_<13> {};
#endif
template< typename T1, typename T2 > struct largest_int
#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
: if_c<
( integral_rank<T1>::value >= integral_rank<T2>::value )
, T1
, T2
>
{
#else
{
enum { rank1 = integral_rank<T1>::value };
enum { rank2 = integral_rank<T2>::value };
typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type;
#endif
};
}}}
#endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/is_msvc_eti_arg.hpp>
#include <boost/mpl/aux_/config/eti.hpp>
#include <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
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<true>
{
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<T>::value >
::template result_<T>
{
};
#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<int>
{
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

View File

@ -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 <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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

View File

@ -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 <boost/mpl/bool.hpp>
#include <boost/mpl/aux_/na_fwd.hpp>
#include <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/ctps.hpp>
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<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<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<na,U>
{
typedef U type;
};
#else
template< typename T > struct if_na_impl
{
template< typename U > struct apply
{
typedef T type;
};
};
template<> struct if_na_impl<na>
{
template< typename U > struct apply
{
typedef U type;
};
};
template< typename T, typename U > struct if_na
: if_na_impl<T>::template apply<U>
{
};
#endif
}}
#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED

View File

@ -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.hpp>
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

View File

@ -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 <boost/mpl/lambda_fwd.hpp>
# include <boost/mpl/int.hpp>
# include <boost/mpl/bool.hpp>
# include <boost/mpl/aux_/na.hpp>
# include <boost/mpl/aux_/arity.hpp>
# include <boost/mpl/aux_/template_arity_fwd.hpp>
#endif
#include <boost/mpl/aux_/preprocessor/params.hpp>
#include <boost/mpl/aux_/preprocessor/enum.hpp>
#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
#include <boost/mpl/aux_/lambda_arity_param.hpp>
#include <boost/mpl/aux_/config/dtp.hpp>
#include <boost/mpl/aux_/config/eti.hpp>
#include <boost/mpl/aux_/nttp_decl.hpp>
#include <boost/mpl/aux_/config/ttp.hpp>
#include <boost/mpl/aux_/config/lambda.hpp>
#include <boost/mpl/aux_/config/overload_resolution.hpp>
#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_<j> \
{ \
}; \
\
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

View File

@ -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 <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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<T> \
/**/
#else
# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
::boost::mpl::aux::nested_type_wknd<T> \
/**/
#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

View File

@ -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 <boost/mpl/aux_/config/nttp.hpp>
#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 <boost/preprocessor/cat.hpp>
# 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

View File

@ -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 <boost/mpl/numeric_cast.hpp>
#include <boost/mpl/apply_wrap.hpp>
#include <boost/mpl/aux_/config/forwarding.hpp>
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<Tag1,Tag2>,N1 >::type
, N2
>
{
#else
{
typedef typename apply_wrap2<
F
, typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,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<Tag2,Tag1>,N2 >::type
>
{
#else
{
typedef typename apply_wrap2<
F
, N1
, typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
>::type type;
#endif
};
};
}}}
#endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED

View File

@ -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 <boost/mpl/numeric_cast.hpp>
# include <boost/mpl/apply_wrap.hpp>
# include <boost/mpl/if.hpp>
# include <boost/mpl/tag.hpp>
# include <boost/mpl/aux_/numeric_cast_utils.hpp>
# include <boost/mpl/aux_/na.hpp>
# include <boost/mpl/aux_/na_spec.hpp>
# include <boost/mpl/aux_/lambda_support.hpp>
# include <boost/mpl/aux_/msvc_eti_base.hpp>
# include <boost/mpl/aux_/value_wknd.hpp>
# include <boost/mpl/aux_/config/eti.hpp>
# include <boost/mpl/aux_/nttp_decl.hpp>
#endif
#include <boost/mpl/aux_/config/static_constant.hpp>
#if defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
|| defined(BOOST_MPL_PREPROCESSING_MODE)
# include <boost/mpl/limits/arity.hpp>
# include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>
# include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
# include <boost/mpl/aux_/preprocessor/repeat.hpp>
# include <boost/mpl/aux_/preprocessor/ext_params.hpp>
# include <boost/mpl/aux_/preprocessor/params.hpp>
# include <boost/mpl/aux_/preprocessor/enum.hpp>
# include <boost/mpl/aux_/preprocessor/add.hpp>
# include <boost/mpl/aux_/preprocessor/sub.hpp>
# include <boost/mpl/aux_/config/ctps.hpp>
# include <boost/mpl/aux_/config/eti.hpp>
# include <boost/mpl/aux_/config/msvc.hpp>
# include <boost/mpl/aux_/config/workaround.hpp>
# include <boost/preprocessor/dec.hpp>
# include <boost/preprocessor/inc.hpp>
# include <boost/preprocessor/iterate.hpp>
# include <boost/preprocessor/cat.hpp>
#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,Tag1>,Tag1,Tag2 >
, aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag2,Tag2>,Tag1,Tag2 >
>::type
{
};
/// for Digital Mars C++/compilers with no CTPS/TTP support
template<> struct AUX778076_OP_IMPL_NAME<na,na>
{
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<na,Tag>
{
template< typename U1, typename U2 > struct apply
{
typedef apply type;
BOOST_STATIC_CONSTANT(int, value = 0);
};
};
template< typename Tag > struct AUX778076_OP_IMPL_NAME<Tag,na>
{
template< typename U1, typename U2 > struct apply
{
typedef apply type;
BOOST_STATIC_CONSTANT(int, value = 0);
};
};
#else
template<> struct AUX778076_OP_IMPL_NAME<na,integral_c_tag>
{
template< typename U1, typename U2 > struct apply
{
typedef apply type;
BOOST_STATIC_CONSTANT(int, value = 0);
};
};
template<> struct AUX778076_OP_IMPL_NAME<integral_c_tag,na>
{
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<T,na>
{
};
#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, <boost/mpl/aux_/numeric_op.hpp> ))
#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<N3>
, BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
, AUX778076_OP_NAME<
BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
, 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<N1>::type
, typename AUX778076_OP_TAG_NAME<N2>::type
>::template apply<N1,N2>::type
#else
: aux::msvc_eti_base< typename apply_wrap2<
AUX778076_OP_IMPL_NAME<
typename AUX778076_OP_TAG_NAME<N1>::type
, typename AUX778076_OP_TAG_NAME<N2>::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<BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na)>
#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

View File

@ -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_
)
}}

View File

@ -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<F>::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<T1>
{
};
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 >
{
};
}}

View File

@ -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<N1>::type
, typename equal_to_tag<N2>::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 ) >
{
};
};
}}

View File

@ -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<N1>::type
, typename less_tag<N2>::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 ) >
{
};
};
}}

View File

@ -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<N1>::type
, typename times_tag<N2>::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
)
>
{
};
};
}}

View File

@ -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 <boost/mpl/limits/arity.hpp>
#include <boost/mpl/aux_/config/dtp.hpp>
#include <boost/mpl/aux_/config/preprocessor.hpp>
#include <boost/preprocessor/comma_if.hpp>
#include <boost/preprocessor/logical/and.hpp>
#include <boost/preprocessor/identity.hpp>
#include <boost/preprocessor/empty.hpp>
// 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): <nothing>
#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
# include <boost/mpl/aux_/preprocessor/filter_params.hpp>
# include <boost/mpl/aux_/preprocessor/sub.hpp>
# 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 <boost/preprocessor/arithmetic/add.hpp>
# include <boost/preprocessor/arithmetic/sub.hpp>
# include <boost/preprocessor/inc.hpp>
# include <boost/preprocessor/tuple/elem.hpp>
# include <boost/preprocessor/repeat.hpp>
# include <boost/preprocessor/cat.hpp>
# 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

View File

@ -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/aux_/config/preprocessor.hpp>
// BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): <nothing>
// 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 <boost/preprocessor/cat.hpp>
# 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 <boost/preprocessor/tuple/elem.hpp>
# include <boost/preprocessor/comma_if.hpp>
# include <boost/preprocessor/repeat.hpp>
# include <boost/preprocessor/inc.hpp>
# include <boost/preprocessor/cat.hpp>
# 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

View File

@ -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/aux_/config/preprocessor.hpp>
// BOOST_MPL_PP_ENUM(0,int): <nothing>
// 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 <boost/preprocessor/cat.hpp>
# 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 <boost/preprocessor/comma_if.hpp>
# include <boost/preprocessor/repeat.hpp>
# 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

View File

@ -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/aux_/config/preprocessor.hpp>
// BOOST_MPL_PP_PARAMS(0,T): <nothing>
// 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 <boost/preprocessor/cat.hpp>
# 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 <boost/preprocessor/comma_if.hpp>
# include <boost/preprocessor/repeat.hpp>
# include <boost/preprocessor/inc.hpp>
# include <boost/preprocessor/cat.hpp>
# 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

View File

@ -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 <boost/mpl/aux_/config/workaround.hpp>
#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<T>(expr)
#endif
#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED

View File

@ -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

View File

@ -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 <boost/mpl/aux_/config/ctps.hpp>
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<T>' when the latter was the result of a
// 'typeof' expression
template< typename T > struct wrapped_type;
template< typename T > struct wrapped_type< type_wrapper<T> >
{
typedef T type;
};
#else
template< typename W > struct wrapped_type
{
typedef typename W::type type;
};
#endif
}}}
#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/static_cast.hpp>
#include <boost/mpl/aux_/config/integral.hpp>
#include <boost/mpl/aux_/config/eti.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
|| defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
# include <boost/mpl/int.hpp>
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>
: 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<int>
{
typedef int type;
};
#endif
}}}
#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/nttp_decl.hpp>
#include <boost/mpl/aux_/config/arrays.hpp>
#include <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
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<true>
{
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

View File

@ -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 <boost/mpl/bool_fwd.hpp>
#include <boost/mpl/integral_c_tag.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
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_<C_>::value;
#endif
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
#endif // BOOST_MPL_BOOL_HPP_INCLUDED

View File

@ -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.hpp>
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
template< bool C_ > struct bool_;
// shorcuts
typedef bool_<true> true_;
typedef bool_<false> 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

View File

@ -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 <boost/mpl/aux_/comparison_op.hpp>
#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED

View File

@ -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 <boost/mpl/if.hpp>
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp>
#include <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
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_<C,F1,F2>::type f_;
typedef typename f_::type type;
#else
: if_<C,F1,F2>::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<C,F1,F2>::type f_;
typedef typename f_::type type;
#else
: if_c<C,F1,F2>::type
{
#endif
};
BOOST_MPL_AUX_NA_SPEC(3, eval_if)
}}
#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED

View File

@ -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 <boost/mpl/bool.hpp>
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/type_wrapper.hpp>
#include <boost/mpl/aux_/yes_no.hpp>
#include <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/has_xxx.hpp>
#include <boost/mpl/aux_/config/msvc_typename.hpp>
#include <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#include <boost/preprocessor/array/elem.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/control/if.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )
# include <boost/type_traits/is_class.hpp>
#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 <boost/mpl/if.hpp>
# include <boost/mpl/bool.hpp>
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<U>::type tester(type_wrapper<U>);
#else
template< typename U >
static char (& tester(type_wrapper<U>) )[sizeof(U)+1];
#endif
BOOST_STATIC_CONSTANT(bool, value =
sizeof(tester(type_wrapper<T>())) == 1
);
};
template<>
struct msvc_is_incomplete<int>
{
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<void(*)(name)>(0))) \
!= sizeof(boost::mpl::aux::no_tag) \
); \
typedef boost::mpl::bool_<value> type; \
}; \
\
template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
struct trait \
: boost::mpl::if_c< \
boost::mpl::aux::msvc_is_incomplete<T>::value \
, boost::mpl::bool_<false> \
, BOOST_PP_CAT(trait,_impl)<T> \
>::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<T> \
{ \
BOOST_STATIC_CONSTANT(bool, value = false); \
typedef boost::mpl::bool_<false> 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_<value> 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_<value> type; \
}; \
\
template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
struct trait \
: BOOST_PP_CAT(trait,_impl_)<T> \
{ \
}; \
/**/
# 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<U> const volatile * \
, boost::mpl::aux::type_wrapper<typename U::name >* = 0 ); \
static char resolve( ... ); \
}; \
typedef boost::mpl::aux::type_wrapper<T> 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_<default_> > \
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_<default_> > \
struct trait \
{ \
struct gcc_3_2_wknd \
{ \
template< typename U > \
static boost::mpl::aux::yes_tag test( \
boost::mpl::aux::type_wrapper<U> const volatile* \
, boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
); \
\
static boost::mpl::aux::no_tag test(...); \
}; \
\
typedef boost::mpl::aux::type_wrapper<T> t_; \
BOOST_STATIC_CONSTANT(bool, value = \
sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
== sizeof(boost::mpl::aux::yes_tag) \
); \
typedef boost::mpl::bool_<value> 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_<default_> > \
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

View File

@ -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 <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp>
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<T> 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

View File

@ -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 <boost/mpl/aux_/value_wknd.hpp>
#include <boost/mpl/aux_/static_cast.hpp>
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp>
#include <boost/mpl/aux_/config/integral.hpp>
#include <boost/mpl/aux_/config/ctps.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
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<false,T1,T2>
{
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<false>
{
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_<T1,T2>::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_<T1,T2>::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

View File

@ -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 <boost/mpl/int_fwd.hpp>
#define AUX_WRAPPER_VALUE_TYPE int
#include <boost/mpl/aux_/integral_wrapper.hpp>
#endif // BOOST_MPL_INT_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/adl_barrier.hpp>
#include <boost/mpl/aux_/nttp_decl.hpp>
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

View File

@ -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 <boost/mpl/integral_c_fwd.hpp>
#include <boost/mpl/aux_/config/ctps.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#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 <boost/mpl/aux_/integral_wrapper.hpp>
#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<bool, 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

View File

@ -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 <boost/mpl/aux_/config/workaround.hpp>
#include <boost/mpl/aux_/adl_barrier.hpp>
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

View File

@ -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 <boost/mpl/aux_/adl_barrier.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
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

View File

@ -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 <boost/mpl/void_fwd.hpp>
#include <boost/mpl/aux_/na.hpp>
#include <boost/mpl/aux_/config/lambda.hpp>
#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
# include <boost/mpl/int.hpp>
# include <boost/mpl/aux_/lambda_arity_param.hpp>
# include <boost/mpl/aux_/template_arity_fwd.hpp>
namespace boost { namespace mpl {
template<
typename T = na
, typename Tag = void_
BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
typename Arity = int_< aux::template_arity<T>::value >
)
>
struct lambda;
}}
#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
# include <boost/mpl/bool.hpp>
namespace boost { namespace mpl {
template<
typename T = na
, typename Tag = void_
, typename Protect = true_
>
struct lambda;
}}
#endif
#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED

View File

@ -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 <boost/mpl/aux_/comparison_op.hpp>
#endif // BOOST_MPL_LESS_HPP_INCLUDED

Some files were not shown because too many files have changed in this diff Show More