aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-contrib <robot-contrib@yandex-team.com>2022-09-17 10:02:06 +0300
committerrobot-contrib <robot-contrib@yandex-team.com>2022-09-17 10:02:06 +0300
commit28dcdc0d65fba31bc1e2215741a4af228992938e (patch)
tree41862decccd7e31588bbf3b271f58c9624730512
parent6d2819377bd78f50c415e809c9f0feae0d79fe9f (diff)
downloadydb-28dcdc0d65fba31bc1e2215741a4af228992938e.tar.gz
Update contrib/python/boto3/py3 to 1.24.75
-rw-r--r--contrib/restricted/boost/arcadia_test/python/mod/module.cpp11
-rw-r--r--contrib/restricted/boost/arcadia_test/python/py2/test_hello.py5
-rw-r--r--contrib/restricted/boost/arcadia_test/python/py3/test_hello.py5
-rw-r--r--contrib/restricted/boost/bind/include/boost/bind/protect.hpp348
-rw-r--r--contrib/restricted/boost/boost/python/detail/aix_init_module.hpp26
-rw-r--r--contrib/restricted/boost/boost/python/detail/api_placeholder.hpp15
-rw-r--r--contrib/restricted/boost/boost/python/detail/enable_if.hpp39
-rw-r--r--contrib/restricted/boost/boost/python/detail/if_else.hpp81
-rw-r--r--contrib/restricted/boost/boost/python/detail/make_tuple.hpp32
-rw-r--r--contrib/restricted/boost/boost/python/detail/pointee.hpp35
-rw-r--r--contrib/restricted/boost/boost/python/detail/result.hpp133
-rw-r--r--contrib/restricted/boost/boost/python/numpy.hpp34
-rw-r--r--contrib/restricted/boost/boost/python/numpy/config.hpp80
-rw-r--r--contrib/restricted/boost/boost/python/numpy/dtype.hpp117
-rw-r--r--contrib/restricted/boost/boost/python/numpy/internal.hpp36
-rw-r--r--contrib/restricted/boost/boost/python/numpy/invoke_matching.hpp186
-rw-r--r--contrib/restricted/boost/boost/python/numpy/matrix.hpp84
-rw-r--r--contrib/restricted/boost/boost/python/numpy/ndarray.hpp313
-rw-r--r--contrib/restricted/boost/boost/python/numpy/numpy_object_mgr_traits.hpp38
-rw-r--r--contrib/restricted/boost/boost/python/numpy/scalars.hpp58
-rw-r--r--contrib/restricted/boost/boost/python/numpy/ufunc.hpp206
-rw-r--r--contrib/restricted/boost/boost/python/object_call.hpp23
-rw-r--r--contrib/restricted/boost/boost/python/suite/indexing/container_utils.hpp57
-rw-r--r--contrib/restricted/boost/boost/python/suite/indexing/detail/indexing_suite_detail.hpp759
-rw-r--r--contrib/restricted/boost/boost/python/suite/indexing/indexing_suite.hpp295
-rw-r--r--contrib/restricted/boost/boost/python/suite/indexing/map_indexing_suite.hpp181
-rw-r--r--contrib/restricted/boost/boost/python/suite/indexing/vector_indexing_suite.hpp246
-rw-r--r--contrib/restricted/boost/python/LICENSE_1_0.txt23
-rw-r--r--contrib/restricted/boost/python/README.md57
-rw-r--r--contrib/restricted/boost/python/include/boost/python.hpp (renamed from contrib/restricted/boost/boost/python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/arg_from_python.hpp (renamed from contrib/restricted/boost/boost/python/arg_from_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/args.hpp (renamed from contrib/restricted/boost/boost/python/args.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/args_fwd.hpp (renamed from contrib/restricted/boost/boost/python/args_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/back_reference.hpp (renamed from contrib/restricted/boost/boost/python/back_reference.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/base_type_traits.hpp (renamed from contrib/restricted/boost/boost/python/base_type_traits.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/bases.hpp (renamed from contrib/restricted/boost/boost/python/bases.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/borrowed.hpp (renamed from contrib/restricted/boost/boost/python/borrowed.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/call.hpp (renamed from contrib/restricted/boost/boost/python/call.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/call_method.hpp (renamed from contrib/restricted/boost/boost/python/call_method.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/cast.hpp (renamed from contrib/restricted/boost/boost/python/cast.hpp)4
-rw-r--r--contrib/restricted/boost/python/include/boost/python/class.hpp (renamed from contrib/restricted/boost/boost/python/class.hpp)4
-rw-r--r--contrib/restricted/boost/python/include/boost/python/class_fwd.hpp (renamed from contrib/restricted/boost/boost/python/class_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/arg_from_python.hpp (renamed from contrib/restricted/boost/boost/python/converter/arg_from_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/arg_to_python.hpp (renamed from contrib/restricted/boost/boost/python/converter/arg_to_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/arg_to_python_base.hpp (renamed from contrib/restricted/boost/boost/python/converter/arg_to_python_base.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/as_to_python_function.hpp (renamed from contrib/restricted/boost/boost/python/converter/as_to_python_function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/builtin_converters.hpp (renamed from contrib/restricted/boost/boost/python/converter/builtin_converters.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/constructor_function.hpp (renamed from contrib/restricted/boost/boost/python/converter/constructor_function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/context_result_converter.hpp (renamed from contrib/restricted/boost/boost/python/converter/context_result_converter.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/convertible_function.hpp (renamed from contrib/restricted/boost/boost/python/converter/convertible_function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/from_python.hpp (renamed from contrib/restricted/boost/boost/python/converter/from_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/implicit.hpp (renamed from contrib/restricted/boost/boost/python/converter/implicit.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/obj_mgr_arg_from_python.hpp (renamed from contrib/restricted/boost/boost/python/converter/obj_mgr_arg_from_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/object_manager.hpp (renamed from contrib/restricted/boost/boost/python/converter/object_manager.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/pointer_type_id.hpp (renamed from contrib/restricted/boost/boost/python/converter/pointer_type_id.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/pyobject_traits.hpp (renamed from contrib/restricted/boost/boost/python/converter/pyobject_traits.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/pyobject_type.hpp (renamed from contrib/restricted/boost/boost/python/converter/pyobject_type.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/pytype_function.hpp (renamed from contrib/restricted/boost/boost/python/converter/pytype_function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/pytype_object_mgr_traits.hpp (renamed from contrib/restricted/boost/boost/python/converter/pytype_object_mgr_traits.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/registered.hpp (renamed from contrib/restricted/boost/boost/python/converter/registered.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/registered_pointee.hpp (renamed from contrib/restricted/boost/boost/python/converter/registered_pointee.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/registrations.hpp (renamed from contrib/restricted/boost/boost/python/converter/registrations.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/registry.hpp (renamed from contrib/restricted/boost/boost/python/converter/registry.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/return_from_python.hpp (renamed from contrib/restricted/boost/boost/python/converter/return_from_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/rvalue_from_python_data.hpp (renamed from contrib/restricted/boost/boost/python/converter/rvalue_from_python_data.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_deleter.hpp (renamed from contrib/restricted/boost/boost/python/converter/shared_ptr_deleter.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_from_python.hpp (renamed from contrib/restricted/boost/boost/python/converter/shared_ptr_from_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_to_python.hpp (renamed from contrib/restricted/boost/boost/python/converter/shared_ptr_to_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/converter/to_python_function_type.hpp (renamed from contrib/restricted/boost/boost/python/converter/to_python_function_type.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/copy_const_reference.hpp (renamed from contrib/restricted/boost/boost/python/copy_const_reference.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/copy_non_const_reference.hpp (renamed from contrib/restricted/boost/boost/python/copy_non_const_reference.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/data_members.hpp (renamed from contrib/restricted/boost/boost/python/data_members.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/def.hpp (renamed from contrib/restricted/boost/boost/python/def.hpp)4
-rw-r--r--contrib/restricted/boost/python/include/boost/python/def_visitor.hpp (renamed from contrib/restricted/boost/boost/python/def_visitor.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/default_call_policies.hpp (renamed from contrib/restricted/boost/boost/python/default_call_policies.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/borrowed_ptr.hpp (renamed from contrib/restricted/boost/boost/python/detail/borrowed_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/caller.hpp (renamed from contrib/restricted/boost/boost/python/detail/caller.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/config.hpp (renamed from contrib/restricted/boost/boost/python/detail/config.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/construct.hpp (renamed from contrib/restricted/boost/boost/python/detail/construct.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/convertible.hpp (renamed from contrib/restricted/boost/boost/python/detail/convertible.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/copy_ctor_mutates_rhs.hpp (renamed from contrib/restricted/boost/boost/python/detail/copy_ctor_mutates_rhs.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/cv_category.hpp (renamed from contrib/restricted/boost/boost/python/detail/cv_category.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/dealloc.hpp (renamed from contrib/restricted/boost/boost/python/detail/dealloc.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/decorated_type_id.hpp (renamed from contrib/restricted/boost/boost/python/detail/decorated_type_id.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/decref_guard.hpp (renamed from contrib/restricted/boost/boost/python/detail/decref_guard.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/def_helper.hpp (renamed from contrib/restricted/boost/boost/python/detail/def_helper.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/def_helper_fwd.hpp (renamed from contrib/restricted/boost/boost/python/detail/def_helper_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/defaults_def.hpp (renamed from contrib/restricted/boost/boost/python/detail/defaults_def.hpp)6
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/defaults_gen.hpp (renamed from contrib/restricted/boost/boost/python/detail/defaults_gen.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/dependent.hpp (renamed from contrib/restricted/boost/boost/python/detail/dependent.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/destroy.hpp (renamed from contrib/restricted/boost/boost/python/detail/destroy.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/exception_handler.hpp (renamed from contrib/restricted/boost/boost/python/detail/exception_handler.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/force_instantiate.hpp (renamed from contrib/restricted/boost/boost/python/detail/force_instantiate.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/indirect_traits.hpp (renamed from contrib/restricted/boost/boost/python/detail/indirect_traits.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/invoke.hpp (renamed from contrib/restricted/boost/boost/python/detail/invoke.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/is_auto_ptr.hpp (renamed from contrib/restricted/boost/boost/python/detail/is_auto_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/is_shared_ptr.hpp (renamed from contrib/restricted/boost/boost/python/detail/is_shared_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/is_wrapper.hpp (renamed from contrib/restricted/boost/boost/python/detail/is_wrapper.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/is_xxx.hpp (renamed from contrib/restricted/boost/boost/python/detail/is_xxx.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/make_keyword_range_fn.hpp (renamed from contrib/restricted/boost/boost/python/detail/make_keyword_range_fn.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/map_entry.hpp (renamed from contrib/restricted/boost/boost/python/detail/map_entry.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/mpl_lambda.hpp (renamed from contrib/restricted/boost/boost/python/detail/mpl_lambda.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/msvc_typeinfo.hpp (renamed from contrib/restricted/boost/boost/python/detail/msvc_typeinfo.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/none.hpp (renamed from contrib/restricted/boost/boost/python/detail/none.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/not_specified.hpp (renamed from contrib/restricted/boost/boost/python/detail/not_specified.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/nullary_function_adaptor.hpp (renamed from contrib/restricted/boost/boost/python/detail/nullary_function_adaptor.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/operator_id.hpp (renamed from contrib/restricted/boost/boost/python/detail/operator_id.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/overloads_fwd.hpp (renamed from contrib/restricted/boost/boost/python/detail/overloads_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/prefix.hpp (renamed from contrib/restricted/boost/boost/python/detail/prefix.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/preprocessor.hpp (renamed from contrib/restricted/boost/boost/python/detail/preprocessor.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/python22_fixed.h (renamed from contrib/restricted/boost/boost/python/detail/python22_fixed.h)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/python_type.hpp (renamed from contrib/restricted/boost/boost/python/detail/python_type.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/raw_pyobject.hpp (renamed from contrib/restricted/boost/boost/python/detail/raw_pyobject.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/referent_storage.hpp (renamed from contrib/restricted/boost/boost/python/detail/referent_storage.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/scope.hpp (renamed from contrib/restricted/boost/boost/python/detail/scope.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/sfinae.hpp (renamed from contrib/restricted/boost/boost/python/detail/sfinae.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/signature.hpp (renamed from contrib/restricted/boost/boost/python/detail/signature.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/string_literal.hpp (renamed from contrib/restricted/boost/boost/python/detail/string_literal.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/target.hpp (renamed from contrib/restricted/boost/boost/python/detail/target.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/translate_exception.hpp (renamed from contrib/restricted/boost/boost/python/detail/translate_exception.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/type_list.hpp (renamed from contrib/restricted/boost/boost/python/detail/type_list.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/type_list_impl.hpp (renamed from contrib/restricted/boost/boost/python/detail/type_list_impl.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/type_traits.hpp (renamed from contrib/restricted/boost/boost/python/detail/type_traits.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/unwind_type.hpp (renamed from contrib/restricted/boost/boost/python/detail/unwind_type.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/unwrap_type_id.hpp (renamed from contrib/restricted/boost/boost/python/detail/unwrap_type_id.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/unwrap_wrapper.hpp (renamed from contrib/restricted/boost/boost/python/detail/unwrap_wrapper.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/value_arg.hpp (renamed from contrib/restricted/boost/boost/python/detail/value_arg.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/value_is_shared_ptr.hpp (renamed from contrib/restricted/boost/boost/python/detail/value_is_shared_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/value_is_xxx.hpp (renamed from contrib/restricted/boost/boost/python/detail/value_is_xxx.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/void_ptr.hpp (renamed from contrib/restricted/boost/boost/python/detail/void_ptr.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/void_return.hpp (renamed from contrib/restricted/boost/boost/python/detail/void_return.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/wrap_python.hpp (renamed from contrib/restricted/boost/boost/python/detail/wrap_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/detail/wrapper_base.hpp (renamed from contrib/restricted/boost/boost/python/detail/wrapper_base.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/dict.hpp (renamed from contrib/restricted/boost/boost/python/dict.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/docstring_options.hpp (renamed from contrib/restricted/boost/boost/python/docstring_options.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/enum.hpp (renamed from contrib/restricted/boost/boost/python/enum.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/errors.hpp (renamed from contrib/restricted/boost/boost/python/errors.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/exception_translator.hpp (renamed from contrib/restricted/boost/boost/python/exception_translator.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/exec.hpp (renamed from contrib/restricted/boost/boost/python/exec.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/extract.hpp (renamed from contrib/restricted/boost/boost/python/extract.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/handle.hpp (renamed from contrib/restricted/boost/boost/python/handle.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/handle_fwd.hpp (renamed from contrib/restricted/boost/boost/python/handle_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/has_back_reference.hpp (renamed from contrib/restricted/boost/boost/python/has_back_reference.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/implicit.hpp (renamed from contrib/restricted/boost/boost/python/implicit.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/import.hpp (renamed from contrib/restricted/boost/boost/python/import.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/init.hpp (renamed from contrib/restricted/boost/boost/python/init.hpp)4
-rw-r--r--contrib/restricted/boost/python/include/boost/python/instance_holder.hpp (renamed from contrib/restricted/boost/boost/python/instance_holder.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/iterator.hpp (renamed from contrib/restricted/boost/boost/python/iterator.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/list.hpp (renamed from contrib/restricted/boost/boost/python/list.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/long.hpp (renamed from contrib/restricted/boost/boost/python/long.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/lvalue_from_pytype.hpp (renamed from contrib/restricted/boost/boost/python/lvalue_from_pytype.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/make_constructor.hpp (renamed from contrib/restricted/boost/boost/python/make_constructor.hpp)4
-rw-r--r--contrib/restricted/boost/python/include/boost/python/make_function.hpp (renamed from contrib/restricted/boost/boost/python/make_function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/manage_new_object.hpp (renamed from contrib/restricted/boost/boost/python/manage_new_object.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/module.hpp (renamed from contrib/restricted/boost/boost/python/module.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/module_init.hpp (renamed from contrib/restricted/boost/boost/python/module_init.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object.hpp (renamed from contrib/restricted/boost/boost/python/object.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/add_to_namespace.hpp (renamed from contrib/restricted/boost/boost/python/object/add_to_namespace.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/class.hpp (renamed from contrib/restricted/boost/boost/python/object/class.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/class_detail.hpp (renamed from contrib/restricted/boost/boost/python/object/class_detail.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/class_metadata.hpp (renamed from contrib/restricted/boost/boost/python/object/class_metadata.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/class_wrapper.hpp (renamed from contrib/restricted/boost/boost/python/object/class_wrapper.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/enum_base.hpp (renamed from contrib/restricted/boost/boost/python/object/enum_base.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/find_instance.hpp (renamed from contrib/restricted/boost/boost/python/object/find_instance.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/forward.hpp (renamed from contrib/restricted/boost/boost/python/object/forward.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/function.hpp (renamed from contrib/restricted/boost/boost/python/object/function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/function_doc_signature.hpp (renamed from contrib/restricted/boost/boost/python/object/function_doc_signature.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/function_handle.hpp (renamed from contrib/restricted/boost/boost/python/object/function_handle.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/function_object.hpp (renamed from contrib/restricted/boost/boost/python/object/function_object.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/inheritance.hpp (renamed from contrib/restricted/boost/boost/python/object/inheritance.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/inheritance_query.hpp (renamed from contrib/restricted/boost/boost/python/object/inheritance_query.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/instance.hpp (renamed from contrib/restricted/boost/boost/python/object/instance.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/iterator.hpp (renamed from contrib/restricted/boost/boost/python/object/iterator.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/iterator_core.hpp (renamed from contrib/restricted/boost/boost/python/object/iterator_core.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/life_support.hpp (renamed from contrib/restricted/boost/boost/python/object/life_support.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/make_holder.hpp (renamed from contrib/restricted/boost/boost/python/object/make_holder.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/make_instance.hpp (renamed from contrib/restricted/boost/boost/python/object/make_instance.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/make_ptr_instance.hpp (renamed from contrib/restricted/boost/boost/python/object/make_ptr_instance.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/pickle_support.hpp (renamed from contrib/restricted/boost/boost/python/object/pickle_support.hpp)4
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/pointer_holder.hpp (renamed from contrib/restricted/boost/boost/python/object/pointer_holder.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/py_function.hpp (renamed from contrib/restricted/boost/boost/python/object/py_function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/stl_iterator_core.hpp (renamed from contrib/restricted/boost/boost/python/object/stl_iterator_core.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/value_holder.hpp (renamed from contrib/restricted/boost/boost/python/object/value_holder.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object/value_holder_fwd.hpp (renamed from contrib/restricted/boost/boost/python/object/value_holder_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_attributes.hpp (renamed from contrib/restricted/boost/boost/python/object_attributes.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_core.hpp (renamed from contrib/restricted/boost/boost/python/object_core.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_fwd.hpp (renamed from contrib/restricted/boost/boost/python/object_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_items.hpp (renamed from contrib/restricted/boost/boost/python/object_items.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_operators.hpp (renamed from contrib/restricted/boost/boost/python/object_operators.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_protocol.hpp (renamed from contrib/restricted/boost/boost/python/object_protocol.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_protocol_core.hpp (renamed from contrib/restricted/boost/boost/python/object_protocol_core.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/object_slices.hpp (renamed from contrib/restricted/boost/boost/python/object_slices.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/opaque_pointer_converter.hpp (renamed from contrib/restricted/boost/boost/python/opaque_pointer_converter.hpp)10
-rw-r--r--contrib/restricted/boost/python/include/boost/python/operators.hpp (renamed from contrib/restricted/boost/boost/python/operators.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/other.hpp (renamed from contrib/restricted/boost/boost/python/other.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/overloads.hpp (renamed from contrib/restricted/boost/boost/python/overloads.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/override.hpp (renamed from contrib/restricted/boost/boost/python/override.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/pointee.hpp (renamed from contrib/restricted/boost/boost/python/pointee.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/proxy.hpp (renamed from contrib/restricted/boost/boost/python/proxy.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/ptr.hpp (renamed from contrib/restricted/boost/boost/python/ptr.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/pure_virtual.hpp (renamed from contrib/restricted/boost/boost/python/pure_virtual.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/raw_function.hpp (renamed from contrib/restricted/boost/boost/python/raw_function.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/refcount.hpp (renamed from contrib/restricted/boost/boost/python/refcount.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/reference_existing_object.hpp (renamed from contrib/restricted/boost/boost/python/reference_existing_object.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/register_ptr_to_python.hpp (renamed from contrib/restricted/boost/boost/python/register_ptr_to_python.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/return_arg.hpp (renamed from contrib/restricted/boost/boost/python/return_arg.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/return_by_value.hpp (renamed from contrib/restricted/boost/boost/python/return_by_value.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/return_internal_reference.hpp (renamed from contrib/restricted/boost/boost/python/return_internal_reference.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/return_opaque_pointer.hpp (renamed from contrib/restricted/boost/boost/python/return_opaque_pointer.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/return_value_policy.hpp (renamed from contrib/restricted/boost/boost/python/return_value_policy.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/scope.hpp (renamed from contrib/restricted/boost/boost/python/scope.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/self.hpp (renamed from contrib/restricted/boost/boost/python/self.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/signature.hpp (renamed from contrib/restricted/boost/boost/python/signature.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/slice.hpp (renamed from contrib/restricted/boost/boost/python/slice.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/slice_nil.hpp (renamed from contrib/restricted/boost/boost/python/slice_nil.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/ssize_t.hpp (renamed from contrib/restricted/boost/boost/python/ssize_t.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/stl_iterator.hpp (renamed from contrib/restricted/boost/boost/python/stl_iterator.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/str.hpp (renamed from contrib/restricted/boost/boost/python/str.hpp)4
-rw-r--r--contrib/restricted/boost/python/include/boost/python/tag.hpp (renamed from contrib/restricted/boost/boost/python/tag.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/to_python_converter.hpp (renamed from contrib/restricted/boost/boost/python/to_python_converter.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/to_python_indirect.hpp (renamed from contrib/restricted/boost/boost/python/to_python_indirect.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/to_python_value.hpp (renamed from contrib/restricted/boost/boost/python/to_python_value.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/tuple.hpp (renamed from contrib/restricted/boost/boost/python/tuple.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/type_id.hpp (renamed from contrib/restricted/boost/boost/python/type_id.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/with_custodian_and_ward.hpp (renamed from contrib/restricted/boost/boost/python/with_custodian_and_ward.hpp)0
-rw-r--r--contrib/restricted/boost/python/include/boost/python/wrapper.hpp (renamed from contrib/restricted/boost/boost/python/wrapper.hpp)0
-rw-r--r--contrib/restricted/boost/python/src/converter/arg_to_python_base.cpp (renamed from contrib/restricted/boost/libs/python/src/converter/arg_to_python_base.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/converter/builtin_converters.cpp (renamed from contrib/restricted/boost/libs/python/src/converter/builtin_converters.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/converter/from_python.cpp (renamed from contrib/restricted/boost/libs/python/src/converter/from_python.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/converter/registry.cpp (renamed from contrib/restricted/boost/libs/python/src/converter/registry.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/converter/type_id.cpp (renamed from contrib/restricted/boost/libs/python/src/converter/type_id.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/dict.cpp (renamed from contrib/restricted/boost/libs/python/src/dict.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/errors.cpp (renamed from contrib/restricted/boost/libs/python/src/errors.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/exec.cpp (renamed from contrib/restricted/boost/libs/python/src/exec.cpp)16
-rw-r--r--contrib/restricted/boost/python/src/import.cpp (renamed from contrib/restricted/boost/libs/python/src/import.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/list.cpp (renamed from contrib/restricted/boost/libs/python/src/list.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/long.cpp (renamed from contrib/restricted/boost/libs/python/src/long.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/module.cpp (renamed from contrib/restricted/boost/libs/python/src/module.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/class.cpp (renamed from contrib/restricted/boost/libs/python/src/object/class.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/enum.cpp (renamed from contrib/restricted/boost/libs/python/src/object/enum.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/function.cpp (renamed from contrib/restricted/boost/libs/python/src/object/function.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/function_doc_signature.cpp (renamed from contrib/restricted/boost/libs/python/src/object/function_doc_signature.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/inheritance.cpp (renamed from contrib/restricted/boost/libs/python/src/object/inheritance.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/iterator.cpp (renamed from contrib/restricted/boost/libs/python/src/object/iterator.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/life_support.cpp (renamed from contrib/restricted/boost/libs/python/src/object/life_support.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/pickle_support.cpp (renamed from contrib/restricted/boost/libs/python/src/object/pickle_support.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object/stl_iterator.cpp (renamed from contrib/restricted/boost/libs/python/src/object/stl_iterator.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object_operators.cpp (renamed from contrib/restricted/boost/libs/python/src/object_operators.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/object_protocol.cpp (renamed from contrib/restricted/boost/libs/python/src/object_protocol.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/slice.cpp (renamed from contrib/restricted/boost/libs/python/src/slice.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/str.cpp (renamed from contrib/restricted/boost/libs/python/src/str.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/tuple.cpp (renamed from contrib/restricted/boost/libs/python/src/tuple.cpp)0
-rw-r--r--contrib/restricted/boost/python/src/wrapper.cpp (renamed from contrib/restricted/boost/libs/python/src/wrapper.cpp)0
253 files changed, 468 insertions, 3115 deletions
diff --git a/contrib/restricted/boost/arcadia_test/python/mod/module.cpp b/contrib/restricted/boost/arcadia_test/python/mod/module.cpp
new file mode 100644
index 0000000000..6053f30c81
--- /dev/null
+++ b/contrib/restricted/boost/arcadia_test/python/mod/module.cpp
@@ -0,0 +1,11 @@
+#include <boost/python.hpp>
+
+using namespace boost::python;
+
+static const char* hello() {
+ return "hello world!";
+}
+
+BOOST_PYTHON_MODULE(arcadia_boost_python_test) {
+ def("hello", &hello);
+}
diff --git a/contrib/restricted/boost/arcadia_test/python/py2/test_hello.py b/contrib/restricted/boost/arcadia_test/python/py2/test_hello.py
new file mode 100644
index 0000000000..67d1d8f06a
--- /dev/null
+++ b/contrib/restricted/boost/arcadia_test/python/py2/test_hello.py
@@ -0,0 +1,5 @@
+import arcadia_boost_python_test as M
+
+
+def test_hello():
+ assert M.hello() == "hello world!"
diff --git a/contrib/restricted/boost/arcadia_test/python/py3/test_hello.py b/contrib/restricted/boost/arcadia_test/python/py3/test_hello.py
new file mode 100644
index 0000000000..67d1d8f06a
--- /dev/null
+++ b/contrib/restricted/boost/arcadia_test/python/py3/test_hello.py
@@ -0,0 +1,5 @@
+import arcadia_boost_python_test as M
+
+
+def test_hello():
+ assert M.hello() == "hello world!"
diff --git a/contrib/restricted/boost/bind/include/boost/bind/protect.hpp b/contrib/restricted/boost/bind/include/boost/bind/protect.hpp
new file mode 100644
index 0000000000..ef26fe989f
--- /dev/null
+++ b/contrib/restricted/boost/bind/include/boost/bind/protect.hpp
@@ -0,0 +1,348 @@
+#ifndef BOOST_BIND_PROTECT_HPP_INCLUDED
+#define BOOST_BIND_PROTECT_HPP_INCLUDED
+
+//
+// protect.hpp
+//
+// Copyright 2002, 2020 Peter Dimov
+// Copyright 2009 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#include <boost/config.hpp>
+#include <boost/config/workaround.hpp>
+#include <utility>
+
+namespace boost
+{
+
+namespace _bi
+{
+
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_DECLTYPE) && !(defined(BOOST_GCC) && BOOST_GCC < 40600)
+
+template<class T> struct protect_make_void
+{
+ typedef void type;
+};
+
+template<class F, class E = void> struct protect_result_type
+{
+};
+
+template<class F> struct protect_result_type< F, typename protect_make_void<typename F::result_type>::type >
+{
+ typedef typename F::result_type result_type;
+};
+
+template<class F> class protected_bind_t: public protect_result_type<F>
+{
+private:
+
+ F f_;
+
+public:
+
+ explicit protected_bind_t( F f ): f_( f )
+ {
+ }
+
+ template<class... A> auto operator()( A&&... a ) -> decltype( f_( std::forward<A>(a)... ) )
+ {
+ return f_( std::forward<A>(a)... );
+ }
+
+ template<class... A> auto operator()( A&&... a ) const -> decltype( f_( std::forward<A>(a)... ) )
+ {
+ return f_( std::forward<A>(a)... );
+ }
+};
+
+#else
+
+template<class F> class protected_bind_t
+{
+private:
+
+ F f_;
+
+public:
+
+ typedef typename F::result_type result_type;
+
+ explicit protected_bind_t(F f): f_(f)
+ {
+ }
+
+ result_type operator()()
+ {
+ return f_();
+ }
+
+ result_type operator()() const
+ {
+ return f_();
+ }
+
+ template<class A1> result_type operator()(A1 & a1)
+ {
+ return f_(a1);
+ }
+
+ template<class A1> result_type operator()(A1 & a1) const
+ {
+ return f_(a1);
+ }
+
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1> result_type operator()(const A1 & a1)
+ {
+ return f_(a1);
+ }
+
+ template<class A1> result_type operator()(const A1 & a1) const
+ {
+ return f_(a1);
+ }
+
+#endif
+
+ template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)
+ {
+ return f_(a1, a2);
+ }
+
+ template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const
+ {
+ return f_(a1, a2);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)
+ {
+ return f_(a1, a2);
+ }
+
+ template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2) const
+ {
+ return f_(a1, a2);
+ }
+
+ template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2)
+ {
+ return f_(a1, a2);
+ }
+
+ template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2) const
+ {
+ return f_(a1, a2);
+ }
+
+ template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2)
+ {
+ return f_(a1, a2);
+ }
+
+ template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2) const
+ {
+ return f_(a1, a2);
+ }
+
+#endif
+
+ template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)
+ {
+ return f_(a1, a2, a3);
+ }
+
+ template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const
+ {
+ return f_(a1, a2, a3);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)
+ {
+ return f_(a1, a2, a3);
+ }
+
+ template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const
+ {
+ return f_(a1, a2, a3);
+ }
+
+#endif
+
+ template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)
+ {
+ return f_(a1, a2, a3, a4);
+ }
+
+ template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const
+ {
+ return f_(a1, a2, a3, a4);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)
+ {
+ return f_(a1, a2, a3, a4);
+ }
+
+ template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const
+ {
+ return f_(a1, a2, a3, a4);
+ }
+
+#endif
+
+ template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)
+ {
+ return f_(a1, a2, a3, a4, a5);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const
+ {
+ return f_(a1, a2, a3, a4, a5);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)
+ {
+ return f_(a1, a2, a3, a4, a5);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const
+ {
+ return f_(a1, a2, a3, a4, a5);
+ }
+
+#endif
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)
+ {
+ return f_(a1, a2, a3, a4, a5, a6);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)
+ {
+ return f_(a1, a2, a3, a4, a5, a6);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6);
+ }
+
+#endif
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7);
+ }
+
+#endif
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8)
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8);
+ }
+
+#endif
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
+ }
+
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9)
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const
+ {
+ return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
+ }
+
+#endif
+};
+
+#endif
+
+} // namespace _bi
+
+template<class F> _bi::protected_bind_t<F> protect(F f)
+{
+ return _bi::protected_bind_t<F>(f);
+}
+
+} // namespace boost
+
+#endif // #ifndef BOOST_BIND_PROTECT_HPP_INCLUDED
diff --git a/contrib/restricted/boost/boost/python/detail/aix_init_module.hpp b/contrib/restricted/boost/boost/python/detail/aix_init_module.hpp
deleted file mode 100644
index 9214dbf09b..0000000000
--- a/contrib/restricted/boost/boost/python/detail/aix_init_module.hpp
+++ /dev/null
@@ -1,26 +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 AIX_INIT_MODULE_DWA2002529_HPP
-# define AIX_INIT_MODULE_DWA2002529_HPP
-# ifdef _AIX
-# include <boost/python/detail/prefix.hpp>
-# include <cstdio>
-# ifdef __KCC
-# include <iostream> // this works around a problem in KCC 4.0f
-# endif
-
-namespace boost { namespace python { namespace detail {
-
-extern "C"
-{
- typedef PyObject* (*so_load_function)(char*,char*,FILE*);
-}
-
-void aix_init_module(so_load_function, char const* name, void (*init_module)());
-
-}}} // namespace boost::python::detail
-# endif
-
-#endif // AIX_INIT_MODULE_DWA2002529_HPP
diff --git a/contrib/restricted/boost/boost/python/detail/api_placeholder.hpp b/contrib/restricted/boost/boost/python/detail/api_placeholder.hpp
deleted file mode 100644
index 5975a13bda..0000000000
--- a/contrib/restricted/boost/boost/python/detail/api_placeholder.hpp
+++ /dev/null
@@ -1,15 +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)
-
-// DEPRECATED HEADER (2006 Jan 12)
-// Provided only for backward compatibility.
-// The boost::python::len() function is now defined in object.hpp.
-
-#ifndef BOOST_PYTHON_API_PLACE_HOLDER_HPP
-#define BOOST_PYTHON_API_PLACE_HOLDER_HPP
-
-#include <boost/python/object.hpp>
-
-#endif // BOOST_PYTHON_API_PLACE_HOLDER_HPP
diff --git a/contrib/restricted/boost/boost/python/detail/enable_if.hpp b/contrib/restricted/boost/boost/python/detail/enable_if.hpp
deleted file mode 100644
index 7a37be121a..0000000000
--- a/contrib/restricted/boost/boost/python/detail/enable_if.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright David Abrahams 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)
-#ifndef ENABLE_IF_DWA2004722_HPP
-# define ENABLE_IF_DWA2004722_HPP
-
-# include <boost/python/detail/sfinae.hpp>
-# include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_SFINAE)
-# include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace python { namespace detail {
-
-template <class C, class T = int>
-struct enable_if_arg
- : enable_if<C,T>
-{};
-
-template <class C, class T = int>
-struct disable_if_arg
- : disable_if<C,T>
-{};
-
-template <class C, class T = void>
-struct enable_if_ret
- : enable_if<C,T>
-{};
-
-template <class C, class T = void>
-struct disable_if_ret
- : disable_if<C,T>
-{};
-
-}}} // namespace boost::python::detail
-
-# endif
-
-#endif // ENABLE_IF_DWA2004722_HPP
diff --git a/contrib/restricted/boost/boost/python/detail/if_else.hpp b/contrib/restricted/boost/boost/python/detail/if_else.hpp
deleted file mode 100644
index 3f505c5edb..0000000000
--- a/contrib/restricted/boost/boost/python/detail/if_else.hpp
+++ /dev/null
@@ -1,81 +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 IF_ELSE_DWA2002322_HPP
-# define IF_ELSE_DWA2002322_HPP
-# include <boost/config.hpp>
-
-namespace boost { namespace python { namespace detail {
-
-template <class T> struct elif_selected;
-
-template <class T>
-struct if_selected
-{
- template <bool b>
- struct elif : elif_selected<T>
- {
- };
-
- template <class U>
- struct else_
- {
- typedef T type;
- };
-};
-
-template <class T>
-struct elif_selected
-{
-# if !(defined(__MWERKS__) && __MWERKS__ <= 0x2407)
- template <class U> class then;
-# else
- template <class U>
- struct then : if_selected<T>
- {
- };
-# endif
-};
-
-# if !(defined(__MWERKS__) && __MWERKS__ <= 0x2407)
-template <class T>
-template <class U>
-class elif_selected<T>::then : public if_selected<T>
-{
-};
-# endif
-
-template <bool b> struct if_
-{
- template <class T>
- struct then : if_selected<T>
- {
- };
-};
-
-struct if_unselected
-{
- template <bool b> struct elif : if_<b>
- {
- };
-
- template <class U>
- struct else_
- {
- typedef U type;
- };
-};
-
-template <>
-struct if_<false>
-{
- template <class T>
- struct then : if_unselected
- {
- };
-};
-
-}}} // namespace boost::python::detail
-
-#endif // IF_ELSE_DWA2002322_HPP
diff --git a/contrib/restricted/boost/boost/python/detail/make_tuple.hpp b/contrib/restricted/boost/boost/python/detail/make_tuple.hpp
deleted file mode 100644
index 57b285be1c..0000000000
--- a/contrib/restricted/boost/boost/python/detail/make_tuple.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# ifndef BOOST_PYTHON_SYNOPSIS
-# // 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)
-
-# if !defined(BOOST_PP_IS_ITERATING)
-# error Boost.Python - do not include this file!
-# endif
-
-# define N BOOST_PP_ITERATION()
-
-# define BOOST_PYTHON_MAKE_TUPLE_ARG(z, N, ignored) \
- PyTuple_SET_ITEM( \
- result.ptr() \
- , N \
- , python::incref(python::object(a##N).ptr()) \
- );
-
- template <BOOST_PP_ENUM_PARAMS_Z(1, N, class A)>
- tuple
- make_tuple(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, const& a))
- {
- tuple result((detail::new_reference)::PyTuple_New(N));
- BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_MAKE_TUPLE_ARG, _)
- return result;
- }
-
-# undef BOOST_PYTHON_MAKE_TUPLE_ARG
-
-# undef N
-# endif // BOOST_PYTHON_SYNOPSIS
diff --git a/contrib/restricted/boost/boost/python/detail/pointee.hpp b/contrib/restricted/boost/boost/python/detail/pointee.hpp
deleted file mode 100644
index e786b37626..0000000000
--- a/contrib/restricted/boost/boost/python/detail/pointee.hpp
+++ /dev/null
@@ -1,35 +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 POINTEE_DWA2002323_HPP
-# define POINTEE_DWA2002323_HPP
-
-# include <boost/python/detail/type_traits.hpp>
-
-namespace boost { namespace python { namespace detail {
-
-template <bool is_ptr = true>
-struct pointee_impl
-{
- template <class T> struct apply : remove_pointer<T> {};
-};
-
-template <>
-struct pointee_impl<false>
-{
- template <class T> struct apply
- {
- typedef typename T::element_type type;
- };
-};
-
-template <class T>
-struct pointee
- : pointee_impl<is_pointer<T>::value>::template apply<T>
-{
-};
-
-}}} // namespace boost::python::detail
-
-#endif // POINTEE_DWA2002323_HPP
diff --git a/contrib/restricted/boost/boost/python/detail/result.hpp b/contrib/restricted/boost/boost/python/detail/result.hpp
deleted file mode 100644
index 2390693a88..0000000000
--- a/contrib/restricted/boost/boost/python/detail/result.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-#if !defined(BOOST_PP_IS_ITERATING)
-
-// 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 RESULT_DWA2002521_HPP
-# define RESULT_DWA2002521_HPP
-
-# include <boost/type.hpp>
-
-# include <boost/python/detail/preprocessor.hpp>
-# include <boost/python/detail/type_traits.hpp>
-
-# include <boost/mpl/if.hpp>
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/debug/line.hpp>
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-namespace boost { namespace python { namespace detail {
-
-// Defines a family of overloaded function which, given x, a function
-// pointer, member [function] pointer, or an AdaptableFunction object,
-// returns a pointer to type<R>*, where R is the result type of
-// invoking the result of bind(x).
-//
-// In order to work around bugs in deficient compilers, if x might be
-// an AdaptableFunction object, you must pass OL as a second argument
-// to get this to work portably.
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (4, (0, BOOST_PYTHON_MAX_ARITY, <boost/python/detail/result.hpp>, BOOST_PYTHON_FUNCTION_POINTER))
-# include BOOST_PP_ITERATE()
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (4, (0, BOOST_PYTHON_CV_COUNT - 1, <boost/python/detail/result.hpp>, BOOST_PYTHON_POINTER_TO_MEMBER))
-# include BOOST_PP_ITERATE()
-
-template <class R, class T>
-boost::type<R>* result(R (T::*), int = 0) { return 0; }
-
-# if (defined(__MWERKS__) && __MWERKS__ < 0x3000)
-// This code actually works on all implementations, but why use it when we don't have to?
-template <class T>
-struct get_result_type
-{
- typedef boost::type<typename T::result_type> type;
-};
-
-struct void_type
-{
- typedef void type;
-};
-
-template <class T>
-struct result_result
-{
- typedef typename mpl::if_c<
- is_class<T>::value
- , get_result_type<T>
- , void_type
- >::type t1;
-
- typedef typename t1::type* type;
-};
-
-template <class X>
-typename result_result<X>::type
-result(X const&, short) { return 0; }
-
-# else // Simpler code for more-capable compilers
-template <class X>
-boost::type<typename X::result_type>*
-result(X const&, short = 0) { return 0; }
-
-# endif
-
-}}} // namespace boost::python::detail
-
-# endif // RESULT_DWA2002521_HPP
-
-/* --------------- function pointers --------------- */
-// 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 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER
-# if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
- && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
-# line BOOST_PP_LINE(__LINE__, result.hpp(function pointers))
-# endif
-
-# define N BOOST_PP_ITERATION()
-
-template <class R BOOST_PP_ENUM_TRAILING_PARAMS_Z(1, N, class A)>
-boost::type<R>* result(R (*)(BOOST_PP_ENUM_PARAMS_Z(1, N, A)), int = 0)
-{
- return 0;
-}
-
-# undef N
-
-/* --------------- pointers-to-members --------------- */
-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_POINTER_TO_MEMBER
-// Outer over cv-qualifiers
-
-# define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PYTHON_MAX_ARITY, <boost/python/detail/result.hpp>))
-# include BOOST_PP_ITERATE()
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-# if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
- && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
-# line BOOST_PP_LINE(__LINE__, result.hpp(pointers-to-members))
-# endif
-// Inner over arities
-
-# define N BOOST_PP_ITERATION()
-# define Q BOOST_PYTHON_CV_QUALIFIER(BOOST_PP_RELATIVE_ITERATION(1))
-
-template <class R, class T BOOST_PP_ENUM_TRAILING_PARAMS_Z(1, N, class A)>
-boost::type<R>* result(R (T::*)(BOOST_PP_ENUM_PARAMS_Z(1, N, A)) Q, int = 0)
-{
- return 0;
-}
-
-# undef N
-# undef Q
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy.hpp b/contrib/restricted/boost/boost/python/numpy.hpp
deleted file mode 100644
index 18a6389d51..0000000000
--- a/contrib/restricted/boost/boost/python/numpy.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_hpp_
-#define boost_python_numpy_hpp_
-
-#include <boost/python/numpy/dtype.hpp>
-#include <boost/python/numpy/ndarray.hpp>
-#include <boost/python/numpy/scalars.hpp>
-#include <boost/python/numpy/matrix.hpp>
-#include <boost/python/numpy/ufunc.hpp>
-#include <boost/python/numpy/invoke_matching.hpp>
-#include <boost/python/numpy/config.hpp>
-
-namespace boost { namespace python { namespace numpy {
-
-/**
- * @brief Initialize the Numpy C-API
- *
- * This must be called before using anything in boost.numpy;
- * It should probably be the first line inside BOOST_PYTHON_MODULE.
- *
- * @internal This just calls the Numpy C-API functions "import_array()"
- * and "import_ufunc()", and then calls
- * dtype::register_scalar_converters().
- */
-BOOST_NUMPY_DECL void initialize(bool register_scalar_converters=true);
-
-}}} // namespace boost::python::numpy
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy/config.hpp b/contrib/restricted/boost/boost/python/numpy/config.hpp
deleted file mode 100644
index e6484bc51f..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/config.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// (C) Copyright Samuli-Petrus Korhonen 2017.
-// 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)
-//
-// The author gratefully acknowleges the support of NMR Solutions, Inc., in
-// producing this work.
-
-// Revision History:
-// 15 Feb 17 Initial version
-
-#ifndef CONFIG_NUMPY20170215_H_
-# define CONFIG_NUMPY20170215_H_
-
-# include <boost/config.hpp>
-
-/*****************************************************************************
- *
- * Set up dll import/export options:
- *
- ****************************************************************************/
-
-// backwards compatibility:
-#ifdef BOOST_NUMPY_STATIC_LIB
-# define BOOST_NUMPY_STATIC_LINK
-# elif !defined(BOOST_NUMPY_DYNAMIC_LIB)
-# define BOOST_NUMPY_DYNAMIC_LIB
-#endif
-
-#if defined(BOOST_NUMPY_DYNAMIC_LIB)
-# if defined(BOOST_SYMBOL_EXPORT)
-# if defined(BOOST_NUMPY_SOURCE)
-# define BOOST_NUMPY_DECL BOOST_SYMBOL_EXPORT
-# define BOOST_NUMPY_DECL_FORWARD BOOST_SYMBOL_FORWARD_EXPORT
-# define BOOST_NUMPY_DECL_EXCEPTION BOOST_EXCEPTION_EXPORT
-# define BOOST_NUMPY_BUILD_DLL
-# else
-# define BOOST_NUMPY_DECL BOOST_SYMBOL_IMPORT
-# define BOOST_NUMPY_DECL_FORWARD BOOST_SYMBOL_FORWARD_IMPORT
-# define BOOST_NUMPY_DECL_EXCEPTION BOOST_EXCEPTION_IMPORT
-# endif
-# endif
-
-#endif
-
-#ifndef BOOST_NUMPY_DECL
-# define BOOST_NUMPY_DECL
-#endif
-
-#ifndef BOOST_NUMPY_DECL_FORWARD
-# define BOOST_NUMPY_DECL_FORWARD
-#endif
-
-#ifndef BOOST_NUMPY_DECL_EXCEPTION
-# define BOOST_NUMPY_DECL_EXCEPTION
-#endif
-
-// enable automatic library variant selection ------------------------------//
-
-#if !defined(BOOST_NUMPY_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_NUMPY_NO_LIB)
-//
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_numpy##PY_MAJOR_VERSION##PY_MINOR_VERSION
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#ifdef BOOST_NUMPY_DYNAMIC_LIB
-# define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-#endif // auto-linking disabled
-
-#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
-
-#endif // CONFIG_NUMPY20170215_H_
diff --git a/contrib/restricted/boost/boost/python/numpy/dtype.hpp b/contrib/restricted/boost/boost/python/numpy/dtype.hpp
deleted file mode 100644
index 4673745e57..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/dtype.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_dtype_hpp_
-#define boost_python_numpy_dtype_hpp_
-
-/**
- * @file boost/python/numpy/dtype.hpp
- * @brief Object manager for Python's numpy.dtype class.
- */
-
-#include <boost/python.hpp>
-#include <boost/python/numpy/config.hpp>
-#include <boost/python/numpy/numpy_object_mgr_traits.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/python/detail/type_traits.hpp>
-
-namespace boost { namespace python { namespace numpy {
-
-/**
- * @brief A boost.python "object manager" (subclass of object) for numpy.dtype.
- *
- * @todo This could have a lot more interesting accessors.
- */
-class BOOST_NUMPY_DECL dtype : public object {
- static python::detail::new_reference convert(object::object_cref arg, bool align);
-public:
-
- /// @brief Convert an arbitrary Python object to a data-type descriptor object.
- template <typename T>
- explicit dtype(T arg, bool align=false) : object(convert(arg, align)) {}
-
- /**
- * @brief Get the built-in numpy dtype associated with the given scalar template type.
- *
- * This is perhaps the most useful part of the numpy API: it returns the dtype object
- * corresponding to a built-in C++ type. This should work for any integer or floating point
- * type supported by numpy, and will also work for std::complex if
- * sizeof(std::complex<T>) == 2*sizeof(T).
- *
- * It can also be useful for users to add explicit specializations for POD structs
- * that return field-based dtypes.
- */
- template <typename T> static dtype get_builtin();
-
- /// @brief Return the size of the data type in bytes.
- int get_itemsize() const;
-
- /**
- * @brief Compare two dtypes for equivalence.
- *
- * This is more permissive than equality tests. For instance, if long and int are the same
- * size, the dtypes corresponding to each will be equivalent, but not equal.
- */
- friend BOOST_NUMPY_DECL bool equivalent(dtype const & a, dtype const & b);
-
- /**
- * @brief Register from-Python converters for NumPy's built-in array scalar types.
- *
- * This is usually called automatically by initialize(), and shouldn't be called twice
- * (doing so just adds unused converters to the Boost.Python registry).
- */
- static void register_scalar_converters();
-
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(dtype, object);
-
-};
-
-BOOST_NUMPY_DECL bool equivalent(dtype const & a, dtype const & b);
-
-namespace detail
-{
-
-template <int bits, bool isUnsigned> dtype get_int_dtype();
-
-template <int bits> dtype get_float_dtype();
-
-template <int bits> dtype get_complex_dtype();
-
-template <typename T, bool isInt=boost::is_integral<T>::value>
-struct builtin_dtype;
-
-template <typename T>
-struct builtin_dtype<T,true> {
- static dtype get() { return get_int_dtype< 8*sizeof(T), boost::is_unsigned<T>::value >(); }
-};
-
-template <>
-struct BOOST_NUMPY_DECL builtin_dtype<bool,true> {
- static dtype get();
-};
-
-template <typename T>
-struct builtin_dtype<T,false> {
- static dtype get() { return get_float_dtype< 8*sizeof(T) >(); }
-};
-
-template <typename T>
-struct builtin_dtype< std::complex<T>, false > {
- static dtype get() { return get_complex_dtype< 16*sizeof(T) >(); }
-};
-
-} // namespace detail
-
-template <typename T>
-inline dtype dtype::get_builtin() { return detail::builtin_dtype<T>::get(); }
-
-} // namespace boost::python::numpy
-
-namespace converter {
-NUMPY_OBJECT_MANAGER_TRAITS(numpy::dtype);
-}}} // namespace boost::python::converter
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy/internal.hpp b/contrib/restricted/boost/boost/python/numpy/internal.hpp
deleted file mode 100644
index c24718f0ae..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/internal.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_internal_hpp_
-#define boost_python_numpy_internal_hpp_
-
-/**
- * @file boost/python/numpy/internal.hpp
- * @brief Internal header file to include the Numpy C-API headers.
- *
- * This should only be included by source files in the boost.numpy library itself.
- */
-
-#include <boost/python.hpp>
-#include <boost/python/numpy/config.hpp>
-#ifdef BOOST_PYTHON_NUMPY_INTERNAL
-#define NO_IMPORT_ARRAY
-#define NO_IMPORT_UFUNC
-#else
-#ifndef BOOST_PYTHON_NUMPY_INTERNAL_MAIN
-ERROR_internal_hpp_is_for_internal_use_only
-#endif
-#endif
-#define PY_ARRAY_UNIQUE_SYMBOL BOOST_NUMPY_ARRAY_API
-#define PY_UFUNC_UNIQUE_SYMBOL BOOST_UFUNC_ARRAY_API
-#include <numpy/arrayobject.h>
-#include <numpy/ufuncobject.h>
-#include <boost/python/numpy.hpp>
-
-#define NUMPY_OBJECT_MANAGER_TRAITS_IMPL(pytype,manager) \
- PyTypeObject const * object_manager_traits<manager>::get_pytype() { return &pytype; }
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy/invoke_matching.hpp b/contrib/restricted/boost/boost/python/numpy/invoke_matching.hpp
deleted file mode 100644
index 095ca3a8db..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/invoke_matching.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_invoke_matching_hpp_
-#define boost_python_numpy_invoke_matching_hpp_
-
-/**
- * @brief Template invocation based on dtype matching.
- */
-
-#include <boost/python/numpy/dtype.hpp>
-#include <boost/python/numpy/ndarray.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost { namespace python { namespace numpy {
-namespace detail
-{
-
-struct BOOST_NUMPY_DECL add_pointer_meta
-{
- template <typename T>
- struct apply
- {
- typedef typename boost::add_pointer<T>::type type;
- };
-
-};
-
-struct BOOST_NUMPY_DECL dtype_template_match_found {};
-struct BOOST_NUMPY_DECL nd_template_match_found {};
-
-template <typename Function>
-struct dtype_template_invoker
-{
-
- template <typename T>
- void operator()(T *) const
- {
- if (dtype::get_builtin<T>() == m_dtype)
- {
- m_func.Function::template apply<T>();
- throw dtype_template_match_found();
- }
- }
-
- dtype_template_invoker(dtype const & dtype_, Function func)
- : m_dtype(dtype_), m_func(func) {}
-
-private:
- dtype const & m_dtype;
- Function m_func;
-};
-
-template <typename Function>
-struct dtype_template_invoker< boost::reference_wrapper<Function> >
-{
-
- template <typename T>
- void operator()(T *) const
- {
- if (dtype::get_builtin<T>() == m_dtype)
- {
- m_func.Function::template apply<T>();
- throw dtype_template_match_found();
- }
- }
-
- dtype_template_invoker(dtype const & dtype_, Function & func)
- : m_dtype(dtype_), m_func(func) {}
-
-private:
- dtype const & m_dtype;
- Function & m_func;
-};
-
-template <typename Function>
-struct nd_template_invoker
-{
- template <int N>
- void operator()(boost::mpl::integral_c<int,N> *) const
- {
- if (m_nd == N)
- {
- m_func.Function::template apply<N>();
- throw nd_template_match_found();
- }
- }
-
- nd_template_invoker(int nd, Function func) : m_nd(nd), m_func(func) {}
-
-private:
- int m_nd;
- Function m_func;
-};
-
-template <typename Function>
-struct nd_template_invoker< boost::reference_wrapper<Function> >
-{
- template <int N>
- void operator()(boost::mpl::integral_c<int,N> *) const
- {
- if (m_nd == N)
- {
- m_func.Function::template apply<N>();
- throw nd_template_match_found();
- }
- }
-
- nd_template_invoker(int nd, Function & func) : m_nd(nd), m_func(func) {}
-
-private:
- int m_nd;
- Function & m_func;
-};
-
-} // namespace boost::python::numpy::detail
-
-template <typename Sequence, typename Function>
-void invoke_matching_nd(int nd, Function f)
-{
- detail::nd_template_invoker<Function> invoker(nd, f);
- try { boost::mpl::for_each< Sequence, detail::add_pointer_meta >(invoker);}
- catch (detail::nd_template_match_found &) { return;}
- PyErr_SetString(PyExc_TypeError, "number of dimensions not found in template list.");
- python::throw_error_already_set();
-}
-
-template <typename Sequence, typename Function>
-void invoke_matching_dtype(dtype const & dtype_, Function f)
-{
- detail::dtype_template_invoker<Function> invoker(dtype_, f);
- try { boost::mpl::for_each< Sequence, detail::add_pointer_meta >(invoker);}
- catch (detail::dtype_template_match_found &) { return;}
- PyErr_SetString(PyExc_TypeError, "dtype not found in template list.");
- python::throw_error_already_set();
-}
-
-namespace detail
-{
-
-template <typename T, typename Function>
-struct array_template_invoker_wrapper_2
-{
- template <int N>
- void apply() const { m_func.Function::template apply<T,N>();}
- array_template_invoker_wrapper_2(Function & func) : m_func(func) {}
-
-private:
- Function & m_func;
-};
-
-template <typename DimSequence, typename Function>
-struct array_template_invoker_wrapper_1
-{
- template <typename T>
- void apply() const { invoke_matching_nd<DimSequence>(m_nd, array_template_invoker_wrapper_2<T,Function>(m_func));}
- array_template_invoker_wrapper_1(int nd, Function & func) : m_nd(nd), m_func(func) {}
-
-private:
- int m_nd;
- Function & m_func;
-};
-
-template <typename DimSequence, typename Function>
-struct array_template_invoker_wrapper_1< DimSequence, boost::reference_wrapper<Function> >
- : public array_template_invoker_wrapper_1< DimSequence, Function >
-{
- array_template_invoker_wrapper_1(int nd, Function & func)
- : array_template_invoker_wrapper_1< DimSequence, Function >(nd, func) {}
-};
-
-} // namespace boost::python::numpy::detail
-
-template <typename TypeSequence, typename DimSequence, typename Function>
-void invoke_matching_array(ndarray const & array_, Function f)
-{
- detail::array_template_invoker_wrapper_1<DimSequence,Function> wrapper(array_.get_nd(), f);
- invoke_matching_dtype<TypeSequence>(array_.get_dtype(), wrapper);
-}
-
-}}} // namespace boost::python::numpy
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy/matrix.hpp b/contrib/restricted/boost/boost/python/numpy/matrix.hpp
deleted file mode 100644
index 829f544af5..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/matrix.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_matrix_hpp_
-#define boost_python_numpy_matrix_hpp_
-
-/**
- * @brief Object manager for numpy.matrix.
- */
-
-#include <boost/python.hpp>
-#include <boost/python/numpy/numpy_object_mgr_traits.hpp>
-#include <boost/python/numpy/ndarray.hpp>
-#include <boost/python/numpy/config.hpp>
-
-
-namespace boost { namespace python { namespace numpy {
-
-/**
- * @brief A boost.python "object manager" (subclass of object) for numpy.matrix.
- *
- * @internal numpy.matrix is defined in Python, so object_manager_traits<matrix>::get_pytype()
- * is implemented by importing numpy and getting the "matrix" attribute of the module.
- * We then just hope that doesn't get destroyed while we need it, because if we put
- * a dynamic python object in a static-allocated boost::python::object or handle<>,
- * bad things happen when Python shuts down. I think this solution is safe, but I'd
- * love to get that confirmed.
- */
-class BOOST_NUMPY_DECL matrix : public ndarray
-{
- static object construct(object_cref obj, dtype const & dt, bool copy);
- static object construct(object_cref obj, bool copy);
-public:
-
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(matrix, ndarray);
-
- /// @brief Equivalent to "numpy.matrix(obj,dt,copy)" in Python.
- explicit matrix(object const & obj, dtype const & dt, bool copy=true)
- : ndarray(extract<ndarray>(construct(obj, dt, copy))) {}
-
- /// @brief Equivalent to "numpy.matrix(obj,copy=copy)" in Python.
- explicit matrix(object const & obj, bool copy=true)
- : ndarray(extract<ndarray>(construct(obj, copy))) {}
-
- /// \brief Return a view of the matrix with the given dtype.
- matrix view(dtype const & dt) const;
-
- /// \brief Copy the scalar (deep for all non-object fields).
- matrix copy() const;
-
- /// \brief Transpose the matrix.
- matrix transpose() const;
-
-};
-
-/**
- * @brief CallPolicies that causes a function that returns a numpy.ndarray to
- * return a numpy.matrix instead.
- */
-template <typename Base = default_call_policies>
-struct as_matrix : Base
-{
- static PyObject * postcall(PyObject *, PyObject * result)
- {
- object a = object(handle<>(result));
- numpy::matrix m(a, false);
- Py_INCREF(m.ptr());
- return m.ptr();
- }
-};
-
-} // namespace boost::python::numpy
-
-namespace converter
-{
-
-NUMPY_OBJECT_MANAGER_TRAITS(numpy::matrix);
-
-}}} // namespace boost::python::converter
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy/ndarray.hpp b/contrib/restricted/boost/boost/python/numpy/ndarray.hpp
deleted file mode 100644
index 2cb3b509f8..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/ndarray.hpp
+++ /dev/null
@@ -1,313 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_ndarray_hpp_
-#define boost_python_numpy_ndarray_hpp_
-
-/**
- * @brief Object manager and various utilities for numpy.ndarray.
- */
-
-#include <boost/python.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/python/detail/type_traits.hpp>
-#include <boost/python/numpy/numpy_object_mgr_traits.hpp>
-#include <boost/python/numpy/dtype.hpp>
-#include <boost/python/numpy/config.hpp>
-
-#include <vector>
-
-namespace boost { namespace python { namespace numpy {
-
-/**
- * @brief A boost.python "object manager" (subclass of object) for numpy.ndarray.
- *
- * @todo This could have a lot more functionality (like boost::python::numeric::array).
- * Right now all that exists is what was needed to move raw data between C++ and Python.
- */
-
-class BOOST_NUMPY_DECL ndarray : public object
-{
-
- /**
- * @brief An internal struct that's byte-compatible with PyArrayObject.
- *
- * This is just a hack to allow inline access to this stuff while hiding numpy/arrayobject.h
- * from the user.
- */
- struct array_struct
- {
- PyObject_HEAD
- char * data;
- int nd;
- Py_intptr_t * shape;
- Py_intptr_t * strides;
- PyObject * base;
- PyObject * descr;
- int flags;
- PyObject * weakreflist;
- };
-
- /// @brief Return the held Python object as an array_struct.
- array_struct * get_struct() const { return reinterpret_cast<array_struct*>(this->ptr()); }
-
-public:
-
- /**
- * @brief Enum to represent (some) of Numpy's internal flags.
- *
- * These don't match the actual Numpy flag values; we can't get those without including
- * numpy/arrayobject.h or copying them directly. That's very unfortunate.
- *
- * @todo I'm torn about whether this should be an enum. It's very convenient to not
- * make these simple integer values for overloading purposes, but the need to
- * define every possible combination and custom bitwise operators is ugly.
- */
- enum bitflag
- {
- NONE=0x0, C_CONTIGUOUS=0x1, F_CONTIGUOUS=0x2, V_CONTIGUOUS=0x1|0x2,
- ALIGNED=0x4, WRITEABLE=0x8, BEHAVED=0x4|0x8,
- CARRAY_RO=0x1|0x4, CARRAY=0x1|0x4|0x8, CARRAY_MIS=0x1|0x8,
- FARRAY_RO=0x2|0x4, FARRAY=0x2|0x4|0x8, FARRAY_MIS=0x2|0x8,
- UPDATE_ALL=0x1|0x2|0x4, VARRAY=0x1|0x2|0x8, ALL=0x1|0x2|0x4|0x8
- };
-
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(ndarray, object);
-
- /// @brief Return a view of the scalar with the given dtype.
- ndarray view(dtype const & dt) const;
-
- /// @brief Copy the array, cast to a specified type.
- ndarray astype(dtype const & dt) const;
-
- /// @brief Copy the scalar (deep for all non-object fields).
- ndarray copy() const;
-
- /// @brief Return the size of the nth dimension. raises IndexError if k not in [-get_nd() : get_nd()-1 ]
- Py_intptr_t shape(int n) const;
-
- /// @brief Return the stride of the nth dimension. raises IndexError if k not in [-get_nd() : get_nd()-1]
- Py_intptr_t strides(int n) const;
-
- /**
- * @brief Return the array's raw data pointer.
- *
- * This returns char so stride math works properly on it. It's pretty much
- * expected that the user will have to reinterpret_cast it.
- */
- char * get_data() const { return get_struct()->data; }
-
- /// @brief Return the array's data-type descriptor object.
- dtype get_dtype() const;
-
- /// @brief Return the object that owns the array's data, or None if the array owns its own data.
- object get_base() const;
-
- /// @brief Set the object that owns the array's data. Use with care.
- void set_base(object const & base);
-
- /// @brief Return the shape of the array as an array of integers (length == get_nd()).
- Py_intptr_t const * get_shape() const { return get_struct()->shape; }
-
- /// @brief Return the stride of the array as an array of integers (length == get_nd()).
- Py_intptr_t const * get_strides() const { return get_struct()->strides; }
-
- /// @brief Return the number of array dimensions.
- int get_nd() const { return get_struct()->nd; }
-
- /// @brief Return the array flags.
- bitflag get_flags() const;
-
- /// @brief Reverse the dimensions of the array.
- ndarray transpose() const;
-
- /// @brief Eliminate any unit-sized dimensions.
- ndarray squeeze() const;
-
- /// @brief Equivalent to self.reshape(*shape) in Python.
- ndarray reshape(python::tuple const & shape) const;
-
- /**
- * @brief If the array contains only a single element, return it as an array scalar; otherwise return
- * the array.
- *
- * @internal This is simply a call to PyArray_Return();
- */
- object scalarize() const;
-};
-
-/**
- * @brief Construct a new array with the given shape and data type, with data initialized to zero.
- */
-BOOST_NUMPY_DECL ndarray zeros(python::tuple const & shape, dtype const & dt);
-BOOST_NUMPY_DECL ndarray zeros(int nd, Py_intptr_t const * shape, dtype const & dt);
-
-/**
- * @brief Construct a new array with the given shape and data type, with data left uninitialized.
- */
-BOOST_NUMPY_DECL ndarray empty(python::tuple const & shape, dtype const & dt);
-BOOST_NUMPY_DECL ndarray empty(int nd, Py_intptr_t const * shape, dtype const & dt);
-
-/**
- * @brief Construct a new array from an arbitrary Python sequence.
- *
- * @todo This does't seem to handle ndarray subtypes the same way that "numpy.array" does in Python.
- */
-BOOST_NUMPY_DECL ndarray array(object const & obj);
-BOOST_NUMPY_DECL ndarray array(object const & obj, dtype const & dt);
-
-namespace detail
-{
-
-BOOST_NUMPY_DECL ndarray from_data_impl(void * data,
- dtype const & dt,
- std::vector<Py_intptr_t> const & shape,
- std::vector<Py_intptr_t> const & strides,
- object const & owner,
- bool writeable);
-
-template <typename Container>
-ndarray from_data_impl(void * data,
- dtype const & dt,
- Container shape,
- Container strides,
- object const & owner,
- bool writeable,
- typename boost::enable_if< boost::python::detail::is_integral<typename Container::value_type> >::type * enabled = NULL)
-{
- std::vector<Py_intptr_t> shape_(shape.begin(),shape.end());
- std::vector<Py_intptr_t> strides_(strides.begin(), strides.end());
- return from_data_impl(data, dt, shape_, strides_, owner, writeable);
-}
-
-BOOST_NUMPY_DECL ndarray from_data_impl(void * data,
- dtype const & dt,
- object const & shape,
- object const & strides,
- object const & owner,
- bool writeable);
-
-} // namespace boost::python::numpy::detail
-
-/**
- * @brief Construct a new ndarray object from a raw pointer.
- *
- * @param[in] data Raw pointer to the first element of the array.
- * @param[in] dt Data type descriptor. Often retrieved with dtype::get_builtin().
- * @param[in] shape Shape of the array as STL container of integers; must have begin() and end().
- * @param[in] strides Shape of the array as STL container of integers; must have begin() and end().
- * @param[in] owner An arbitray Python object that owns that data pointer. The array object will
- * keep a reference to the object, and decrement it's reference count when the
- * array goes out of scope. Pass None at your own peril.
- *
- * @todo Should probably take ranges of iterators rather than actual container objects.
- */
-template <typename Container>
-inline ndarray from_data(void * data,
- dtype const & dt,
- Container shape,
- Container strides,
- python::object const & owner)
-{
- return numpy::detail::from_data_impl(data, dt, shape, strides, owner, true);
-}
-
-/**
- * @brief Construct a new ndarray object from a raw pointer.
- *
- * @param[in] data Raw pointer to the first element of the array.
- * @param[in] dt Data type descriptor. Often retrieved with dtype::get_builtin().
- * @param[in] shape Shape of the array as STL container of integers; must have begin() and end().
- * @param[in] strides Shape of the array as STL container of integers; must have begin() and end().
- * @param[in] owner An arbitray Python object that owns that data pointer. The array object will
- * keep a reference to the object, and decrement it's reference count when the
- * array goes out of scope. Pass None at your own peril.
- *
- * This overload takes a const void pointer and sets the "writeable" flag of the array to false.
- *
- * @todo Should probably take ranges of iterators rather than actual container objects.
- */
-template <typename Container>
-inline ndarray from_data(void const * data,
- dtype const & dt,
- Container shape,
- Container strides,
- python::object const & owner)
-{
- return numpy::detail::from_data_impl(const_cast<void*>(data), dt, shape, strides, owner, false);
-}
-
-/**
- * @brief Transform an arbitrary object into a numpy array with the given requirements.
- *
- * @param[in] obj An arbitrary python object to convert. Arrays that meet the requirements
- * will be passed through directly.
- * @param[in] dt Data type descriptor. Often retrieved with dtype::get_builtin().
- * @param[in] nd_min Minimum number of dimensions.
- * @param[in] nd_max Maximum number of dimensions.
- * @param[in] flags Bitwise OR of flags specifying additional requirements.
- */
-BOOST_NUMPY_DECL ndarray from_object(object const & obj,
- dtype const & dt,
- int nd_min,
- int nd_max,
- ndarray::bitflag flags=ndarray::NONE);
-
-BOOST_NUMPY_DECL inline ndarray from_object(object const & obj,
- dtype const & dt,
- int nd,
- ndarray::bitflag flags=ndarray::NONE)
-{
- return from_object(obj, dt, nd, nd, flags);
-}
-
-BOOST_NUMPY_DECL inline ndarray from_object(object const & obj,
- dtype const & dt,
- ndarray::bitflag flags=ndarray::NONE)
-{
- return from_object(obj, dt, 0, 0, flags);
-}
-
-BOOST_NUMPY_DECL ndarray from_object(object const & obj,
- int nd_min,
- int nd_max,
- ndarray::bitflag flags=ndarray::NONE);
-
-BOOST_NUMPY_DECL inline ndarray from_object(object const & obj,
- int nd,
- ndarray::bitflag flags=ndarray::NONE)
-{
- return from_object(obj, nd, nd, flags);
-}
-
-BOOST_NUMPY_DECL inline ndarray from_object(object const & obj,
- ndarray::bitflag flags=ndarray::NONE)
-{
- return from_object(obj, 0, 0, flags);
-}
-
-BOOST_NUMPY_DECL inline ndarray::bitflag operator|(ndarray::bitflag a,
- ndarray::bitflag b)
-{
- return ndarray::bitflag(int(a) | int(b));
-}
-
-BOOST_NUMPY_DECL inline ndarray::bitflag operator&(ndarray::bitflag a,
- ndarray::bitflag b)
-{
- return ndarray::bitflag(int(a) & int(b));
-}
-
-} // namespace boost::python::numpy
-
-namespace converter
-{
-
-NUMPY_OBJECT_MANAGER_TRAITS(numpy::ndarray);
-
-}}} // namespace boost::python::converter
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy/numpy_object_mgr_traits.hpp b/contrib/restricted/boost/boost/python/numpy/numpy_object_mgr_traits.hpp
deleted file mode 100644
index a138f4cd52..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/numpy_object_mgr_traits.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_numpy_object_mgr_traits_hpp_
-#define boost_python_numpy_numpy_object_mgr_traits_hpp_
-
-#include <boost/python/numpy/config.hpp>
-
-/**
- * @brief Macro that specializes object_manager_traits by requiring a
- * source-file implementation of get_pytype().
- */
-
-#define NUMPY_OBJECT_MANAGER_TRAITS(manager) \
-template <> \
-struct BOOST_NUMPY_DECL object_manager_traits<manager> \
-{ \
- BOOST_STATIC_CONSTANT(bool, is_specialized = true); \
- static inline python::detail::new_reference adopt(PyObject* x) \
- { \
- return python::detail::new_reference(python::pytype_check((PyTypeObject*)get_pytype(), x)); \
- } \
- static bool check(PyObject* x) \
- { \
- return ::PyObject_IsInstance(x, (PyObject*)get_pytype()); \
- } \
- static manager* checked_downcast(PyObject* x) \
- { \
- return python::downcast<manager>((checked_downcast_impl)(x, (PyTypeObject*)get_pytype())); \
- } \
- static PyTypeObject const * get_pytype(); \
-}
-
-#endif
-
diff --git a/contrib/restricted/boost/boost/python/numpy/scalars.hpp b/contrib/restricted/boost/boost/python/numpy/scalars.hpp
deleted file mode 100644
index c2a83d8253..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/scalars.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_scalars_hpp_
-#define boost_python_numpy_scalars_hpp_
-
-/**
- * @brief Object managers for array scalars (currently only numpy.void is implemented).
- */
-
-#include <boost/python.hpp>
-#include <boost/python/numpy/numpy_object_mgr_traits.hpp>
-#include <boost/python/numpy/dtype.hpp>
-
-namespace boost { namespace python { namespace numpy {
-
-/**
- * @brief A boost.python "object manager" (subclass of object) for numpy.void.
- *
- * @todo This could have a lot more functionality.
- */
-class BOOST_NUMPY_DECL void_ : public object
-{
- static python::detail::new_reference convert(object_cref arg, bool align);
-public:
-
- /**
- * @brief Construct a new array scalar with the given size and void dtype.
- *
- * Data is initialized to zero. One can create a standalone scalar object
- * with a certain dtype "dt" with:
- * @code
- * void_ scalar = void_(dt.get_itemsize()).view(dt);
- * @endcode
- */
- explicit void_(Py_ssize_t size);
-
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(void_, object);
-
- /// @brief Return a view of the scalar with the given dtype.
- void_ view(dtype const & dt) const;
-
- /// @brief Copy the scalar (deep for all non-object fields).
- void_ copy() const;
-
-};
-
-} // namespace boost::python::numpy
-
-namespace converter
-{
-NUMPY_OBJECT_MANAGER_TRAITS(numpy::void_);
-}}} // namespace boost::python::converter
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/numpy/ufunc.hpp b/contrib/restricted/boost/boost/python/numpy/ufunc.hpp
deleted file mode 100644
index 79d7d262b8..0000000000
--- a/contrib/restricted/boost/boost/python/numpy/ufunc.hpp
+++ /dev/null
@@ -1,206 +0,0 @@
-// Copyright Jim Bosch 2010-2012.
-// Copyright Stefan Seefeld 2016.
-// 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_python_numpy_ufunc_hpp_
-#define boost_python_numpy_ufunc_hpp_
-
-/**
- * @brief Utilities to create ufunc-like broadcasting functions out of C++ functors.
- */
-
-#include <boost/python.hpp>
-#include <boost/python/numpy/numpy_object_mgr_traits.hpp>
-#include <boost/python/numpy/dtype.hpp>
-#include <boost/python/numpy/ndarray.hpp>
-#include <boost/python/numpy/config.hpp>
-
-namespace boost { namespace python { namespace numpy {
-
-/**
- * @brief A boost.python "object manager" (subclass of object) for PyArray_MultiIter.
- *
- * multi_iter is a Python object, but a very low-level one. It should generally only be used
- * in loops of the form:
- * @code
- * while (iter.not_done()) {
- * ...
- * iter.next();
- * }
- * @endcode
- *
- * @todo I can't tell if this type is exposed in Python anywhere; if it is, we should use that name.
- * It's more dangerous than most object managers, however - maybe it actually belongs in
- * a detail namespace?
- */
-class BOOST_NUMPY_DECL multi_iter : public object
-{
-public:
-
- BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(multi_iter, object);
-
- /// @brief Increment the iterator.
- void next();
-
- /// @brief Check if the iterator is at its end.
- bool not_done() const;
-
- /// @brief Return a pointer to the element of the nth broadcasted array.
- char * get_data(int n) const;
-
- /// @brief Return the number of dimensions of the broadcasted array expression.
- int get_nd() const;
-
- /// @brief Return the shape of the broadcasted array expression as an array of integers.
- Py_intptr_t const * get_shape() const;
-
- /// @brief Return the shape of the broadcasted array expression in the nth dimension.
- Py_intptr_t shape(int n) const;
-
-};
-
-/// @brief Construct a multi_iter over a single sequence or scalar object.
-BOOST_NUMPY_DECL multi_iter make_multi_iter(object const & a1);
-
-/// @brief Construct a multi_iter by broadcasting two objects.
-BOOST_NUMPY_DECL multi_iter make_multi_iter(object const & a1, object const & a2);
-
-/// @brief Construct a multi_iter by broadcasting three objects.
-BOOST_NUMPY_DECL multi_iter make_multi_iter(object const & a1, object const & a2, object const & a3);
-
-/**
- * @brief Helps wrap a C++ functor taking a single scalar argument as a broadcasting ufunc-like
- * Python object.
- *
- * Typical usage looks like this:
- * @code
- * struct TimesPI
- * {
- * typedef double argument_type;
- * typedef double result_type;
- * double operator()(double input) const { return input * M_PI; }
- * };
- *
- * BOOST_PYTHON_MODULE(example)
- * {
- * class_< TimesPI >("TimesPI")
- * .def("__call__", unary_ufunc<TimesPI>::make());
- * }
- * @endcode
- *
- */
-template <typename TUnaryFunctor,
- typename TArgument=typename TUnaryFunctor::argument_type,
- typename TResult=typename TUnaryFunctor::result_type>
-struct unary_ufunc
-{
-
- /**
- * @brief A C++ function with object arguments that broadcasts its arguments before
- * passing them to the underlying C++ functor.
- */
- static object call(TUnaryFunctor & self, object const & input, object const & output)
- {
- dtype in_dtype = dtype::get_builtin<TArgument>();
- dtype out_dtype = dtype::get_builtin<TResult>();
- ndarray in_array = from_object(input, in_dtype, ndarray::ALIGNED);
- ndarray out_array = ! output.is_none() ?
- from_object(output, out_dtype, ndarray::ALIGNED | ndarray::WRITEABLE)
- : zeros(in_array.get_nd(), in_array.get_shape(), out_dtype);
- multi_iter iter = make_multi_iter(in_array, out_array);
- while (iter.not_done())
- {
- TArgument * argument = reinterpret_cast<TArgument*>(iter.get_data(0));
- TResult * result = reinterpret_cast<TResult*>(iter.get_data(1));
- *result = self(*argument);
- iter.next();
- }
- return out_array.scalarize();
- }
-
- /**
- * @brief Construct a boost.python function object from call() with reasonable keyword names.
- *
- * Users will often want to specify their own keyword names with the same signature, but this
- * is a convenient shortcut.
- */
- static object make()
- {
- return make_function(call, default_call_policies(), (arg("input"), arg("output")=object()));
- }
-};
-
-/**
- * @brief Helps wrap a C++ functor taking a pair of scalar arguments as a broadcasting ufunc-like
- * Python object.
- *
- * Typical usage looks like this:
- * @code
- * struct CosSum
- * {
- * typedef double first_argument_type;
- * typedef double second_argument_type;
- * typedef double result_type;
- * double operator()(double input1, double input2) const { return std::cos(input1 + input2); }
- * };
- *
- * BOOST_PYTHON_MODULE(example)
- * {
- * class_< CosSum >("CosSum")
- * .def("__call__", binary_ufunc<CosSum>::make());
- * }
- * @endcode
- *
- */
-template <typename TBinaryFunctor,
- typename TArgument1=typename TBinaryFunctor::first_argument_type,
- typename TArgument2=typename TBinaryFunctor::second_argument_type,
- typename TResult=typename TBinaryFunctor::result_type>
-struct binary_ufunc
-{
-
- static object
- call(TBinaryFunctor & self, object const & input1, object const & input2,
- object const & output)
- {
- dtype in1_dtype = dtype::get_builtin<TArgument1>();
- dtype in2_dtype = dtype::get_builtin<TArgument2>();
- dtype out_dtype = dtype::get_builtin<TResult>();
- ndarray in1_array = from_object(input1, in1_dtype, ndarray::ALIGNED);
- ndarray in2_array = from_object(input2, in2_dtype, ndarray::ALIGNED);
- multi_iter iter = make_multi_iter(in1_array, in2_array);
- ndarray out_array = !output.is_none()
- ? from_object(output, out_dtype, ndarray::ALIGNED | ndarray::WRITEABLE)
- : zeros(iter.get_nd(), iter.get_shape(), out_dtype);
- iter = make_multi_iter(in1_array, in2_array, out_array);
- while (iter.not_done())
- {
- TArgument1 * argument1 = reinterpret_cast<TArgument1*>(iter.get_data(0));
- TArgument2 * argument2 = reinterpret_cast<TArgument2*>(iter.get_data(1));
- TResult * result = reinterpret_cast<TResult*>(iter.get_data(2));
- *result = self(*argument1, *argument2);
- iter.next();
- }
- return out_array.scalarize();
- }
-
- static object make()
- {
- return make_function(call, default_call_policies(),
- (arg("input1"), arg("input2"), arg("output")=object()));
- }
-
-};
-
-} // namespace boost::python::numpy
-
-namespace converter
-{
-
-NUMPY_OBJECT_MANAGER_TRAITS(numpy::multi_iter);
-
-}}} // namespace boost::python::converter
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/object_call.hpp b/contrib/restricted/boost/boost/python/object_call.hpp
deleted file mode 100644
index 5c4d0f2fbe..0000000000
--- a/contrib/restricted/boost/boost/python/object_call.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# if !defined(BOOST_PYTHON_SYNOPSIS)
-# // 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)
-
-# if !defined(BOOST_PP_IS_ITERATING)
-# error Boost.Python - do not include this file!
-# endif
-
-# define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS_Z(1, N, class A)>
- typename detail::dependent<object, A0>::type
- operator()(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, const& a)) const
- {
- typedef typename detail::dependent<object, A0>::type obj;
- U const& self = *static_cast<U const*>(this);
- return call<obj>(get_managed_object(self, tag), BOOST_PP_ENUM_PARAMS_Z(1, N, a));
- }
-
-# undef N
-# endif // BOOST_PYTHON_SYNOPSIS
diff --git a/contrib/restricted/boost/boost/python/suite/indexing/container_utils.hpp b/contrib/restricted/boost/boost/python/suite/indexing/container_utils.hpp
deleted file mode 100644
index 72710bb8b0..0000000000
--- a/contrib/restricted/boost/boost/python/suite/indexing/container_utils.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-// (C) Copyright Joel de Guzman 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)
-
-#ifndef PY_CONTAINER_UTILS_JDG20038_HPP
-# define PY_CONTAINER_UTILS_JDG20038_HPP
-
-# include <utility>
-# include <boost/foreach.hpp>
-# include <boost/python/object.hpp>
-# include <boost/python/handle.hpp>
-# include <boost/python/extract.hpp>
-# include <boost/python/stl_iterator.hpp>
-
-namespace boost { namespace python { namespace container_utils {
-
- template <typename Container>
- void
- extend_container(Container& container, object l)
- {
- typedef typename Container::value_type data_type;
-
- // l must be iterable
- BOOST_FOREACH(object elem,
- std::make_pair(
- boost::python::stl_input_iterator<object>(l),
- boost::python::stl_input_iterator<object>()
- ))
- {
- extract<data_type const&> x(elem);
- // try if elem is an exact data_type type
- if (x.check())
- {
- container.push_back(x());
- }
- else
- {
- // try to convert elem to data_type type
- extract<data_type> x(elem);
- if (x.check())
- {
- container.push_back(x());
- }
- else
- {
- PyErr_SetString(PyExc_TypeError, "Incompatible Data Type");
- throw_error_already_set();
- }
- }
- }
- }
-
-}}} // namespace boost::python::container_utils
-
-#endif
diff --git a/contrib/restricted/boost/boost/python/suite/indexing/detail/indexing_suite_detail.hpp b/contrib/restricted/boost/boost/python/suite/indexing/detail/indexing_suite_detail.hpp
deleted file mode 100644
index eb8b81c0a3..0000000000
--- a/contrib/restricted/boost/boost/python/suite/indexing/detail/indexing_suite_detail.hpp
+++ /dev/null
@@ -1,759 +0,0 @@
-// (C) Copyright Joel de Guzman 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)
-
-#ifndef INDEXING_SUITE_DETAIL_JDG20036_HPP
-# define INDEXING_SUITE_DETAIL_JDG20036_HPP
-
-# include <boost/python/extract.hpp>
-# include <boost/scoped_ptr.hpp>
-# include <boost/get_pointer.hpp>
-# include <boost/detail/binary_search.hpp>
-# include <boost/numeric/conversion/cast.hpp>
-# include <boost/python/detail/type_traits.hpp>
-# include <vector>
-# include <map>
-#include <iostream>
-
-namespace boost { namespace python { namespace detail {
-
-#if defined(NDEBUG)
-#define BOOST_PYTHON_INDEXING_CHECK_INVARIANT
-#else
-#define BOOST_PYTHON_INDEXING_CHECK_INVARIANT check_invariant()
-#endif
-
- template <class Proxy>
- struct compare_proxy_index
- {
- // This functor compares a proxy and an index.
- // This is used by proxy_group::first_proxy to
- // get first proxy with index i.
-
- template <class Index>
- bool operator()(PyObject* prox, Index i) const
- {
- typedef typename Proxy::policies_type policies_type;
- Proxy& proxy = extract<Proxy&>(prox)();
- return policies_type::
- compare_index(proxy.get_container(), proxy.get_index(), i);
- }
- };
-
- // The proxy_group class holds a vector of container element
- // proxies. First, what is a container element proxy? A container
- // element proxy acts like a smart pointer holding a reference to
- // a container and an index (see container_element, for details).
- //
- // The proxies are held in a vector always sorted by its index.
- // Various functions manage the addition, removal and searching
- // of proxies from the vector.
- //
- template <class Proxy>
- class proxy_group
- {
- public:
-
- typedef typename std::vector<PyObject*>::const_iterator const_iterator;
- typedef typename std::vector<PyObject*>::iterator iterator;
- typedef typename Proxy::index_type index_type;
- typedef typename Proxy::policies_type policies_type;
-
- iterator
- first_proxy(index_type i)
- {
- // Return the first proxy with index <= i
- return boost::detail::lower_bound(
- proxies.begin(), proxies.end(),
- i, compare_proxy_index<Proxy>());
- }
-
- void
- remove(Proxy& proxy)
- {
- // Remove a proxy
- for (iterator iter = first_proxy(proxy.get_index());
- iter != proxies.end(); ++iter)
- {
- if (&extract<Proxy&>(*iter)() == &proxy)
- {
- proxies.erase(iter);
- break;
- }
- }
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- }
-
- void
- add(PyObject* prox)
- {
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- // Add a proxy
- proxies.insert(
- first_proxy(extract<Proxy&>(prox)().get_index()), prox);
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- }
-
- void
- erase(index_type i, mpl::false_)
- {
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- // Erase the proxy with index i
- replace(i, i+1, 0);
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- }
-
- void
- erase(index_type i, mpl::true_)
- {
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- // Erase the proxy with index i
-
- iterator iter = first_proxy(i);
- extract<Proxy&> p(*iter);
-
- if (iter != proxies.end() && p().get_index() == i)
- {
- extract<Proxy&> p(*iter);
- p().detach();
- proxies.erase(iter);
- }
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- }
-
- void
- erase(index_type from, index_type to)
- {
- // note: this cannot be called when container is not sliceable
-
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- // Erase all proxies with indexes from..to
- replace(from, to, 0);
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- }
-
- void
- replace(
- index_type from,
- index_type to,
- typename std::vector<PyObject*>::size_type len)
- {
- // note: this cannot be called when container is not sliceable
-
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- // Erase all proxies with indexes from..to.
- // Adjust the displaced indexes such that the
- // final effect is that we have inserted *len*
- // number of proxies in the vacated region. This
- // procedure involves adjusting the indexes of
- // the proxies.
-
- iterator left = first_proxy(from);
- iterator right = proxies.end(); // we'll adjust this later
-
- for (iterator iter = left; iter != right; ++iter)
- {
- if (extract<Proxy&>(*iter)().get_index() > to)
- {
- right = iter; // adjust right
- break;
- }
- extract<Proxy&> p(*iter);
- p().detach();
- }
-
- typename std::vector<PyObject*>::size_type
- offset = left-proxies.begin();
- proxies.erase(left, right);
- right = proxies.begin()+offset;
-
- while (right != proxies.end())
- {
- typedef typename Proxy::container_type::difference_type difference_type;
- extract<Proxy&> p(*right);
- p().set_index(
- extract<Proxy&>(*right)().get_index()
- - (difference_type(to) - from - len)
- );
-
- ++right;
- }
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- }
-
- PyObject*
- find(index_type i)
- {
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- // Find the proxy with *exact* index i.
- // Return 0 (null) if no proxy with the
- // given index is found.
- iterator iter = first_proxy(i);
- if (iter != proxies.end()
- && extract<Proxy&>(*iter)().get_index() == i)
- {
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- return *iter;
- }
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- return 0;
- }
-
- typename std::vector<PyObject*>::size_type
- size() const
- {
- BOOST_PYTHON_INDEXING_CHECK_INVARIANT;
- // How many proxies are there so far?
- return proxies.size();
- }
-
- private:
-
-#if !defined(NDEBUG)
- void
- check_invariant() const
- {
- for (const_iterator i = proxies.begin(); i != proxies.end(); ++i)
- {
- if ((*i)->ob_refcnt <= 0)
- {
- PyErr_SetString(PyExc_RuntimeError,
- "Invariant: Proxy vector in an inconsistent state");
- throw_error_already_set();
- }
-
- if (i+1 != proxies.end())
- {
- if (extract<Proxy&>(*(i+1))().get_index() ==
- extract<Proxy&>(*(i))().get_index())
- {
- PyErr_SetString(PyExc_RuntimeError,
- "Invariant: Proxy vector in an inconsistent state (duplicate proxy)");
- throw_error_already_set();
- }
- }
- }
- }
-#endif
-
- std::vector<PyObject*> proxies;
- };
-
- // proxy_links holds a map of Container pointers (keys)
- // with proxy_group(s) (data). Various functions manage
- // the addition, removal and searching of proxies from
- // the map.
- //
- template <class Proxy, class Container>
- class proxy_links
- {
- public:
-
- typedef std::map<Container*, proxy_group<Proxy> > links_t;
- typedef typename Proxy::index_type index_type;
-
- void
- remove(Proxy& proxy)
- {
- // Remove a proxy.
- typename links_t::iterator r = links.find(&proxy.get_container());
- if (r != links.end())
- {
- r->second.remove(proxy);
- if (r->second.size() == 0)
- links.erase(r);
- }
- }
-
- void
- add(PyObject* prox, Container& container)
- {
- // Add a proxy
- links[&container].add(prox);
- }
-
- template <class NoSlice>
- void erase(Container& container, index_type i, NoSlice no_slice)
- {
- // Erase the proxy with index i
- typename links_t::iterator r = links.find(&container);
- if (r != links.end())
- {
- r->second.erase(i, no_slice);
- if (r->second.size() == 0)
- links.erase(r);
- }
- }
-
- void
- erase(Container& container, index_type from, index_type to)
- {
- // Erase all proxies with indexes from..to
- typename links_t::iterator r = links.find(&container);
- if (r != links.end())
- {
- r->second.erase(from, to);
- if (r->second.size() == 0)
- links.erase(r);
- }
- }
-
- void
- replace(
- Container& container,
- index_type from, index_type to, index_type len)
- {
- // Erase all proxies with indexes from..to.
- // Adjust the displaced indexes such that the
- // final effect is that we have inserted *len*
- // number of proxies in the vacated region. This
- // procedure involves adjusting the indexes of
- // the proxies.
-
- typename links_t::iterator r = links.find(&container);
- if (r != links.end())
- {
- r->second.replace(from, to, len);
- if (r->second.size() == 0)
- links.erase(r);
- }
- }
-
- PyObject*
- find(Container& container, index_type i)
- {
- // Find the proxy with *exact* index i.
- // Return 0 (null) if no proxy with the given
- // index is found.
- typename links_t::iterator r = links.find(&container);
- if (r != links.end())
- return r->second.find(i);
- return 0;
- }
-
- private:
-
- links_t links;
- };
-
- // container_element is our container proxy class.
- // This class acts like a smart pointer to a container
- // element. The class holds an index and a reference to
- // a container. Dereferencing the smart pointer will
- // retrieve the nth (index) element from the container.
- //
- // A container_element can also be detached from the
- // container. In such a detached state, the container_element
- // holds a copy of the nth (index) element, which it
- // returns when dereferenced.
- //
- template <class Container, class Index, class Policies>
- class container_element
- {
- public:
-
- typedef Index index_type;
- typedef Container container_type;
- typedef typename Policies::data_type element_type;
- typedef Policies policies_type;
- typedef container_element<Container, Index, Policies> self_t;
- typedef proxy_group<self_t> links_type;
-
- container_element(object container, Index index)
- : ptr()
- , container(container)
- , index(index)
- {
- }
-
- container_element(container_element const& ce)
- : ptr(ce.ptr.get() == 0 ? 0 : new element_type(*ce.ptr.get()))
- , container(ce.container)
- , index(ce.index)
- {
- }
-
- ~container_element()
- {
- if (!is_detached())
- get_links().remove(*this);
- }
-
- element_type& operator*() const
- {
- if (is_detached())
- return *get_pointer(ptr);
- return Policies::get_item(get_container(), index);
- }
-
- element_type* get() const
- {
- if (is_detached())
- return get_pointer(ptr);
- return &Policies::get_item(get_container(), index);
- }
-
- void
- detach()
- {
- if (!is_detached())
- {
- ptr.reset(
- new element_type(
- Policies::get_item(get_container(), index)));
- container = object(); // free container. reset it to None
- }
- }
-
- bool
- is_detached() const
- {
- return get_pointer(ptr) != 0;
- }
-
- Container&
- get_container() const
- {
- return extract<Container&>(container)();
- }
-
- Index
- get_index() const
- {
- return index;
- }
-
- void
- set_index(Index i)
- {
- index = i;
- }
-
- static proxy_links<self_t, Container>&
- get_links()
- {
- // All container_element(s) maintain links to
- // its container in a global map (see proxy_links).
- // This global "links" map is a singleton.
-
- static proxy_links<self_t, Container> links;
- return links; // singleton
- }
-
- private:
-
- container_element& operator=(container_element const& ce);
-
- scoped_ptr<element_type> ptr;
- object container;
- Index index;
- };
-
- template <
- class Container
- , class DerivedPolicies
- , class ContainerElement
- , class Index
- >
- struct no_proxy_helper
- {
- static void
- register_container_element()
- {
- }
-
- template <class DataType>
- static object
- base_get_item_helper(DataType const& p, detail::true_)
- {
- return object(ptr(p));
- }
-
- template <class DataType>
- static object
- base_get_item_helper(DataType const& x, detail::false_)
- {
- return object(x);
- }
-
- static object
- base_get_item_(back_reference<Container&> const& container, PyObject* i)
- {
- return base_get_item_helper(
- DerivedPolicies::get_item(
- container.get(), DerivedPolicies::
- convert_index(container.get(), i))
- , is_pointer<BOOST_DEDUCED_TYPENAME Container::value_type>()
- );
- }
-
- static void
- base_replace_indexes(
- Container& /*container*/, Index /*from*/,
- Index /*to*/, Index /*n*/)
- {
- }
-
- template <class NoSlice>
- static void
- base_erase_index(
- Container& /*container*/, Index /*i*/, NoSlice /*no_slice*/)
- {
- }
-
- static void
- base_erase_indexes(Container& /*container*/, Index /*from*/, Index /*to*/)
- {
- }
- };
-
- template <
- class Container
- , class DerivedPolicies
- , class ContainerElement
- , class Index
- >
- struct proxy_helper
- {
- static void
- register_container_element()
- {
- register_ptr_to_python<ContainerElement>();
- }
-
- static object
- base_get_item_(back_reference<Container&> const& container, PyObject* i)
- {
- // Proxy
- Index idx = DerivedPolicies::convert_index(container.get(), i);
-
- if (PyObject* shared =
- ContainerElement::get_links().find(container.get(), idx))
- {
- handle<> h(python::borrowed(shared));
- return object(h);
- }
- else
- {
- object prox(ContainerElement(container.source(), idx));
- ContainerElement::
- get_links().add(prox.ptr(), container.get());
- return prox;
- }
- }
-
- static void
- base_replace_indexes(
- Container& container, Index from,
- Index to, Index n)
- {
- ContainerElement::get_links().replace(container, from, to, n);
- }
-
- template <class NoSlice>
- static void
- base_erase_index(
- Container& container, Index i, NoSlice no_slice)
- {
- ContainerElement::get_links().erase(container, i, no_slice);
- }
-
- static void
- base_erase_indexes(
- Container& container, Index from, Index to)
- {
- ContainerElement::get_links().erase(container, from, to);
- }
- };
-
- template <
- class Container
- , class DerivedPolicies
- , class ProxyHandler
- , class Data
- , class Index
- >
- struct slice_helper
- {
- static object
- base_get_slice(Container& container, PySliceObject* slice)
- {
- Index from, to;
- base_get_slice_data(container, slice, from, to);
- return DerivedPolicies::get_slice(container, from, to);
- }
-
- static void
- base_get_slice_data(
- Container& container, PySliceObject* slice, Index& from_, Index& to_)
- {
- if (Py_None != slice->step) {
- PyErr_SetString( PyExc_IndexError, "slice step size not supported.");
- throw_error_already_set();
- }
-
- Index min_index = DerivedPolicies::get_min_index(container);
- Index max_index = DerivedPolicies::get_max_index(container);
-
- if (Py_None == slice->start) {
- from_ = min_index;
- }
- else {
- long from = extract<long>( slice->start);
- if (from < 0) // Negative slice index
- from += max_index;
- if (from < 0) // Clip lower bounds to zero
- from = 0;
- from_ = boost::numeric_cast<Index>(from);
- if (from_ > max_index) // Clip upper bounds to max_index.
- from_ = max_index;
- }
-
- if (Py_None == slice->stop) {
- to_ = max_index;
- }
- else {
- long to = extract<long>( slice->stop);
- if (to < 0)
- to += max_index;
- if (to < 0)
- to = 0;
- to_ = boost::numeric_cast<Index>(to);
- if (to_ > max_index)
- to_ = max_index;
- }
- }
-
- static void
- base_set_slice(Container& container, PySliceObject* slice, PyObject* v)
- {
- Index from, to;
- base_get_slice_data(container, slice, from, to);
-
- extract<Data&> elem(v);
- // try if elem is an exact Data
- if (elem.check())
- {
- ProxyHandler::base_replace_indexes(container, from, to, 1);
- DerivedPolicies::set_slice(container, from, to, elem());
- }
- else
- {
- // try to convert elem to Data
- extract<Data> elem(v);
- if (elem.check())
- {
- ProxyHandler::base_replace_indexes(container, from, to, 1);
- DerivedPolicies::set_slice(container, from, to, elem());
- }
- else
- {
- // Otherwise, it must be a list or some container
- handle<> l_(python::borrowed(v));
- object l(l_);
-
- std::vector<Data> temp;
- for (int i = 0; i < l.attr("__len__")(); i++)
- {
- object elem(l[i]);
- extract<Data const&> x(elem);
- // try if elem is an exact Data type
- if (x.check())
- {
- temp.push_back(x());
- }
- else
- {
- // try to convert elem to Data type
- extract<Data> x(elem);
- if (x.check())
- {
- temp.push_back(x());
- }
- else
- {
- PyErr_SetString(PyExc_TypeError,
- "Invalid sequence element");
- throw_error_already_set();
- }
- }
- }
-
- ProxyHandler::base_replace_indexes(container, from, to,
- temp.end()-temp.begin());
- DerivedPolicies::set_slice(container, from, to,
- temp.begin(), temp.end());
- }
- }
- }
-
- static void
- base_delete_slice(Container& container, PySliceObject* slice)
- {
- Index from, to;
- base_get_slice_data(container, slice, from, to);
- ProxyHandler::base_erase_indexes(container, from, to);
- DerivedPolicies::delete_slice(container, from, to);
- }
- };
-
- template <
- class Container
- , class DerivedPolicies
- , class ProxyHandler
- , class Data
- , class Index
- >
- struct no_slice_helper
- {
- static void
- slicing_not_suported()
- {
- PyErr_SetString(PyExc_RuntimeError, "Slicing not supported");
- throw_error_already_set();
- }
-
- static object
- base_get_slice(Container& /*container*/, PySliceObject* /*slice*/)
- {
- slicing_not_suported();
- return object();
- }
-
- static void
- base_set_slice(Container& /*container*/, PySliceObject* /*slice*/, PyObject* /*v*/)
- {
- slicing_not_suported();
- }
-
- static void
- base_delete_slice(Container& /*container*/, PySliceObject* /*slice*/)
- {
- slicing_not_suported();
- }
- };
-
-#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-}} // namespace python::detail
-#endif
-
- template <class Container, class Index, class Policies>
- inline typename Policies::data_type*
- get_pointer(
- python::detail::container_element<Container, Index, Policies> const& p)
- {
- // Get the pointer of a container_element smart pointer
- return p.get();
- }
-
-#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
- // Don't hide these other get_pointer overloads
- using boost::python::get_pointer;
- using boost::get_pointer;
-}} // namespace python::detail
-#endif
-
-} // namespace boost
-
-#endif // INDEXING_SUITE_DETAIL_JDG20036_HPP
diff --git a/contrib/restricted/boost/boost/python/suite/indexing/indexing_suite.hpp b/contrib/restricted/boost/boost/python/suite/indexing/indexing_suite.hpp
deleted file mode 100644
index 78ca74d633..0000000000
--- a/contrib/restricted/boost/boost/python/suite/indexing/indexing_suite.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-// (C) Copyright Joel de Guzman 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)
-
-#ifndef INDEXING_SUITE_JDG20036_HPP
-# define INDEXING_SUITE_JDG20036_HPP
-
-# include <boost/python/class.hpp>
-# include <boost/python/def_visitor.hpp>
-# include <boost/python/register_ptr_to_python.hpp>
-# include <boost/python/suite/indexing/detail/indexing_suite_detail.hpp>
-# include <boost/python/return_internal_reference.hpp>
-# include <boost/python/iterator.hpp>
-# include <boost/mpl/or.hpp>
-# include <boost/mpl/not.hpp>
-# include <boost/python/detail/type_traits.hpp>
-
-namespace boost { namespace python {
-
- // indexing_suite class. This class is the facade class for
- // the management of C++ containers intended to be integrated
- // to Python. The objective is make a C++ container look and
- // feel and behave exactly as we'd expect a Python container.
- // By default indexed elements are returned by proxy. This can be
- // disabled by supplying *true* in the NoProxy template parameter.
- //
- // Derived classes provide the hooks needed by the indexing_suite
- // to do its job:
- //
- // static data_type&
- // get_item(Container& container, index_type i);
- //
- // static object
- // get_slice(Container& container, index_type from, index_type to);
- //
- // static void
- // set_item(Container& container, index_type i, data_type const& v);
- //
- // static void
- // set_slice(
- // Container& container, index_type from,
- // index_type to, data_type const& v
- // );
- //
- // template <class Iter>
- // static void
- // set_slice(Container& container, index_type from,
- // index_type to, Iter first, Iter last
- // );
- //
- // static void
- // delete_item(Container& container, index_type i);
- //
- // static void
- // delete_slice(Container& container, index_type from, index_type to);
- //
- // static size_t
- // size(Container& container);
- //
- // template <class T>
- // static bool
- // contains(Container& container, T const& val);
- //
- // static index_type
- // convert_index(Container& container, PyObject* i);
- //
- // static index_type
- // adjust_index(index_type current, index_type from,
- // index_type to, size_type len
- // );
- //
- // Most of these policies are self explanatory. convert_index and
- // adjust_index, however, deserves some explanation.
- //
- // convert_index converts an Python index into a C++ index that the
- // container can handle. For instance, negative indexes in Python, by
- // convention, indexes from the right (e.g. C[-1] indexes the rightmost
- // element in C). convert_index should handle the necessary conversion
- // for the C++ container (e.g. convert -1 to C.size()-1). convert_index
- // should also be able to convert the type of the index (A dynamic Python
- // type) to the actual type that the C++ container expects.
- //
- // When a container expands or contracts, held indexes to its elements
- // must be adjusted to follow the movement of data. For instance, if
- // we erase 3 elements, starting from index 0 from a 5 element vector,
- // what used to be at index 4 will now be at index 1:
- //
- // [a][b][c][d][e] ---> [d][e]
- // ^ ^
- // 4 1
- //
- // adjust_index takes care of the adjustment. Given a current index,
- // the function should return the adjusted index when data in the
- // container at index from..to is replaced by *len* elements.
- //
-
- template <
- class Container
- , class DerivedPolicies
- , bool NoProxy = false
- , bool NoSlice = false
- , class Data = typename Container::value_type
- , class Index = typename Container::size_type
- , class Key = typename Container::value_type
- >
- class indexing_suite
- : public def_visitor<
- indexing_suite<
- Container
- , DerivedPolicies
- , NoProxy
- , NoSlice
- , Data
- , Index
- , Key
- > >
- {
- private:
-
- typedef mpl::or_<
- mpl::bool_<NoProxy>
- , mpl::not_<is_class<Data> >
- , typename mpl::or_<
- detail::is_same<Data, std::string>
- , detail::is_same<Data, std::complex<float> >
- , detail::is_same<Data, std::complex<double> >
- , detail::is_same<Data, std::complex<long double> > >::type>
- no_proxy;
-
- typedef detail::container_element<Container, Index, DerivedPolicies>
- container_element_t;
-
- typedef return_internal_reference<> return_policy;
-
- typedef typename mpl::if_<
- no_proxy
- , iterator<Container>
- , iterator<Container, return_policy> >::type
- def_iterator;
-
- typedef typename mpl::if_<
- no_proxy
- , detail::no_proxy_helper<
- Container
- , DerivedPolicies
- , container_element_t
- , Index>
- , detail::proxy_helper<
- Container
- , DerivedPolicies
- , container_element_t
- , Index> >::type
- proxy_handler;
-
- typedef typename mpl::if_<
- mpl::bool_<NoSlice>
- , detail::no_slice_helper<
- Container
- , DerivedPolicies
- , proxy_handler
- , Data
- , Index>
- , detail::slice_helper<
- Container
- , DerivedPolicies
- , proxy_handler
- , Data
- , Index> >::type
- slice_handler;
-
- public:
-
- template <class Class>
- void visit(Class& cl) const
- {
- // Hook into the class_ generic visitation .def function
- proxy_handler::register_container_element();
-
- cl
- .def("__len__", base_size)
- .def("__setitem__", &base_set_item)
- .def("__delitem__", &base_delete_item)
- .def("__getitem__", &base_get_item)
- .def("__contains__", &base_contains)
- .def("__iter__", def_iterator())
- ;
-
- DerivedPolicies::extension_def(cl);
- }
-
- template <class Class>
- static void
- extension_def(Class&/* cl*/)
- {
- // default.
- // no more extensions
- }
-
- private:
-
- static object
- base_get_item(back_reference<Container&> container, PyObject* i)
- {
- if (PySlice_Check(i))
- return slice_handler::base_get_slice(
- container.get(), static_cast<PySliceObject*>(static_cast<void*>(i)));
-
- return proxy_handler::base_get_item_(container, i);
- }
-
- static void
- base_set_item(Container& container, PyObject* i, PyObject* v)
- {
- if (PySlice_Check(i))
- {
- slice_handler::base_set_slice(container,
- static_cast<PySliceObject*>(static_cast<void*>(i)), v);
- }
- else
- {
- extract<Data&> elem(v);
- // try if elem is an exact Data
- if (elem.check())
- {
- DerivedPolicies::
- set_item(container,
- DerivedPolicies::
- convert_index(container, i), elem());
- }
- else
- {
- // try to convert elem to Data
- extract<Data> elem(v);
- if (elem.check())
- {
- DerivedPolicies::
- set_item(container,
- DerivedPolicies::
- convert_index(container, i), elem());
- }
- else
- {
- PyErr_SetString(PyExc_TypeError, "Invalid assignment");
- throw_error_already_set();
- }
- }
- }
- }
-
- static void
- base_delete_item(Container& container, PyObject* i)
- {
- if (PySlice_Check(i))
- {
- slice_handler::base_delete_slice(
- container, static_cast<PySliceObject*>(static_cast<void*>(i)));
- return;
- }
-
- Index index = DerivedPolicies::convert_index(container, i);
- proxy_handler::base_erase_index(container, index, mpl::bool_<NoSlice>());
- DerivedPolicies::delete_item(container, index);
- }
-
- static size_t
- base_size(Container& container)
- {
- return DerivedPolicies::size(container);
- }
-
- static bool
- base_contains(Container& container, PyObject* key)
- {
- extract<Key const&> x(key);
- // try if key is an exact Key type
- if (x.check())
- {
- return DerivedPolicies::contains(container, x());
- }
- else
- {
- // try to convert key to Key type
- extract<Key> x(key);
- if (x.check())
- return DerivedPolicies::contains(container, x());
- else
- return false;
- }
- }
- };
-
-}} // namespace boost::python
-
-#endif // INDEXING_SUITE_JDG20036_HPP
diff --git a/contrib/restricted/boost/boost/python/suite/indexing/map_indexing_suite.hpp b/contrib/restricted/boost/boost/python/suite/indexing/map_indexing_suite.hpp
deleted file mode 100644
index 7fbad4cace..0000000000
--- a/contrib/restricted/boost/boost/python/suite/indexing/map_indexing_suite.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-// (C) Copyright Joel de Guzman 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)
-
-#ifndef MAP_INDEXING_SUITE_JDG20038_HPP
-# define MAP_INDEXING_SUITE_JDG20038_HPP
-
-# include <boost/python/suite/indexing/indexing_suite.hpp>
-# include <boost/python/iterator.hpp>
-# include <boost/python/call_method.hpp>
-# include <boost/python/tuple.hpp>
-
-namespace boost { namespace python {
-
- // Forward declaration
- template <class Container, bool NoProxy, class DerivedPolicies>
- class map_indexing_suite;
-
- namespace detail
- {
- template <class Container, bool NoProxy>
- class final_map_derived_policies
- : public map_indexing_suite<Container,
- NoProxy, final_map_derived_policies<Container, NoProxy> > {};
- }
-
- // The map_indexing_suite class is a predefined indexing_suite derived
- // class for wrapping std::map (and std::map like) classes. It provides
- // all the policies required by the indexing_suite (see indexing_suite).
- // Example usage:
- //
- // class X {...};
- //
- // ...
- //
- // class_<std::map<std::string, X> >("XMap")
- // .def(map_indexing_suite<std::map<std::string, X> >())
- // ;
- //
- // By default indexed elements are returned by proxy. This can be
- // disabled by supplying *true* in the NoProxy template parameter.
- //
- template <
- class Container,
- bool NoProxy = false,
- class DerivedPolicies
- = detail::final_map_derived_policies<Container, NoProxy> >
- class map_indexing_suite
- : public indexing_suite<
- Container
- , DerivedPolicies
- , NoProxy
- , true
- , typename Container::value_type::second_type
- , typename Container::key_type
- , typename Container::key_type
- >
- {
- public:
-
- typedef typename Container::value_type value_type;
- typedef typename Container::value_type::second_type data_type;
- typedef typename Container::key_type key_type;
- typedef typename Container::key_type index_type;
- typedef typename Container::size_type size_type;
- typedef typename Container::difference_type difference_type;
-
- template <class Class>
- static void
- extension_def(Class& cl)
- {
- // Wrap the map's element (value_type)
- std::string elem_name = "map_indexing_suite_";
- object class_name(cl.attr("__name__"));
- extract<std::string> class_name_extractor(class_name);
- elem_name += class_name_extractor();
- elem_name += "_entry";
-
- typedef typename mpl::if_<
- mpl::and_<is_class<data_type>, mpl::bool_<!NoProxy> >
- , return_internal_reference<>
- , default_call_policies
- >::type get_data_return_policy;
-
- class_<value_type>(elem_name.c_str())
- .def("__repr__", &DerivedPolicies::print_elem)
- .def("data", &DerivedPolicies::get_data, get_data_return_policy())
- .def("key", &DerivedPolicies::get_key)
- ;
- }
-
- static object
- print_elem(typename Container::value_type const& e)
- {
- return "(%s, %s)" % python::make_tuple(e.first, e.second);
- }
-
- static
- typename mpl::if_<
- mpl::and_<is_class<data_type>, mpl::bool_<!NoProxy> >
- , data_type&
- , data_type
- >::type
- get_data(typename Container::value_type& e)
- {
- return e.second;
- }
-
- static typename Container::key_type
- get_key(typename Container::value_type& e)
- {
- return e.first;
- }
-
- static data_type&
- get_item(Container& container, index_type i_)
- {
- typename Container::iterator i = container.find(i_);
- if (i == container.end())
- {
- PyErr_SetString(PyExc_KeyError, "Invalid key");
- throw_error_already_set();
- }
- return i->second;
- }
-
- static void
- set_item(Container& container, index_type i, data_type const& v)
- {
- container[i] = v;
- }
-
- static void
- delete_item(Container& container, index_type i)
- {
- container.erase(i);
- }
-
- static size_t
- size(Container& container)
- {
- return container.size();
- }
-
- static bool
- contains(Container& container, key_type const& key)
- {
- return container.find(key) != container.end();
- }
-
- static bool
- compare_index(Container& container, index_type a, index_type b)
- {
- return container.key_comp()(a, b);
- }
-
- static index_type
- convert_index(Container& /*container*/, PyObject* i_)
- {
- extract<key_type const&> i(i_);
- if (i.check())
- {
- return i();
- }
- else
- {
- extract<key_type> i(i_);
- if (i.check())
- return i();
- }
-
- PyErr_SetString(PyExc_TypeError, "Invalid index type");
- throw_error_already_set();
- return index_type();
- }
- };
-
-}} // namespace boost::python
-
-#endif // MAP_INDEXING_SUITE_JDG20038_HPP
diff --git a/contrib/restricted/boost/boost/python/suite/indexing/vector_indexing_suite.hpp b/contrib/restricted/boost/boost/python/suite/indexing/vector_indexing_suite.hpp
deleted file mode 100644
index 606f24a4af..0000000000
--- a/contrib/restricted/boost/boost/python/suite/indexing/vector_indexing_suite.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-// (C) Copyright Joel de Guzman 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)
-
-#ifndef VECTOR_INDEXING_SUITE_JDG20036_HPP
-# define VECTOR_INDEXING_SUITE_JDG20036_HPP
-
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
-# include <boost/python/suite/indexing/indexing_suite.hpp>
-# include <boost/python/suite/indexing/container_utils.hpp>
-# include <boost/python/iterator.hpp>
-
-namespace boost { namespace python {
-
- // Forward declaration
- template <class Container, bool NoProxy, class DerivedPolicies>
- class vector_indexing_suite;
-
- namespace detail
- {
- template <class Container, bool NoProxy>
- class final_vector_derived_policies
- : public vector_indexing_suite<Container,
- NoProxy, final_vector_derived_policies<Container, NoProxy> > {};
- }
-
- // The vector_indexing_suite class is a predefined indexing_suite derived
- // class for wrapping std::vector (and std::vector like) classes. It provides
- // all the policies required by the indexing_suite (see indexing_suite).
- // Example usage:
- //
- // class X {...};
- //
- // ...
- //
- // class_<std::vector<X> >("XVec")
- // .def(vector_indexing_suite<std::vector<X> >())
- // ;
- //
- // By default indexed elements are returned by proxy. This can be
- // disabled by supplying *true* in the NoProxy template parameter.
- //
- template <
- class Container,
- bool NoProxy = false,
- class DerivedPolicies
- = detail::final_vector_derived_policies<Container, NoProxy> >
- class vector_indexing_suite
- : public indexing_suite<Container, DerivedPolicies, NoProxy>
- {
- public:
-
- typedef typename Container::value_type data_type;
- typedef typename Container::value_type key_type;
- typedef typename Container::size_type index_type;
- typedef typename Container::size_type size_type;
- typedef typename Container::difference_type difference_type;
-
- template <class Class>
- static void
- extension_def(Class& cl)
- {
- cl
- .def("append", &base_append)
- .def("extend", &base_extend)
- ;
- }
-
- static
- typename mpl::if_<
- is_class<data_type>
- , data_type&
- , data_type
- >::type
- get_item(Container& container, index_type i)
- {
- return container[i];
- }
-
- static object
- get_slice(Container& container, index_type from, index_type to)
- {
- if (from > to)
- return object(Container());
- return object(Container(container.begin()+from, container.begin()+to));
- }
-
- static void
- set_item(Container& container, index_type i, data_type const& v)
- {
- container[i] = v;
- }
-
- static void
- set_slice(Container& container, index_type from,
- index_type to, data_type const& v)
- {
- if (from > to) {
- return;
- }
- else {
- container.erase(container.begin()+from, container.begin()+to);
- container.insert(container.begin()+from, v);
- }
- }
-
- template <class Iter>
- static void
- set_slice(Container& container, index_type from,
- index_type to, Iter first, Iter last)
- {
- if (from > to) {
- container.insert(container.begin()+from, first, last);
- }
- else {
- container.erase(container.begin()+from, container.begin()+to);
- container.insert(container.begin()+from, first, last);
- }
- }
-
- static void
- delete_item(Container& container, index_type i)
- {
- container.erase(container.begin()+i);
- }
-
- static void
- delete_slice(Container& container, index_type from, index_type to)
- {
- if (from > to) {
- // A null-op.
- return;
- }
- container.erase(container.begin()+from, container.begin()+to);
- }
-
- static size_t
- size(Container& container)
- {
- return container.size();
- }
-
- static bool
- contains(Container& container, key_type const& key)
- {
- return std::find(container.begin(), container.end(), key)
- != container.end();
- }
-
- static index_type
- get_min_index(Container& /*container*/)
- {
- return 0;
- }
-
- static index_type
- get_max_index(Container& container)
- {
- return container.size();
- }
-
- static bool
- compare_index(Container& /*container*/, index_type a, index_type b)
- {
- return a < b;
- }
-
- static index_type
- convert_index(Container& container, PyObject* i_)
- {
- extract<long> i(i_);
- if (i.check())
- {
- long index = i();
- if (index < 0)
- index += DerivedPolicies::size(container);
- if (index >= long(container.size()) || index < 0)
- {
- PyErr_SetString(PyExc_IndexError, "Index out of range");
- throw_error_already_set();
- }
- return index;
- }
-
- PyErr_SetString(PyExc_TypeError, "Invalid index type");
- throw_error_already_set();
- return index_type();
- }
-
- static void
- append(Container& container, data_type const& v)
- {
- container.push_back(v);
- }
-
- template <class Iter>
- static void
- extend(Container& container, Iter first, Iter last)
- {
- container.insert(container.end(), first, last);
- }
-
- private:
-
- static void
- base_append(Container& container, object v)
- {
- extract<data_type&> elem(v);
- // try if elem is an exact Data
- if (elem.check())
- {
- DerivedPolicies::append(container, elem());
- }
- else
- {
- // try to convert elem to data_type
- extract<data_type> elem(v);
- if (elem.check())
- {
- DerivedPolicies::append(container, elem());
- }
- else
- {
- PyErr_SetString(PyExc_TypeError,
- "Attempting to append an invalid type");
- throw_error_already_set();
- }
- }
- }
-
- static void
- base_extend(Container& container, object v)
- {
- std::vector<data_type> temp;
- container_utils::extend_container(temp, v);
- DerivedPolicies::extend(container, temp.begin(), temp.end());
- }
- };
-
-}} // namespace boost::python
-
-#endif // VECTOR_INDEXING_SUITE_JDG20036_HPP
diff --git a/contrib/restricted/boost/python/LICENSE_1_0.txt b/contrib/restricted/boost/python/LICENSE_1_0.txt
new file mode 100644
index 0000000000..36b7cd93cd
--- /dev/null
+++ b/contrib/restricted/boost/python/LICENSE_1_0.txt
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/contrib/restricted/boost/python/README.md b/contrib/restricted/boost/python/README.md
new file mode 100644
index 0000000000..c692bb8a66
--- /dev/null
+++ b/contrib/restricted/boost/python/README.md
@@ -0,0 +1,57 @@
+![logo](https://raw.githubusercontent.com/boostorg/python/develop/doc/images/bpl.png)
+
+# Synopsis
+
+Welcome to Boost.Python, a C++ library which enables seamless interoperability between C++ and the Python programming language. The library includes support for:
+
+* References and Pointers
+* Globally Registered Type Coercions
+* Automatic Cross-Module Type Conversions
+* Efficient Function Overloading
+* C++ to Python Exception Translation
+* Default Arguments
+* Keyword Arguments
+* Manipulating Python objects in C++
+* Exporting C++ Iterators as Python Iterators
+* Documentation Strings
+
+See the [Boost.Python](http://boostorg.github.io/python) documentation for details.
+
+**Hint :** Check out the [development version](http://boostorg.github.io/python/develop) of the documentation to see work in progress.
+
+# Building ![Build Status](https://travis-ci.org/boostorg/python.svg?branch=develop)
+
+While Boost.Python is part of the Boost C++ Libraries super-project, and thus can be compiled as part of Boost, it can also be compiled and installed stand-alone, i.e. against a pre-installed Boost package.
+
+## Prerequisites
+
+* [Python](http://www.python.org)
+* [Boost](http://www.boost.org)
+* [Faber](https://stefanseefeld.github.io/faber)
+
+## Build
+
+Run
+
+```
+faber
+```
+to build the library.
+
+## Test
+
+Run
+
+```
+faber test.report
+```
+to run the tests.
+
+## Build docs
+
+Run
+
+```
+faber doc.html
+```
+to build the documentation.
diff --git a/contrib/restricted/boost/boost/python.hpp b/contrib/restricted/boost/python/include/boost/python.hpp
index e484034103..e484034103 100644
--- a/contrib/restricted/boost/boost/python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python.hpp
diff --git a/contrib/restricted/boost/boost/python/arg_from_python.hpp b/contrib/restricted/boost/python/include/boost/python/arg_from_python.hpp
index 983726b065..983726b065 100644
--- a/contrib/restricted/boost/boost/python/arg_from_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/arg_from_python.hpp
diff --git a/contrib/restricted/boost/boost/python/args.hpp b/contrib/restricted/boost/python/include/boost/python/args.hpp
index 27731bd8c9..27731bd8c9 100644
--- a/contrib/restricted/boost/boost/python/args.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/args.hpp
diff --git a/contrib/restricted/boost/boost/python/args_fwd.hpp b/contrib/restricted/boost/python/include/boost/python/args_fwd.hpp
index 39239461b0..39239461b0 100644
--- a/contrib/restricted/boost/boost/python/args_fwd.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/args_fwd.hpp
diff --git a/contrib/restricted/boost/boost/python/back_reference.hpp b/contrib/restricted/boost/python/include/boost/python/back_reference.hpp
index e68066f7d5..e68066f7d5 100644
--- a/contrib/restricted/boost/boost/python/back_reference.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/back_reference.hpp
diff --git a/contrib/restricted/boost/boost/python/base_type_traits.hpp b/contrib/restricted/boost/python/include/boost/python/base_type_traits.hpp
index e1c6a4843f..e1c6a4843f 100644
--- a/contrib/restricted/boost/boost/python/base_type_traits.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/base_type_traits.hpp
diff --git a/contrib/restricted/boost/boost/python/bases.hpp b/contrib/restricted/boost/python/include/boost/python/bases.hpp
index efcac3f389..efcac3f389 100644
--- a/contrib/restricted/boost/boost/python/bases.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/bases.hpp
diff --git a/contrib/restricted/boost/boost/python/borrowed.hpp b/contrib/restricted/boost/python/include/boost/python/borrowed.hpp
index fd2716bfbd..fd2716bfbd 100644
--- a/contrib/restricted/boost/boost/python/borrowed.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/borrowed.hpp
diff --git a/contrib/restricted/boost/boost/python/call.hpp b/contrib/restricted/boost/python/include/boost/python/call.hpp
index 5d2d7d2341..5d2d7d2341 100644
--- a/contrib/restricted/boost/boost/python/call.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/call.hpp
diff --git a/contrib/restricted/boost/boost/python/call_method.hpp b/contrib/restricted/boost/python/include/boost/python/call_method.hpp
index 410f66820e..410f66820e 100644
--- a/contrib/restricted/boost/boost/python/call_method.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/call_method.hpp
diff --git a/contrib/restricted/boost/boost/python/cast.hpp b/contrib/restricted/boost/python/include/boost/python/cast.hpp
index c04defad95..c0dd229e84 100644
--- a/contrib/restricted/boost/boost/python/cast.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/cast.hpp
@@ -5,10 +5,6 @@
#ifndef CAST_DWA200269_HPP
# define CAST_DWA200269_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
# include <boost/python/detail/type_traits.hpp>
diff --git a/contrib/restricted/boost/boost/python/class.hpp b/contrib/restricted/boost/python/include/boost/python/class.hpp
index 8a3fb5075f..77f915ba0a 100644
--- a/contrib/restricted/boost/boost/python/class.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/class.hpp
@@ -5,10 +5,6 @@
#ifndef CLASS_DWA200216_HPP
# define CLASS_DWA200216_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
# include <boost/noncopyable.hpp>
diff --git a/contrib/restricted/boost/boost/python/class_fwd.hpp b/contrib/restricted/boost/python/include/boost/python/class_fwd.hpp
index 528e18a1dc..528e18a1dc 100644
--- a/contrib/restricted/boost/boost/python/class_fwd.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/class_fwd.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/arg_from_python.hpp b/contrib/restricted/boost/python/include/boost/python/converter/arg_from_python.hpp
index 0c0daabc1f..0c0daabc1f 100644
--- a/contrib/restricted/boost/boost/python/converter/arg_from_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/arg_from_python.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/arg_to_python.hpp b/contrib/restricted/boost/python/include/boost/python/converter/arg_to_python.hpp
index bbecae72e5..bbecae72e5 100644
--- a/contrib/restricted/boost/boost/python/converter/arg_to_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/arg_to_python.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/arg_to_python_base.hpp b/contrib/restricted/boost/python/include/boost/python/converter/arg_to_python_base.hpp
index c66ce9c3e0..c66ce9c3e0 100644
--- a/contrib/restricted/boost/boost/python/converter/arg_to_python_base.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/arg_to_python_base.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/as_to_python_function.hpp b/contrib/restricted/boost/python/include/boost/python/converter/as_to_python_function.hpp
index 19a3efaafc..19a3efaafc 100644
--- a/contrib/restricted/boost/boost/python/converter/as_to_python_function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/as_to_python_function.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/builtin_converters.hpp b/contrib/restricted/boost/python/include/boost/python/converter/builtin_converters.hpp
index c2e01c03d3..c2e01c03d3 100644
--- a/contrib/restricted/boost/boost/python/converter/builtin_converters.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/builtin_converters.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/constructor_function.hpp b/contrib/restricted/boost/python/include/boost/python/converter/constructor_function.hpp
index 814aa7d763..814aa7d763 100644
--- a/contrib/restricted/boost/boost/python/converter/constructor_function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/constructor_function.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/context_result_converter.hpp b/contrib/restricted/boost/python/include/boost/python/converter/context_result_converter.hpp
index beb7e9f098..beb7e9f098 100644
--- a/contrib/restricted/boost/boost/python/converter/context_result_converter.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/context_result_converter.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/convertible_function.hpp b/contrib/restricted/boost/python/include/boost/python/converter/convertible_function.hpp
index 4b29fbb00b..4b29fbb00b 100644
--- a/contrib/restricted/boost/boost/python/converter/convertible_function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/convertible_function.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/from_python.hpp b/contrib/restricted/boost/python/include/boost/python/converter/from_python.hpp
index b2f24b3519..b2f24b3519 100644
--- a/contrib/restricted/boost/boost/python/converter/from_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/from_python.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/implicit.hpp b/contrib/restricted/boost/python/include/boost/python/converter/implicit.hpp
index 8bbbfd5ac1..8bbbfd5ac1 100644
--- a/contrib/restricted/boost/boost/python/converter/implicit.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/implicit.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/obj_mgr_arg_from_python.hpp b/contrib/restricted/boost/python/include/boost/python/converter/obj_mgr_arg_from_python.hpp
index cd4e1e0ea8..cd4e1e0ea8 100644
--- a/contrib/restricted/boost/boost/python/converter/obj_mgr_arg_from_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/obj_mgr_arg_from_python.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/object_manager.hpp b/contrib/restricted/boost/python/include/boost/python/converter/object_manager.hpp
index b2271a7ea2..b2271a7ea2 100644
--- a/contrib/restricted/boost/boost/python/converter/object_manager.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/object_manager.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/pointer_type_id.hpp b/contrib/restricted/boost/python/include/boost/python/converter/pointer_type_id.hpp
index 49eeda42cb..49eeda42cb 100644
--- a/contrib/restricted/boost/boost/python/converter/pointer_type_id.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/pointer_type_id.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/pyobject_traits.hpp b/contrib/restricted/boost/python/include/boost/python/converter/pyobject_traits.hpp
index 43e384af8d..43e384af8d 100644
--- a/contrib/restricted/boost/boost/python/converter/pyobject_traits.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/pyobject_traits.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/pyobject_type.hpp b/contrib/restricted/boost/python/include/boost/python/converter/pyobject_type.hpp
index bde39e8057..bde39e8057 100644
--- a/contrib/restricted/boost/boost/python/converter/pyobject_type.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/pyobject_type.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/pytype_function.hpp b/contrib/restricted/boost/python/include/boost/python/converter/pytype_function.hpp
index 8e0a4e7995..8e0a4e7995 100644
--- a/contrib/restricted/boost/boost/python/converter/pytype_function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/pytype_function.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/pytype_object_mgr_traits.hpp b/contrib/restricted/boost/python/include/boost/python/converter/pytype_object_mgr_traits.hpp
index 8f5b2b7677..8f5b2b7677 100644
--- a/contrib/restricted/boost/boost/python/converter/pytype_object_mgr_traits.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/pytype_object_mgr_traits.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/registered.hpp b/contrib/restricted/boost/python/include/boost/python/converter/registered.hpp
index 98013052ec..98013052ec 100644
--- a/contrib/restricted/boost/boost/python/converter/registered.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/registered.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/registered_pointee.hpp b/contrib/restricted/boost/python/include/boost/python/converter/registered_pointee.hpp
index 28b2988c7f..28b2988c7f 100644
--- a/contrib/restricted/boost/boost/python/converter/registered_pointee.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/registered_pointee.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/registrations.hpp b/contrib/restricted/boost/python/include/boost/python/converter/registrations.hpp
index 7ef74e8f40..7ef74e8f40 100644
--- a/contrib/restricted/boost/boost/python/converter/registrations.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/registrations.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/registry.hpp b/contrib/restricted/boost/python/include/boost/python/converter/registry.hpp
index 368adcc61d..368adcc61d 100644
--- a/contrib/restricted/boost/boost/python/converter/registry.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/registry.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/return_from_python.hpp b/contrib/restricted/boost/python/include/boost/python/converter/return_from_python.hpp
index a995a2905a..a995a2905a 100644
--- a/contrib/restricted/boost/boost/python/converter/return_from_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/return_from_python.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/rvalue_from_python_data.hpp b/contrib/restricted/boost/python/include/boost/python/converter/rvalue_from_python_data.hpp
index acb38f8498..acb38f8498 100644
--- a/contrib/restricted/boost/boost/python/converter/rvalue_from_python_data.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/rvalue_from_python_data.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/shared_ptr_deleter.hpp b/contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_deleter.hpp
index 926508d00e..926508d00e 100644
--- a/contrib/restricted/boost/boost/python/converter/shared_ptr_deleter.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_deleter.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/shared_ptr_from_python.hpp b/contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_from_python.hpp
index bb2ae863ff..bb2ae863ff 100644
--- a/contrib/restricted/boost/boost/python/converter/shared_ptr_from_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_from_python.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/shared_ptr_to_python.hpp b/contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_to_python.hpp
index 02649d406e..02649d406e 100644
--- a/contrib/restricted/boost/boost/python/converter/shared_ptr_to_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/shared_ptr_to_python.hpp
diff --git a/contrib/restricted/boost/boost/python/converter/to_python_function_type.hpp b/contrib/restricted/boost/python/include/boost/python/converter/to_python_function_type.hpp
index cccd014d68..cccd014d68 100644
--- a/contrib/restricted/boost/boost/python/converter/to_python_function_type.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/converter/to_python_function_type.hpp
diff --git a/contrib/restricted/boost/boost/python/copy_const_reference.hpp b/contrib/restricted/boost/python/include/boost/python/copy_const_reference.hpp
index 55bede136f..55bede136f 100644
--- a/contrib/restricted/boost/boost/python/copy_const_reference.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/copy_const_reference.hpp
diff --git a/contrib/restricted/boost/boost/python/copy_non_const_reference.hpp b/contrib/restricted/boost/python/include/boost/python/copy_non_const_reference.hpp
index 15fef62d67..15fef62d67 100644
--- a/contrib/restricted/boost/boost/python/copy_non_const_reference.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/copy_non_const_reference.hpp
diff --git a/contrib/restricted/boost/boost/python/data_members.hpp b/contrib/restricted/boost/python/include/boost/python/data_members.hpp
index 989f7d7f93..989f7d7f93 100644
--- a/contrib/restricted/boost/boost/python/data_members.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/data_members.hpp
diff --git a/contrib/restricted/boost/boost/python/def.hpp b/contrib/restricted/boost/python/include/boost/python/def.hpp
index 6ba5652869..fe2c65f938 100644
--- a/contrib/restricted/boost/boost/python/def.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/def.hpp
@@ -5,10 +5,6 @@
#ifndef DEF_DWA200292_HPP
# define DEF_DWA200292_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
# include <boost/python/object_fwd.hpp>
diff --git a/contrib/restricted/boost/boost/python/def_visitor.hpp b/contrib/restricted/boost/python/include/boost/python/def_visitor.hpp
index 9c8907cd6f..9c8907cd6f 100644
--- a/contrib/restricted/boost/boost/python/def_visitor.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/def_visitor.hpp
diff --git a/contrib/restricted/boost/boost/python/default_call_policies.hpp b/contrib/restricted/boost/python/include/boost/python/default_call_policies.hpp
index c882257348..c882257348 100644
--- a/contrib/restricted/boost/boost/python/default_call_policies.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/default_call_policies.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/borrowed_ptr.hpp b/contrib/restricted/boost/python/include/boost/python/detail/borrowed_ptr.hpp
index 7d78739ed9..7d78739ed9 100644
--- a/contrib/restricted/boost/boost/python/detail/borrowed_ptr.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/borrowed_ptr.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/caller.hpp b/contrib/restricted/boost/python/include/boost/python/detail/caller.hpp
index 1bd30bfb5a..1bd30bfb5a 100644
--- a/contrib/restricted/boost/boost/python/detail/caller.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/caller.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/config.hpp b/contrib/restricted/boost/python/include/boost/python/detail/config.hpp
index acf588311f..acf588311f 100644
--- a/contrib/restricted/boost/boost/python/detail/config.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/config.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/construct.hpp b/contrib/restricted/boost/python/include/boost/python/detail/construct.hpp
index e69fbc7538..e69fbc7538 100644
--- a/contrib/restricted/boost/boost/python/detail/construct.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/construct.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/convertible.hpp b/contrib/restricted/boost/python/include/boost/python/detail/convertible.hpp
index 1ff350ec24..1ff350ec24 100644
--- a/contrib/restricted/boost/boost/python/detail/convertible.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/convertible.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/copy_ctor_mutates_rhs.hpp b/contrib/restricted/boost/python/include/boost/python/detail/copy_ctor_mutates_rhs.hpp
index 4ca8d03911..4ca8d03911 100644
--- a/contrib/restricted/boost/boost/python/detail/copy_ctor_mutates_rhs.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/copy_ctor_mutates_rhs.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/cv_category.hpp b/contrib/restricted/boost/python/include/boost/python/detail/cv_category.hpp
index eb5a8eb9da..eb5a8eb9da 100644
--- a/contrib/restricted/boost/boost/python/detail/cv_category.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/cv_category.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/dealloc.hpp b/contrib/restricted/boost/python/include/boost/python/detail/dealloc.hpp
index ce07926ee1..ce07926ee1 100644
--- a/contrib/restricted/boost/boost/python/detail/dealloc.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/dealloc.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/decorated_type_id.hpp b/contrib/restricted/boost/python/include/boost/python/detail/decorated_type_id.hpp
index 2596f3104a..2596f3104a 100644
--- a/contrib/restricted/boost/boost/python/detail/decorated_type_id.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/decorated_type_id.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/decref_guard.hpp b/contrib/restricted/boost/python/include/boost/python/detail/decref_guard.hpp
index d713e0a604..d713e0a604 100644
--- a/contrib/restricted/boost/boost/python/detail/decref_guard.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/decref_guard.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/def_helper.hpp b/contrib/restricted/boost/python/include/boost/python/detail/def_helper.hpp
index 24f9c5cdb2..24f9c5cdb2 100644
--- a/contrib/restricted/boost/boost/python/detail/def_helper.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/def_helper.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/def_helper_fwd.hpp b/contrib/restricted/boost/python/include/boost/python/detail/def_helper_fwd.hpp
index 31c22e97a3..31c22e97a3 100644
--- a/contrib/restricted/boost/boost/python/detail/def_helper_fwd.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/def_helper_fwd.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/defaults_def.hpp b/contrib/restricted/boost/python/include/boost/python/detail/defaults_def.hpp
index 773b79937e..607775842b 100644
--- a/contrib/restricted/boost/boost/python/detail/defaults_def.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/defaults_def.hpp
@@ -11,10 +11,6 @@
#ifndef DEFAULTS_DEF_JDG20020811_HPP
#define DEFAULTS_DEF_JDG20020811_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
#include <boost/python/detail/defaults_gen.hpp>
#include <boost/python/detail/type_traits.hpp>
#include <boost/mpl/front.hpp>
@@ -93,7 +89,7 @@ namespace detail
NameSpaceT& name_space
, char const* name
, Func f
- , keyword_range const& kw // ignored
+ , keyword_range const& /* kw */ // ignored
, CallPolicies const& policies
, char const* doc
, module*
diff --git a/contrib/restricted/boost/boost/python/detail/defaults_gen.hpp b/contrib/restricted/boost/python/include/boost/python/detail/defaults_gen.hpp
index 88beeedb02..88beeedb02 100644
--- a/contrib/restricted/boost/boost/python/detail/defaults_gen.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/defaults_gen.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/dependent.hpp b/contrib/restricted/boost/python/include/boost/python/detail/dependent.hpp
index 70392c4d78..70392c4d78 100644
--- a/contrib/restricted/boost/boost/python/detail/dependent.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/dependent.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/destroy.hpp b/contrib/restricted/boost/python/include/boost/python/detail/destroy.hpp
index d35b2b536e..d35b2b536e 100644
--- a/contrib/restricted/boost/boost/python/detail/destroy.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/destroy.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/exception_handler.hpp b/contrib/restricted/boost/python/include/boost/python/detail/exception_handler.hpp
index fdc9989836..fdc9989836 100644
--- a/contrib/restricted/boost/boost/python/detail/exception_handler.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/exception_handler.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/force_instantiate.hpp b/contrib/restricted/boost/python/include/boost/python/detail/force_instantiate.hpp
index a8901b2da7..a8901b2da7 100644
--- a/contrib/restricted/boost/boost/python/detail/force_instantiate.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/force_instantiate.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/indirect_traits.hpp b/contrib/restricted/boost/python/include/boost/python/detail/indirect_traits.hpp
index ce8ba310a2..ce8ba310a2 100644
--- a/contrib/restricted/boost/boost/python/detail/indirect_traits.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/indirect_traits.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/invoke.hpp b/contrib/restricted/boost/python/include/boost/python/detail/invoke.hpp
index 4c5296ff12..4c5296ff12 100644
--- a/contrib/restricted/boost/boost/python/detail/invoke.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/invoke.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/is_auto_ptr.hpp b/contrib/restricted/boost/python/include/boost/python/detail/is_auto_ptr.hpp
index 3b8198b8dd..3b8198b8dd 100644
--- a/contrib/restricted/boost/boost/python/detail/is_auto_ptr.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/is_auto_ptr.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/is_shared_ptr.hpp b/contrib/restricted/boost/python/include/boost/python/detail/is_shared_ptr.hpp
index 383383bc12..383383bc12 100644
--- a/contrib/restricted/boost/boost/python/detail/is_shared_ptr.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/is_shared_ptr.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/is_wrapper.hpp b/contrib/restricted/boost/python/include/boost/python/detail/is_wrapper.hpp
index d7bce7b627..d7bce7b627 100644
--- a/contrib/restricted/boost/boost/python/detail/is_wrapper.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/is_wrapper.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/is_xxx.hpp b/contrib/restricted/boost/python/include/boost/python/detail/is_xxx.hpp
index 9ddfafd3c0..9ddfafd3c0 100644
--- a/contrib/restricted/boost/boost/python/detail/is_xxx.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/is_xxx.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/make_keyword_range_fn.hpp b/contrib/restricted/boost/python/include/boost/python/detail/make_keyword_range_fn.hpp
index c4795cf887..c4795cf887 100644
--- a/contrib/restricted/boost/boost/python/detail/make_keyword_range_fn.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/make_keyword_range_fn.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/map_entry.hpp b/contrib/restricted/boost/python/include/boost/python/detail/map_entry.hpp
index 8bf1759f9f..8bf1759f9f 100644
--- a/contrib/restricted/boost/boost/python/detail/map_entry.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/map_entry.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/mpl_lambda.hpp b/contrib/restricted/boost/python/include/boost/python/detail/mpl_lambda.hpp
index a20608e710..a20608e710 100644
--- a/contrib/restricted/boost/boost/python/detail/mpl_lambda.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/mpl_lambda.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/msvc_typeinfo.hpp b/contrib/restricted/boost/python/include/boost/python/detail/msvc_typeinfo.hpp
index bfc84164f0..bfc84164f0 100644
--- a/contrib/restricted/boost/boost/python/detail/msvc_typeinfo.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/msvc_typeinfo.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/none.hpp b/contrib/restricted/boost/python/include/boost/python/detail/none.hpp
index bc3337a234..bc3337a234 100644
--- a/contrib/restricted/boost/boost/python/detail/none.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/none.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/not_specified.hpp b/contrib/restricted/boost/python/include/boost/python/detail/not_specified.hpp
index 2f7c7ad997..2f7c7ad997 100644
--- a/contrib/restricted/boost/boost/python/detail/not_specified.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/not_specified.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/nullary_function_adaptor.hpp b/contrib/restricted/boost/python/include/boost/python/detail/nullary_function_adaptor.hpp
index 9dcc434f8e..9dcc434f8e 100644
--- a/contrib/restricted/boost/boost/python/detail/nullary_function_adaptor.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/nullary_function_adaptor.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/operator_id.hpp b/contrib/restricted/boost/python/include/boost/python/detail/operator_id.hpp
index ecfc70f108..ecfc70f108 100644
--- a/contrib/restricted/boost/boost/python/detail/operator_id.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/operator_id.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/overloads_fwd.hpp b/contrib/restricted/boost/python/include/boost/python/detail/overloads_fwd.hpp
index 4c7fdf292b..4c7fdf292b 100644
--- a/contrib/restricted/boost/boost/python/detail/overloads_fwd.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/overloads_fwd.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/prefix.hpp b/contrib/restricted/boost/python/include/boost/python/detail/prefix.hpp
index 8b34ed7701..8b34ed7701 100644
--- a/contrib/restricted/boost/boost/python/detail/prefix.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/prefix.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/preprocessor.hpp b/contrib/restricted/boost/python/include/boost/python/detail/preprocessor.hpp
index 2c1b2e84ea..2c1b2e84ea 100644
--- a/contrib/restricted/boost/boost/python/detail/preprocessor.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/preprocessor.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/python22_fixed.h b/contrib/restricted/boost/python/include/boost/python/detail/python22_fixed.h
index 32bf941fef..32bf941fef 100644
--- a/contrib/restricted/boost/boost/python/detail/python22_fixed.h
+++ b/contrib/restricted/boost/python/include/boost/python/detail/python22_fixed.h
diff --git a/contrib/restricted/boost/boost/python/detail/python_type.hpp b/contrib/restricted/boost/python/include/boost/python/detail/python_type.hpp
index f7630c175a..f7630c175a 100644
--- a/contrib/restricted/boost/boost/python/detail/python_type.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/python_type.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/raw_pyobject.hpp b/contrib/restricted/boost/python/include/boost/python/detail/raw_pyobject.hpp
index 194409eda4..194409eda4 100644
--- a/contrib/restricted/boost/boost/python/detail/raw_pyobject.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/raw_pyobject.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/referent_storage.hpp b/contrib/restricted/boost/python/include/boost/python/detail/referent_storage.hpp
index 2cddf696d5..2cddf696d5 100644
--- a/contrib/restricted/boost/boost/python/detail/referent_storage.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/referent_storage.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/scope.hpp b/contrib/restricted/boost/python/include/boost/python/detail/scope.hpp
index 5367bbd35c..5367bbd35c 100644
--- a/contrib/restricted/boost/boost/python/detail/scope.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/scope.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/sfinae.hpp b/contrib/restricted/boost/python/include/boost/python/detail/sfinae.hpp
index 6281875111..6281875111 100644
--- a/contrib/restricted/boost/boost/python/detail/sfinae.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/sfinae.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/signature.hpp b/contrib/restricted/boost/python/include/boost/python/detail/signature.hpp
index 11268b92cf..11268b92cf 100644
--- a/contrib/restricted/boost/boost/python/detail/signature.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/signature.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/string_literal.hpp b/contrib/restricted/boost/python/include/boost/python/detail/string_literal.hpp
index 0961ec7c4e..0961ec7c4e 100644
--- a/contrib/restricted/boost/boost/python/detail/string_literal.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/string_literal.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/target.hpp b/contrib/restricted/boost/python/include/boost/python/detail/target.hpp
index 137801bb2b..137801bb2b 100644
--- a/contrib/restricted/boost/boost/python/detail/target.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/target.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/translate_exception.hpp b/contrib/restricted/boost/python/include/boost/python/detail/translate_exception.hpp
index 877db2b2c6..877db2b2c6 100644
--- a/contrib/restricted/boost/boost/python/detail/translate_exception.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/translate_exception.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/type_list.hpp b/contrib/restricted/boost/python/include/boost/python/detail/type_list.hpp
index 0ad3f63d84..0ad3f63d84 100644
--- a/contrib/restricted/boost/boost/python/detail/type_list.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/type_list.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/type_list_impl.hpp b/contrib/restricted/boost/python/include/boost/python/detail/type_list_impl.hpp
index fdcfa85030..fdcfa85030 100644
--- a/contrib/restricted/boost/boost/python/detail/type_list_impl.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/type_list_impl.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/type_traits.hpp b/contrib/restricted/boost/python/include/boost/python/detail/type_traits.hpp
index fda54c80f2..fda54c80f2 100644
--- a/contrib/restricted/boost/boost/python/detail/type_traits.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/type_traits.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/unwind_type.hpp b/contrib/restricted/boost/python/include/boost/python/detail/unwind_type.hpp
index b81bf7c898..b81bf7c898 100644
--- a/contrib/restricted/boost/boost/python/detail/unwind_type.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/unwind_type.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/unwrap_type_id.hpp b/contrib/restricted/boost/python/include/boost/python/detail/unwrap_type_id.hpp
index 96c1f53013..96c1f53013 100644
--- a/contrib/restricted/boost/boost/python/detail/unwrap_type_id.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/unwrap_type_id.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/unwrap_wrapper.hpp b/contrib/restricted/boost/python/include/boost/python/detail/unwrap_wrapper.hpp
index 95bc233a72..95bc233a72 100644
--- a/contrib/restricted/boost/boost/python/detail/unwrap_wrapper.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/unwrap_wrapper.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/value_arg.hpp b/contrib/restricted/boost/python/include/boost/python/detail/value_arg.hpp
index 2c938dacca..2c938dacca 100644
--- a/contrib/restricted/boost/boost/python/detail/value_arg.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/value_arg.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/value_is_shared_ptr.hpp b/contrib/restricted/boost/python/include/boost/python/detail/value_is_shared_ptr.hpp
index 53e687f016..53e687f016 100644
--- a/contrib/restricted/boost/boost/python/detail/value_is_shared_ptr.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/value_is_shared_ptr.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/value_is_xxx.hpp b/contrib/restricted/boost/python/include/boost/python/detail/value_is_xxx.hpp
index e270f89ca3..e270f89ca3 100644
--- a/contrib/restricted/boost/boost/python/detail/value_is_xxx.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/value_is_xxx.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/void_ptr.hpp b/contrib/restricted/boost/python/include/boost/python/detail/void_ptr.hpp
index 5543b23a4a..5543b23a4a 100644
--- a/contrib/restricted/boost/boost/python/detail/void_ptr.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/void_ptr.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/void_return.hpp b/contrib/restricted/boost/python/include/boost/python/detail/void_return.hpp
index 30db825177..30db825177 100644
--- a/contrib/restricted/boost/boost/python/detail/void_return.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/void_return.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/wrap_python.hpp b/contrib/restricted/boost/python/include/boost/python/detail/wrap_python.hpp
index 9fdb222c68..9fdb222c68 100644
--- a/contrib/restricted/boost/boost/python/detail/wrap_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/wrap_python.hpp
diff --git a/contrib/restricted/boost/boost/python/detail/wrapper_base.hpp b/contrib/restricted/boost/python/include/boost/python/detail/wrapper_base.hpp
index 60ac99436e..60ac99436e 100644
--- a/contrib/restricted/boost/boost/python/detail/wrapper_base.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/detail/wrapper_base.hpp
diff --git a/contrib/restricted/boost/boost/python/dict.hpp b/contrib/restricted/boost/python/include/boost/python/dict.hpp
index 6fcaf14382..6fcaf14382 100644
--- a/contrib/restricted/boost/boost/python/dict.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/dict.hpp
diff --git a/contrib/restricted/boost/boost/python/docstring_options.hpp b/contrib/restricted/boost/python/include/boost/python/docstring_options.hpp
index 1914bd51a5..1914bd51a5 100644
--- a/contrib/restricted/boost/boost/python/docstring_options.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/docstring_options.hpp
diff --git a/contrib/restricted/boost/boost/python/enum.hpp b/contrib/restricted/boost/python/include/boost/python/enum.hpp
index 9631a0edc8..9631a0edc8 100644
--- a/contrib/restricted/boost/boost/python/enum.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/enum.hpp
diff --git a/contrib/restricted/boost/boost/python/errors.hpp b/contrib/restricted/boost/python/include/boost/python/errors.hpp
index 1eec6c2fe6..1eec6c2fe6 100644
--- a/contrib/restricted/boost/boost/python/errors.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/errors.hpp
diff --git a/contrib/restricted/boost/boost/python/exception_translator.hpp b/contrib/restricted/boost/python/include/boost/python/exception_translator.hpp
index 75ed0e1eec..75ed0e1eec 100644
--- a/contrib/restricted/boost/boost/python/exception_translator.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/exception_translator.hpp
diff --git a/contrib/restricted/boost/boost/python/exec.hpp b/contrib/restricted/boost/python/include/boost/python/exec.hpp
index 32a74991a7..32a74991a7 100644
--- a/contrib/restricted/boost/boost/python/exec.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/exec.hpp
diff --git a/contrib/restricted/boost/boost/python/extract.hpp b/contrib/restricted/boost/python/include/boost/python/extract.hpp
index bfdeb83ce7..bfdeb83ce7 100644
--- a/contrib/restricted/boost/boost/python/extract.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/extract.hpp
diff --git a/contrib/restricted/boost/boost/python/handle.hpp b/contrib/restricted/boost/python/include/boost/python/handle.hpp
index ee9a7cd09d..ee9a7cd09d 100644
--- a/contrib/restricted/boost/boost/python/handle.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/handle.hpp
diff --git a/contrib/restricted/boost/boost/python/handle_fwd.hpp b/contrib/restricted/boost/python/include/boost/python/handle_fwd.hpp
index 5987ec4fdb..5987ec4fdb 100644
--- a/contrib/restricted/boost/boost/python/handle_fwd.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/handle_fwd.hpp
diff --git a/contrib/restricted/boost/boost/python/has_back_reference.hpp b/contrib/restricted/boost/python/include/boost/python/has_back_reference.hpp
index 67fe24c5cf..67fe24c5cf 100644
--- a/contrib/restricted/boost/boost/python/has_back_reference.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/has_back_reference.hpp
diff --git a/contrib/restricted/boost/boost/python/implicit.hpp b/contrib/restricted/boost/python/include/boost/python/implicit.hpp
index 4d01b2fb22..4d01b2fb22 100644
--- a/contrib/restricted/boost/boost/python/implicit.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/implicit.hpp
diff --git a/contrib/restricted/boost/boost/python/import.hpp b/contrib/restricted/boost/python/include/boost/python/import.hpp
index 45c02a9366..45c02a9366 100644
--- a/contrib/restricted/boost/boost/python/import.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/import.hpp
diff --git a/contrib/restricted/boost/boost/python/init.hpp b/contrib/restricted/boost/python/include/boost/python/init.hpp
index f96b56e1d4..0ee763cc26 100644
--- a/contrib/restricted/boost/boost/python/init.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/init.hpp
@@ -9,10 +9,6 @@
#ifndef INIT_JDG20020820_HPP
#define INIT_JDG20020820_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
#include <boost/python/detail/type_list.hpp>
diff --git a/contrib/restricted/boost/boost/python/instance_holder.hpp b/contrib/restricted/boost/python/include/boost/python/instance_holder.hpp
index 2ffb4bf956..2ffb4bf956 100644
--- a/contrib/restricted/boost/boost/python/instance_holder.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/instance_holder.hpp
diff --git a/contrib/restricted/boost/boost/python/iterator.hpp b/contrib/restricted/boost/python/include/boost/python/iterator.hpp
index 7c06ca2320..7c06ca2320 100644
--- a/contrib/restricted/boost/boost/python/iterator.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/iterator.hpp
diff --git a/contrib/restricted/boost/boost/python/list.hpp b/contrib/restricted/boost/python/include/boost/python/list.hpp
index 10fd40fda5..10fd40fda5 100644
--- a/contrib/restricted/boost/boost/python/list.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/list.hpp
diff --git a/contrib/restricted/boost/boost/python/long.hpp b/contrib/restricted/boost/python/include/boost/python/long.hpp
index 129c61f9e4..129c61f9e4 100644
--- a/contrib/restricted/boost/boost/python/long.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/long.hpp
diff --git a/contrib/restricted/boost/boost/python/lvalue_from_pytype.hpp b/contrib/restricted/boost/python/include/boost/python/lvalue_from_pytype.hpp
index 59d31b89cf..59d31b89cf 100644
--- a/contrib/restricted/boost/boost/python/lvalue_from_pytype.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/lvalue_from_pytype.hpp
diff --git a/contrib/restricted/boost/boost/python/make_constructor.hpp b/contrib/restricted/boost/python/include/boost/python/make_constructor.hpp
index 090da45bf4..3ec9ad5f86 100644
--- a/contrib/restricted/boost/boost/python/make_constructor.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/make_constructor.hpp
@@ -5,10 +5,6 @@
#ifndef MAKE_CONSTRUCTOR_DWA20011221_HPP
# define MAKE_CONSTRUCTOR_DWA20011221_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
# include <boost/python/default_call_policies.hpp>
diff --git a/contrib/restricted/boost/boost/python/make_function.hpp b/contrib/restricted/boost/python/include/boost/python/make_function.hpp
index 7dd7c316b3..7dd7c316b3 100644
--- a/contrib/restricted/boost/boost/python/make_function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/make_function.hpp
diff --git a/contrib/restricted/boost/boost/python/manage_new_object.hpp b/contrib/restricted/boost/python/include/boost/python/manage_new_object.hpp
index 9ff341c1ac..9ff341c1ac 100644
--- a/contrib/restricted/boost/boost/python/manage_new_object.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/manage_new_object.hpp
diff --git a/contrib/restricted/boost/boost/python/module.hpp b/contrib/restricted/boost/python/include/boost/python/module.hpp
index 8ad69f5a34..8ad69f5a34 100644
--- a/contrib/restricted/boost/boost/python/module.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/module.hpp
diff --git a/contrib/restricted/boost/boost/python/module_init.hpp b/contrib/restricted/boost/python/include/boost/python/module_init.hpp
index 7fe5a1c8a2..7fe5a1c8a2 100644
--- a/contrib/restricted/boost/boost/python/module_init.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/module_init.hpp
diff --git a/contrib/restricted/boost/boost/python/object.hpp b/contrib/restricted/boost/python/include/boost/python/object.hpp
index 9adec90f64..9adec90f64 100644
--- a/contrib/restricted/boost/boost/python/object.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object.hpp
diff --git a/contrib/restricted/boost/boost/python/object/add_to_namespace.hpp b/contrib/restricted/boost/python/include/boost/python/object/add_to_namespace.hpp
index 9f4167d6d2..9f4167d6d2 100644
--- a/contrib/restricted/boost/boost/python/object/add_to_namespace.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/add_to_namespace.hpp
diff --git a/contrib/restricted/boost/boost/python/object/class.hpp b/contrib/restricted/boost/python/include/boost/python/object/class.hpp
index f57ceda7bd..f57ceda7bd 100644
--- a/contrib/restricted/boost/boost/python/object/class.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/class.hpp
diff --git a/contrib/restricted/boost/boost/python/object/class_detail.hpp b/contrib/restricted/boost/python/include/boost/python/object/class_detail.hpp
index a17a4f4330..a17a4f4330 100644
--- a/contrib/restricted/boost/boost/python/object/class_detail.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/class_detail.hpp
diff --git a/contrib/restricted/boost/boost/python/object/class_metadata.hpp b/contrib/restricted/boost/python/include/boost/python/object/class_metadata.hpp
index 06d3f8efa7..06d3f8efa7 100644
--- a/contrib/restricted/boost/boost/python/object/class_metadata.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/class_metadata.hpp
diff --git a/contrib/restricted/boost/boost/python/object/class_wrapper.hpp b/contrib/restricted/boost/python/include/boost/python/object/class_wrapper.hpp
index ffee7457ab..ffee7457ab 100644
--- a/contrib/restricted/boost/boost/python/object/class_wrapper.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/class_wrapper.hpp
diff --git a/contrib/restricted/boost/boost/python/object/enum_base.hpp b/contrib/restricted/boost/python/include/boost/python/object/enum_base.hpp
index be34274226..be34274226 100644
--- a/contrib/restricted/boost/boost/python/object/enum_base.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/enum_base.hpp
diff --git a/contrib/restricted/boost/boost/python/object/find_instance.hpp b/contrib/restricted/boost/python/include/boost/python/object/find_instance.hpp
index 3202c1cd15..3202c1cd15 100644
--- a/contrib/restricted/boost/boost/python/object/find_instance.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/find_instance.hpp
diff --git a/contrib/restricted/boost/boost/python/object/forward.hpp b/contrib/restricted/boost/python/include/boost/python/object/forward.hpp
index c6515bb55b..c6515bb55b 100644
--- a/contrib/restricted/boost/boost/python/object/forward.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/forward.hpp
diff --git a/contrib/restricted/boost/boost/python/object/function.hpp b/contrib/restricted/boost/python/include/boost/python/object/function.hpp
index f29d344820..f29d344820 100644
--- a/contrib/restricted/boost/boost/python/object/function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/function.hpp
diff --git a/contrib/restricted/boost/boost/python/object/function_doc_signature.hpp b/contrib/restricted/boost/python/include/boost/python/object/function_doc_signature.hpp
index 4f00cb385a..4f00cb385a 100644
--- a/contrib/restricted/boost/boost/python/object/function_doc_signature.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/function_doc_signature.hpp
diff --git a/contrib/restricted/boost/boost/python/object/function_handle.hpp b/contrib/restricted/boost/python/include/boost/python/object/function_handle.hpp
index 7edaf2ce3a..7edaf2ce3a 100644
--- a/contrib/restricted/boost/boost/python/object/function_handle.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/function_handle.hpp
diff --git a/contrib/restricted/boost/boost/python/object/function_object.hpp b/contrib/restricted/boost/python/include/boost/python/object/function_object.hpp
index eaa079fbe0..eaa079fbe0 100644
--- a/contrib/restricted/boost/boost/python/object/function_object.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/function_object.hpp
diff --git a/contrib/restricted/boost/boost/python/object/inheritance.hpp b/contrib/restricted/boost/python/include/boost/python/object/inheritance.hpp
index 90e56f0c1d..90e56f0c1d 100644
--- a/contrib/restricted/boost/boost/python/object/inheritance.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/inheritance.hpp
diff --git a/contrib/restricted/boost/boost/python/object/inheritance_query.hpp b/contrib/restricted/boost/python/include/boost/python/object/inheritance_query.hpp
index 916e161f29..916e161f29 100644
--- a/contrib/restricted/boost/boost/python/object/inheritance_query.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/inheritance_query.hpp
diff --git a/contrib/restricted/boost/boost/python/object/instance.hpp b/contrib/restricted/boost/python/include/boost/python/object/instance.hpp
index 27b91a1e5f..27b91a1e5f 100644
--- a/contrib/restricted/boost/boost/python/object/instance.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/instance.hpp
diff --git a/contrib/restricted/boost/boost/python/object/iterator.hpp b/contrib/restricted/boost/python/include/boost/python/object/iterator.hpp
index e2f65721fb..e2f65721fb 100644
--- a/contrib/restricted/boost/boost/python/object/iterator.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/iterator.hpp
diff --git a/contrib/restricted/boost/boost/python/object/iterator_core.hpp b/contrib/restricted/boost/python/include/boost/python/object/iterator_core.hpp
index 064accc5a8..064accc5a8 100644
--- a/contrib/restricted/boost/boost/python/object/iterator_core.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/iterator_core.hpp
diff --git a/contrib/restricted/boost/boost/python/object/life_support.hpp b/contrib/restricted/boost/python/include/boost/python/object/life_support.hpp
index 9a1b16b689..9a1b16b689 100644
--- a/contrib/restricted/boost/boost/python/object/life_support.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/life_support.hpp
diff --git a/contrib/restricted/boost/boost/python/object/make_holder.hpp b/contrib/restricted/boost/python/include/boost/python/object/make_holder.hpp
index 0d54dd9f66..0d54dd9f66 100644
--- a/contrib/restricted/boost/boost/python/object/make_holder.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/make_holder.hpp
diff --git a/contrib/restricted/boost/boost/python/object/make_instance.hpp b/contrib/restricted/boost/python/include/boost/python/object/make_instance.hpp
index 31ec08f7c3..31ec08f7c3 100644
--- a/contrib/restricted/boost/boost/python/object/make_instance.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/make_instance.hpp
diff --git a/contrib/restricted/boost/boost/python/object/make_ptr_instance.hpp b/contrib/restricted/boost/python/include/boost/python/object/make_ptr_instance.hpp
index 92412b31fe..92412b31fe 100644
--- a/contrib/restricted/boost/boost/python/object/make_ptr_instance.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/make_ptr_instance.hpp
diff --git a/contrib/restricted/boost/boost/python/object/pickle_support.hpp b/contrib/restricted/boost/python/include/boost/python/object/pickle_support.hpp
index 5b5d8724c5..aa96d655ee 100644
--- a/contrib/restricted/boost/boost/python/object/pickle_support.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/pickle_support.hpp
@@ -5,10 +5,6 @@
#ifndef BOOST_PYTHON_OBJECT_PICKLE_SUPPORT_RWGK20020603_HPP
# define BOOST_PYTHON_OBJECT_PICKLE_SUPPORT_RWGK20020603_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
namespace boost { namespace python {
diff --git a/contrib/restricted/boost/boost/python/object/pointer_holder.hpp b/contrib/restricted/boost/python/include/boost/python/object/pointer_holder.hpp
index c3b57e833a..c3b57e833a 100644
--- a/contrib/restricted/boost/boost/python/object/pointer_holder.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/pointer_holder.hpp
diff --git a/contrib/restricted/boost/boost/python/object/py_function.hpp b/contrib/restricted/boost/python/include/boost/python/object/py_function.hpp
index df2fb44a4f..df2fb44a4f 100644
--- a/contrib/restricted/boost/boost/python/object/py_function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/py_function.hpp
diff --git a/contrib/restricted/boost/boost/python/object/stl_iterator_core.hpp b/contrib/restricted/boost/python/include/boost/python/object/stl_iterator_core.hpp
index 68e0c2441b..68e0c2441b 100644
--- a/contrib/restricted/boost/boost/python/object/stl_iterator_core.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/stl_iterator_core.hpp
diff --git a/contrib/restricted/boost/boost/python/object/value_holder.hpp b/contrib/restricted/boost/python/include/boost/python/object/value_holder.hpp
index a4e91786d1..a4e91786d1 100644
--- a/contrib/restricted/boost/boost/python/object/value_holder.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/value_holder.hpp
diff --git a/contrib/restricted/boost/boost/python/object/value_holder_fwd.hpp b/contrib/restricted/boost/python/include/boost/python/object/value_holder_fwd.hpp
index 3454bac426..3454bac426 100644
--- a/contrib/restricted/boost/boost/python/object/value_holder_fwd.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object/value_holder_fwd.hpp
diff --git a/contrib/restricted/boost/boost/python/object_attributes.hpp b/contrib/restricted/boost/python/include/boost/python/object_attributes.hpp
index 26d599113f..26d599113f 100644
--- a/contrib/restricted/boost/boost/python/object_attributes.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_attributes.hpp
diff --git a/contrib/restricted/boost/boost/python/object_core.hpp b/contrib/restricted/boost/python/include/boost/python/object_core.hpp
index 16480d0d89..16480d0d89 100644
--- a/contrib/restricted/boost/boost/python/object_core.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_core.hpp
diff --git a/contrib/restricted/boost/boost/python/object_fwd.hpp b/contrib/restricted/boost/python/include/boost/python/object_fwd.hpp
index 11efcc7075..11efcc7075 100644
--- a/contrib/restricted/boost/boost/python/object_fwd.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_fwd.hpp
diff --git a/contrib/restricted/boost/boost/python/object_items.hpp b/contrib/restricted/boost/python/include/boost/python/object_items.hpp
index b048689a7c..b048689a7c 100644
--- a/contrib/restricted/boost/boost/python/object_items.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_items.hpp
diff --git a/contrib/restricted/boost/boost/python/object_operators.hpp b/contrib/restricted/boost/python/include/boost/python/object_operators.hpp
index d436bb0144..d436bb0144 100644
--- a/contrib/restricted/boost/boost/python/object_operators.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_operators.hpp
diff --git a/contrib/restricted/boost/boost/python/object_protocol.hpp b/contrib/restricted/boost/python/include/boost/python/object_protocol.hpp
index 7c1c02830e..7c1c02830e 100644
--- a/contrib/restricted/boost/boost/python/object_protocol.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_protocol.hpp
diff --git a/contrib/restricted/boost/boost/python/object_protocol_core.hpp b/contrib/restricted/boost/python/include/boost/python/object_protocol_core.hpp
index a5bd9afcb4..a5bd9afcb4 100644
--- a/contrib/restricted/boost/boost/python/object_protocol_core.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_protocol_core.hpp
diff --git a/contrib/restricted/boost/boost/python/object_slices.hpp b/contrib/restricted/boost/python/include/boost/python/object_slices.hpp
index 6cd3dc2974..6cd3dc2974 100644
--- a/contrib/restricted/boost/boost/python/object_slices.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/object_slices.hpp
diff --git a/contrib/restricted/boost/boost/python/opaque_pointer_converter.hpp b/contrib/restricted/boost/python/include/boost/python/opaque_pointer_converter.hpp
index c049a3c646..701b13dc30 100644
--- a/contrib/restricted/boost/boost/python/opaque_pointer_converter.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/opaque_pointer_converter.hpp
@@ -8,10 +8,6 @@
# ifndef OPAQUE_POINTER_CONVERTER_HPP_
# define OPAQUE_POINTER_CONVERTER_HPP_
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
# include <boost/python/lvalue_from_pytype.hpp>
# include <boost/python/to_python_converter.hpp>
@@ -119,6 +115,9 @@ private:
template <class Pointee>
opaque<Pointee> opaque<Pointee>::instance;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
+
template <class Pointee>
PyTypeObject opaque<Pointee>::type_object =
{
@@ -171,6 +170,9 @@ PyTypeObject opaque<Pointee>::type_object =
0 /* tp_del */
#endif
};
+
+#pragma GCC diagnostic pop
+
}} // namespace boost::python
// If you change the below, don't forget to alter the end of type_id.hpp
diff --git a/contrib/restricted/boost/boost/python/operators.hpp b/contrib/restricted/boost/python/include/boost/python/operators.hpp
index ea2be7b98f..ea2be7b98f 100644
--- a/contrib/restricted/boost/boost/python/operators.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/operators.hpp
diff --git a/contrib/restricted/boost/boost/python/other.hpp b/contrib/restricted/boost/python/include/boost/python/other.hpp
index 24a24ad8d1..24a24ad8d1 100644
--- a/contrib/restricted/boost/boost/python/other.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/other.hpp
diff --git a/contrib/restricted/boost/boost/python/overloads.hpp b/contrib/restricted/boost/python/include/boost/python/overloads.hpp
index e60dc1798e..e60dc1798e 100644
--- a/contrib/restricted/boost/boost/python/overloads.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/overloads.hpp
diff --git a/contrib/restricted/boost/boost/python/override.hpp b/contrib/restricted/boost/python/include/boost/python/override.hpp
index 39714257f9..39714257f9 100644
--- a/contrib/restricted/boost/boost/python/override.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/override.hpp
diff --git a/contrib/restricted/boost/boost/python/pointee.hpp b/contrib/restricted/boost/python/include/boost/python/pointee.hpp
index 7ec01e0824..7ec01e0824 100644
--- a/contrib/restricted/boost/boost/python/pointee.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/pointee.hpp
diff --git a/contrib/restricted/boost/boost/python/proxy.hpp b/contrib/restricted/boost/python/include/boost/python/proxy.hpp
index d3331d5676..d3331d5676 100644
--- a/contrib/restricted/boost/boost/python/proxy.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/proxy.hpp
diff --git a/contrib/restricted/boost/boost/python/ptr.hpp b/contrib/restricted/boost/python/include/boost/python/ptr.hpp
index 287daba458..287daba458 100644
--- a/contrib/restricted/boost/boost/python/ptr.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/ptr.hpp
diff --git a/contrib/restricted/boost/boost/python/pure_virtual.hpp b/contrib/restricted/boost/python/include/boost/python/pure_virtual.hpp
index 58e9aedef1..58e9aedef1 100644
--- a/contrib/restricted/boost/boost/python/pure_virtual.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/pure_virtual.hpp
diff --git a/contrib/restricted/boost/boost/python/raw_function.hpp b/contrib/restricted/boost/python/include/boost/python/raw_function.hpp
index 9d9f6b8b1b..9d9f6b8b1b 100644
--- a/contrib/restricted/boost/boost/python/raw_function.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/raw_function.hpp
diff --git a/contrib/restricted/boost/boost/python/refcount.hpp b/contrib/restricted/boost/python/include/boost/python/refcount.hpp
index aa6aa5dbb6..aa6aa5dbb6 100644
--- a/contrib/restricted/boost/boost/python/refcount.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/refcount.hpp
diff --git a/contrib/restricted/boost/boost/python/reference_existing_object.hpp b/contrib/restricted/boost/python/include/boost/python/reference_existing_object.hpp
index 4c8344070b..4c8344070b 100644
--- a/contrib/restricted/boost/boost/python/reference_existing_object.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/reference_existing_object.hpp
diff --git a/contrib/restricted/boost/boost/python/register_ptr_to_python.hpp b/contrib/restricted/boost/python/include/boost/python/register_ptr_to_python.hpp
index d39bd0cf71..d39bd0cf71 100644
--- a/contrib/restricted/boost/boost/python/register_ptr_to_python.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/register_ptr_to_python.hpp
diff --git a/contrib/restricted/boost/boost/python/return_arg.hpp b/contrib/restricted/boost/python/include/boost/python/return_arg.hpp
index de23993987..de23993987 100644
--- a/contrib/restricted/boost/boost/python/return_arg.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/return_arg.hpp
diff --git a/contrib/restricted/boost/boost/python/return_by_value.hpp b/contrib/restricted/boost/python/include/boost/python/return_by_value.hpp
index 42d7076d17..42d7076d17 100644
--- a/contrib/restricted/boost/boost/python/return_by_value.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/return_by_value.hpp
diff --git a/contrib/restricted/boost/boost/python/return_internal_reference.hpp b/contrib/restricted/boost/python/include/boost/python/return_internal_reference.hpp
index cc60f4422a..cc60f4422a 100644
--- a/contrib/restricted/boost/boost/python/return_internal_reference.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/return_internal_reference.hpp
diff --git a/contrib/restricted/boost/boost/python/return_opaque_pointer.hpp b/contrib/restricted/boost/python/include/boost/python/return_opaque_pointer.hpp
index 4654e3bd51..4654e3bd51 100644
--- a/contrib/restricted/boost/boost/python/return_opaque_pointer.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/return_opaque_pointer.hpp
diff --git a/contrib/restricted/boost/boost/python/return_value_policy.hpp b/contrib/restricted/boost/python/include/boost/python/return_value_policy.hpp
index 9a5fba380b..9a5fba380b 100644
--- a/contrib/restricted/boost/boost/python/return_value_policy.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/return_value_policy.hpp
diff --git a/contrib/restricted/boost/boost/python/scope.hpp b/contrib/restricted/boost/python/include/boost/python/scope.hpp
index 8be3e054e0..8be3e054e0 100644
--- a/contrib/restricted/boost/boost/python/scope.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/scope.hpp
diff --git a/contrib/restricted/boost/boost/python/self.hpp b/contrib/restricted/boost/python/include/boost/python/self.hpp
index 99ec5b8fbe..99ec5b8fbe 100644
--- a/contrib/restricted/boost/boost/python/self.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/self.hpp
diff --git a/contrib/restricted/boost/boost/python/signature.hpp b/contrib/restricted/boost/python/include/boost/python/signature.hpp
index ab4bca390a..ab4bca390a 100644
--- a/contrib/restricted/boost/boost/python/signature.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/signature.hpp
diff --git a/contrib/restricted/boost/boost/python/slice.hpp b/contrib/restricted/boost/python/include/boost/python/slice.hpp
index 80660fab77..80660fab77 100644
--- a/contrib/restricted/boost/boost/python/slice.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/slice.hpp
diff --git a/contrib/restricted/boost/boost/python/slice_nil.hpp b/contrib/restricted/boost/python/include/boost/python/slice_nil.hpp
index e911f06801..e911f06801 100644
--- a/contrib/restricted/boost/boost/python/slice_nil.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/slice_nil.hpp
diff --git a/contrib/restricted/boost/boost/python/ssize_t.hpp b/contrib/restricted/boost/python/include/boost/python/ssize_t.hpp
index e8a2d92f63..e8a2d92f63 100644
--- a/contrib/restricted/boost/boost/python/ssize_t.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/ssize_t.hpp
diff --git a/contrib/restricted/boost/boost/python/stl_iterator.hpp b/contrib/restricted/boost/python/include/boost/python/stl_iterator.hpp
index 838954879a..838954879a 100644
--- a/contrib/restricted/boost/boost/python/stl_iterator.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/stl_iterator.hpp
diff --git a/contrib/restricted/boost/boost/python/str.hpp b/contrib/restricted/boost/python/include/boost/python/str.hpp
index 4f255aa78a..434c8c986c 100644
--- a/contrib/restricted/boost/boost/python/str.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/str.hpp
@@ -5,10 +5,6 @@
#ifndef STR_20020703_HPP
#define STR_20020703_HPP
-#if defined(__GNUC__)
- #pragma GCC system_header
-#endif
-
# include <boost/python/detail/prefix.hpp>
#include <boost/python/object.hpp>
diff --git a/contrib/restricted/boost/boost/python/tag.hpp b/contrib/restricted/boost/python/include/boost/python/tag.hpp
index ccff9f1a17..ccff9f1a17 100644
--- a/contrib/restricted/boost/boost/python/tag.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/tag.hpp
diff --git a/contrib/restricted/boost/boost/python/to_python_converter.hpp b/contrib/restricted/boost/python/include/boost/python/to_python_converter.hpp
index 4391b6dce9..4391b6dce9 100644
--- a/contrib/restricted/boost/boost/python/to_python_converter.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/to_python_converter.hpp
diff --git a/contrib/restricted/boost/boost/python/to_python_indirect.hpp b/contrib/restricted/boost/python/include/boost/python/to_python_indirect.hpp
index 0a19aca5ff..0a19aca5ff 100644
--- a/contrib/restricted/boost/boost/python/to_python_indirect.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/to_python_indirect.hpp
diff --git a/contrib/restricted/boost/boost/python/to_python_value.hpp b/contrib/restricted/boost/python/include/boost/python/to_python_value.hpp
index b6ec0135ba..b6ec0135ba 100644
--- a/contrib/restricted/boost/boost/python/to_python_value.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/to_python_value.hpp
diff --git a/contrib/restricted/boost/boost/python/tuple.hpp b/contrib/restricted/boost/python/include/boost/python/tuple.hpp
index babfb63f1e..babfb63f1e 100644
--- a/contrib/restricted/boost/boost/python/tuple.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/tuple.hpp
diff --git a/contrib/restricted/boost/boost/python/type_id.hpp b/contrib/restricted/boost/python/include/boost/python/type_id.hpp
index 601601c311..601601c311 100644
--- a/contrib/restricted/boost/boost/python/type_id.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/type_id.hpp
diff --git a/contrib/restricted/boost/boost/python/with_custodian_and_ward.hpp b/contrib/restricted/boost/python/include/boost/python/with_custodian_and_ward.hpp
index 3431c6f22c..3431c6f22c 100644
--- a/contrib/restricted/boost/boost/python/with_custodian_and_ward.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/with_custodian_and_ward.hpp
diff --git a/contrib/restricted/boost/boost/python/wrapper.hpp b/contrib/restricted/boost/python/include/boost/python/wrapper.hpp
index 166c8e2327..166c8e2327 100644
--- a/contrib/restricted/boost/boost/python/wrapper.hpp
+++ b/contrib/restricted/boost/python/include/boost/python/wrapper.hpp
diff --git a/contrib/restricted/boost/libs/python/src/converter/arg_to_python_base.cpp b/contrib/restricted/boost/python/src/converter/arg_to_python_base.cpp
index d872314a74..d872314a74 100644
--- a/contrib/restricted/boost/libs/python/src/converter/arg_to_python_base.cpp
+++ b/contrib/restricted/boost/python/src/converter/arg_to_python_base.cpp
diff --git a/contrib/restricted/boost/libs/python/src/converter/builtin_converters.cpp b/contrib/restricted/boost/python/src/converter/builtin_converters.cpp
index ee2d5b4794..ee2d5b4794 100644
--- a/contrib/restricted/boost/libs/python/src/converter/builtin_converters.cpp
+++ b/contrib/restricted/boost/python/src/converter/builtin_converters.cpp
diff --git a/contrib/restricted/boost/libs/python/src/converter/from_python.cpp b/contrib/restricted/boost/python/src/converter/from_python.cpp
index 9678be1cb6..9678be1cb6 100644
--- a/contrib/restricted/boost/libs/python/src/converter/from_python.cpp
+++ b/contrib/restricted/boost/python/src/converter/from_python.cpp
diff --git a/contrib/restricted/boost/libs/python/src/converter/registry.cpp b/contrib/restricted/boost/python/src/converter/registry.cpp
index aa20c3f685..aa20c3f685 100644
--- a/contrib/restricted/boost/libs/python/src/converter/registry.cpp
+++ b/contrib/restricted/boost/python/src/converter/registry.cpp
diff --git a/contrib/restricted/boost/libs/python/src/converter/type_id.cpp b/contrib/restricted/boost/python/src/converter/type_id.cpp
index c6a8bf7a04..c6a8bf7a04 100644
--- a/contrib/restricted/boost/libs/python/src/converter/type_id.cpp
+++ b/contrib/restricted/boost/python/src/converter/type_id.cpp
diff --git a/contrib/restricted/boost/libs/python/src/dict.cpp b/contrib/restricted/boost/python/src/dict.cpp
index 77d840d455..77d840d455 100644
--- a/contrib/restricted/boost/libs/python/src/dict.cpp
+++ b/contrib/restricted/boost/python/src/dict.cpp
diff --git a/contrib/restricted/boost/libs/python/src/errors.cpp b/contrib/restricted/boost/python/src/errors.cpp
index 34ea22f43e..34ea22f43e 100644
--- a/contrib/restricted/boost/libs/python/src/errors.cpp
+++ b/contrib/restricted/boost/python/src/errors.cpp
diff --git a/contrib/restricted/boost/libs/python/src/exec.cpp b/contrib/restricted/boost/python/src/exec.cpp
index 43e860d992..5193b04745 100644
--- a/contrib/restricted/boost/libs/python/src/exec.cpp
+++ b/contrib/restricted/boost/python/src/exec.cpp
@@ -104,14 +104,22 @@ object BOOST_PYTHON_DECL exec_file(char const *filename, object global, object l
if (local.is_none()) local = global;
// should be 'char const *' but older python versions don't use 'const' yet.
char *f = const_cast<char *>(filename);
- // Let python open the file to avoid potential binary incompatibilities.
-#if PY_VERSION_HEX >= 0x03040000
- FILE *fs = fopen(f, "r");
+#if PY_VERSION_HEX >= 0x03010000
+ // Let python manage any UTF bits to avoid potential incompatibilities.
+ PyObject *fo = Py_BuildValue("s", f);
+ PyObject *fb = Py_None;
+ PyUnicode_FSConverter(fo, &fb);
+ char *f_as_uft = PyBytes_AsString(fb);
+ FILE *fs = fopen(f_as_uft, "r");
+ Py_DECREF(fo);
+ Py_DECREF(fb);
#elif PY_VERSION_HEX >= 0x03000000
+ // Let python open the file to avoid potential binary incompatibilities.
PyObject *fo = Py_BuildValue("s", f);
- FILE *fs = _Py_fopen(fo, "r");
+ FILE *fs = _Py_fopen(fo, "r"); // Private CPython API
Py_DECREF(fo);
#else
+ // Let python open the file to avoid potential binary incompatibilities.
PyObject *pyfile = PyFile_FromString(f, const_cast<char*>("r"));
if (!pyfile) throw std::invalid_argument(std::string(f) + " : no such file");
python::handle<> file(pyfile);
diff --git a/contrib/restricted/boost/libs/python/src/import.cpp b/contrib/restricted/boost/python/src/import.cpp
index 0add79eea2..0add79eea2 100644
--- a/contrib/restricted/boost/libs/python/src/import.cpp
+++ b/contrib/restricted/boost/python/src/import.cpp
diff --git a/contrib/restricted/boost/libs/python/src/list.cpp b/contrib/restricted/boost/python/src/list.cpp
index 77e616881a..77e616881a 100644
--- a/contrib/restricted/boost/libs/python/src/list.cpp
+++ b/contrib/restricted/boost/python/src/list.cpp
diff --git a/contrib/restricted/boost/libs/python/src/long.cpp b/contrib/restricted/boost/python/src/long.cpp
index 1ec8ebc011..1ec8ebc011 100644
--- a/contrib/restricted/boost/libs/python/src/long.cpp
+++ b/contrib/restricted/boost/python/src/long.cpp
diff --git a/contrib/restricted/boost/libs/python/src/module.cpp b/contrib/restricted/boost/python/src/module.cpp
index 9628481996..9628481996 100644
--- a/contrib/restricted/boost/libs/python/src/module.cpp
+++ b/contrib/restricted/boost/python/src/module.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/class.cpp b/contrib/restricted/boost/python/src/object/class.cpp
index 8d0daf63d7..8d0daf63d7 100644
--- a/contrib/restricted/boost/libs/python/src/object/class.cpp
+++ b/contrib/restricted/boost/python/src/object/class.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/enum.cpp b/contrib/restricted/boost/python/src/object/enum.cpp
index 10122ad1da..10122ad1da 100644
--- a/contrib/restricted/boost/libs/python/src/object/enum.cpp
+++ b/contrib/restricted/boost/python/src/object/enum.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/function.cpp b/contrib/restricted/boost/python/src/object/function.cpp
index e15eb3ffc0..e15eb3ffc0 100644
--- a/contrib/restricted/boost/libs/python/src/object/function.cpp
+++ b/contrib/restricted/boost/python/src/object/function.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/function_doc_signature.cpp b/contrib/restricted/boost/python/src/object/function_doc_signature.cpp
index 41695285ac..41695285ac 100644
--- a/contrib/restricted/boost/libs/python/src/object/function_doc_signature.cpp
+++ b/contrib/restricted/boost/python/src/object/function_doc_signature.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/inheritance.cpp b/contrib/restricted/boost/python/src/object/inheritance.cpp
index 7dc9db1cd7..7dc9db1cd7 100644
--- a/contrib/restricted/boost/libs/python/src/object/inheritance.cpp
+++ b/contrib/restricted/boost/python/src/object/inheritance.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/iterator.cpp b/contrib/restricted/boost/python/src/object/iterator.cpp
index 3f6c4adacd..3f6c4adacd 100644
--- a/contrib/restricted/boost/libs/python/src/object/iterator.cpp
+++ b/contrib/restricted/boost/python/src/object/iterator.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/life_support.cpp b/contrib/restricted/boost/python/src/object/life_support.cpp
index b7e9aa861e..b7e9aa861e 100644
--- a/contrib/restricted/boost/libs/python/src/object/life_support.cpp
+++ b/contrib/restricted/boost/python/src/object/life_support.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/pickle_support.cpp b/contrib/restricted/boost/python/src/object/pickle_support.cpp
index 428c07b6ca..428c07b6ca 100644
--- a/contrib/restricted/boost/libs/python/src/object/pickle_support.cpp
+++ b/contrib/restricted/boost/python/src/object/pickle_support.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object/stl_iterator.cpp b/contrib/restricted/boost/python/src/object/stl_iterator.cpp
index e32d321452..e32d321452 100644
--- a/contrib/restricted/boost/libs/python/src/object/stl_iterator.cpp
+++ b/contrib/restricted/boost/python/src/object/stl_iterator.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object_operators.cpp b/contrib/restricted/boost/python/src/object_operators.cpp
index b993245fe9..b993245fe9 100644
--- a/contrib/restricted/boost/libs/python/src/object_operators.cpp
+++ b/contrib/restricted/boost/python/src/object_operators.cpp
diff --git a/contrib/restricted/boost/libs/python/src/object_protocol.cpp b/contrib/restricted/boost/python/src/object_protocol.cpp
index 95c8c73ee6..95c8c73ee6 100644
--- a/contrib/restricted/boost/libs/python/src/object_protocol.cpp
+++ b/contrib/restricted/boost/python/src/object_protocol.cpp
diff --git a/contrib/restricted/boost/libs/python/src/slice.cpp b/contrib/restricted/boost/python/src/slice.cpp
index ee55f94846..ee55f94846 100644
--- a/contrib/restricted/boost/libs/python/src/slice.cpp
+++ b/contrib/restricted/boost/python/src/slice.cpp
diff --git a/contrib/restricted/boost/libs/python/src/str.cpp b/contrib/restricted/boost/python/src/str.cpp
index 5122f7f57f..5122f7f57f 100644
--- a/contrib/restricted/boost/libs/python/src/str.cpp
+++ b/contrib/restricted/boost/python/src/str.cpp
diff --git a/contrib/restricted/boost/libs/python/src/tuple.cpp b/contrib/restricted/boost/python/src/tuple.cpp
index 6719713b73..6719713b73 100644
--- a/contrib/restricted/boost/libs/python/src/tuple.cpp
+++ b/contrib/restricted/boost/python/src/tuple.cpp
diff --git a/contrib/restricted/boost/libs/python/src/wrapper.cpp b/contrib/restricted/boost/python/src/wrapper.cpp
index f8feaef947..f8feaef947 100644
--- a/contrib/restricted/boost/libs/python/src/wrapper.cpp
+++ b/contrib/restricted/boost/python/src/wrapper.cpp