aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/boost/bimap
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-03-28 22:25:04 +0300
committeralexv-smirnov <alex@ydb.tech>2023-03-28 22:25:04 +0300
commitb8a17f9b1c166d2e9a26b99348a4c29d972caf55 (patch)
tree1a2d881f1a9452b9c6103dbf69d73da7624e98e5 /contrib/restricted/boost/bimap
parent25659221f18577ea38430a8ec3349836f5626b6a (diff)
downloadydb-b8a17f9b1c166d2e9a26b99348a4c29d972caf55.tar.gz
Revert ymake build from ydb oss export
Diffstat (limited to 'contrib/restricted/boost/bimap')
-rw-r--r--contrib/restricted/boost/bimap/.yandex_meta/devtools.copyrights.report142
-rw-r--r--contrib/restricted/boost/bimap/.yandex_meta/devtools.licenses.report145
-rw-r--r--contrib/restricted/boost/bimap/.yandex_meta/licenses.list.txt8
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap.hpp19
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/bimap.hpp438
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/associative_container_adaptor.hpp287
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/container_adaptor.hpp291
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp111
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/functor_bag.hpp100
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp191
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/key_extractor.hpp45
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp62
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_adaptor.hpp249
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_map_adaptor.hpp283
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/map_adaptor.hpp132
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multimap_adaptor.hpp110
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multiset_adaptor.hpp103
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp312
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/sequence_container_adaptor.hpp356
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/set_adaptor.hpp100
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp77
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp293
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_map_adaptor.hpp133
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp111
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp102
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp98
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_adaptor.hpp150
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_map_adaptor.hpp104
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/bimap_core.hpp478
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/concept_tags.hpp97
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/debug/static_error.hpp35
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_index_binder.hpp125
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_relation_binder.hpp88
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_view_binder.hpp58
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/is_set_type_of.hpp66
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_additional_parameters.hpp243
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_bimap_key.hpp84
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_base.hpp544
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_iterator.hpp330
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/modifier_adaptor.hpp91
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/non_unique_views_helper.hpp71
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_base.hpp331
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_iterator.hpp198
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/test/check_metadata.hpp113
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/detail/user_interface_config.hpp24
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/list_of.hpp181
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/multiset_of.hpp205
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/property_map/set_support.hpp57
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/property_map/unordered_set_support.hpp57
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/access_builder.hpp170
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/metadata_access_builder.hpp103
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/mutant.hpp83
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/static_access_builder.hpp105
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/to_mutable_relation_functor.hpp102
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/member_at.hpp72
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/mutant_relation.hpp477
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/pair_layout.hpp72
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/structured_pair.hpp552
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/data_extractor.hpp113
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get.hpp140
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get_pair_functor.hpp85
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/is_tag_of_member_at.hpp181
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/member_with_tag.hpp180
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/opposite_tag.hpp61
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_by.hpp120
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_type_by.hpp62
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/support/value_type_of.hpp91
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/relation/symmetrical_base.hpp97
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/set_of.hpp206
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/support/data_type_by.hpp73
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/support/iterator_type_by.hpp142
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/support/key_type_by.hpp64
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/support/lambda.hpp46
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/support/map_by.hpp132
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/support/map_type_by.hpp65
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/support/value_type_by.hpp65
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/tags/support/apply_to_value_type.hpp70
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/tags/support/default_tagged.hpp73
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/tags/support/is_tagged.hpp64
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/tags/support/overwrite_tagged.hpp73
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/tags/support/tag_of.hpp75
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/tags/support/value_type_of.hpp74
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/tags/tagged.hpp107
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/unconstrained_set_of.hpp150
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/unordered_multiset_of.hpp233
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/unordered_set_of.hpp230
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/vector_of.hpp186
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/list_map_view.hpp177
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/list_set_view.hpp109
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/map_view.hpp156
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/multimap_view.hpp123
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/multiset_view.hpp110
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/set_view.hpp106
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_map_view.hpp46
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_set_view.hpp42
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_map_view.hpp174
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multimap_view.hpp136
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multiset_view.hpp83
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_set_view.hpp78
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/vector_map_view.hpp340
-rw-r--r--contrib/restricted/boost/bimap/include/boost/bimap/views/vector_set_view.hpp313
-rw-r--r--contrib/restricted/boost/bimap/ya.make43
102 files changed, 0 insertions, 15058 deletions
diff --git a/contrib/restricted/boost/bimap/.yandex_meta/devtools.copyrights.report b/contrib/restricted/boost/bimap/.yandex_meta/devtools.copyrights.report
deleted file mode 100644
index 13ff9e2b0d..0000000000
--- a/contrib/restricted/boost/bimap/.yandex_meta/devtools.copyrights.report
+++ /dev/null
@@ -1,142 +0,0 @@
-# File format ($ symbol means the beginning of a line):
-#
-# $ # this message
-# $ # =======================
-# $ # comments (all commentaries should starts with some number of spaces and # symbol)
-# $ IGNORE_FILES {file1.ext1} {file2.ext2} - (optional) ignore listed files when generating license macro and credits
-# $ RENAME {original license id} TO {new license id} # user comments - (optional) use {new license id} instead {original license id} in ya.make files
-# $ # user comments
-# $
-# ${action} {license id} {license text hash}
-# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make
-# ${all_file_action} filename
-# $ # user commentaries (many lines)
-# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify)
-# ${action} {license spdx} {license text hash}
-# $BELONGS ./ya/make/file/relative/path/3/ya.make
-# ${all_file_action} filename
-# $ # user commentaries
-# $ generated description
-# $ ...
-#
-# You can modify action, all_file_action and add commentaries
-# Available actions:
-# keep - keep license in contrib and use in credits
-# skip - skip license
-# remove - remove all files with this license
-# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file
-#
-# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory)
-# We suppose that that files can contain some license info
-# Available all file actions:
-# FILE_IGNORE - ignore file (do nothing)
-# FILE_INCLUDE - include all file data into licenses text file
-# =======================
-
-KEEP COPYRIGHT_SERVICE_LABEL 8c9a23c5e3683d8f54e0310eed071f27
-BELONGS ya.make
- License text:
- // Copyright (c) 2006-2007 Matias Capeletto
- Scancode info:
- Original SPDX id: COPYRIGHT_SERVICE_LABEL
- Score : 100.00
- Match type : COPYRIGHT
- Files with this license:
- include/boost/bimap.hpp [3:3]
- include/boost/bimap/bimap.hpp [3:3]
- include/boost/bimap/container_adaptor/associative_container_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/container_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/detail/functor_bag.hpp [3:3]
- include/boost/bimap/container_adaptor/detail/identity_converters.hpp [3:3]
- include/boost/bimap/container_adaptor/detail/key_extractor.hpp [3:3]
- include/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp [3:3]
- include/boost/bimap/container_adaptor/list_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/list_map_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/map_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/multimap_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/multiset_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/sequence_container_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/set_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp [3:3]
- include/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/unordered_map_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/vector_adaptor.hpp [3:3]
- include/boost/bimap/container_adaptor/vector_map_adaptor.hpp [3:3]
- include/boost/bimap/detail/bimap_core.hpp [3:3]
- include/boost/bimap/detail/concept_tags.hpp [3:3]
- include/boost/bimap/detail/debug/static_error.hpp [3:3]
- include/boost/bimap/detail/generate_index_binder.hpp [3:3]
- include/boost/bimap/detail/generate_relation_binder.hpp [3:3]
- include/boost/bimap/detail/generate_view_binder.hpp [3:3]
- include/boost/bimap/detail/is_set_type_of.hpp [3:3]
- include/boost/bimap/detail/manage_additional_parameters.hpp [3:3]
- include/boost/bimap/detail/manage_bimap_key.hpp [3:3]
- include/boost/bimap/detail/map_view_base.hpp [3:3]
- include/boost/bimap/detail/map_view_iterator.hpp [3:3]
- include/boost/bimap/detail/modifier_adaptor.hpp [3:3]
- include/boost/bimap/detail/non_unique_views_helper.hpp [3:3]
- include/boost/bimap/detail/set_view_base.hpp [3:3]
- include/boost/bimap/detail/set_view_iterator.hpp [3:3]
- include/boost/bimap/detail/test/check_metadata.hpp [3:3]
- include/boost/bimap/detail/user_interface_config.hpp [3:3]
- include/boost/bimap/list_of.hpp [3:3]
- include/boost/bimap/multiset_of.hpp [3:3]
- include/boost/bimap/property_map/set_support.hpp [3:3]
- include/boost/bimap/property_map/unordered_set_support.hpp [3:3]
- include/boost/bimap/relation/detail/access_builder.hpp [3:3]
- include/boost/bimap/relation/detail/metadata_access_builder.hpp [3:3]
- include/boost/bimap/relation/detail/mutant.hpp [3:3]
- include/boost/bimap/relation/detail/static_access_builder.hpp [3:3]
- include/boost/bimap/relation/detail/to_mutable_relation_functor.hpp [3:3]
- include/boost/bimap/relation/member_at.hpp [3:3]
- include/boost/bimap/relation/mutant_relation.hpp [3:3]
- include/boost/bimap/relation/pair_layout.hpp [3:3]
- include/boost/bimap/relation/structured_pair.hpp [3:3]
- include/boost/bimap/relation/support/data_extractor.hpp [3:3]
- include/boost/bimap/relation/support/get.hpp [3:3]
- include/boost/bimap/relation/support/get_pair_functor.hpp [3:3]
- include/boost/bimap/relation/support/is_tag_of_member_at.hpp [3:3]
- include/boost/bimap/relation/support/member_with_tag.hpp [3:3]
- include/boost/bimap/relation/support/opposite_tag.hpp [3:3]
- include/boost/bimap/relation/support/pair_by.hpp [3:3]
- include/boost/bimap/relation/support/pair_type_by.hpp [3:3]
- include/boost/bimap/relation/support/value_type_of.hpp [3:3]
- include/boost/bimap/relation/symmetrical_base.hpp [3:3]
- include/boost/bimap/set_of.hpp [3:3]
- include/boost/bimap/support/data_type_by.hpp [3:3]
- include/boost/bimap/support/iterator_type_by.hpp [3:3]
- include/boost/bimap/support/key_type_by.hpp [3:3]
- include/boost/bimap/support/lambda.hpp [3:3]
- include/boost/bimap/support/map_by.hpp [3:3]
- include/boost/bimap/support/map_type_by.hpp [3:3]
- include/boost/bimap/support/value_type_by.hpp [3:3]
- include/boost/bimap/tags/support/apply_to_value_type.hpp [3:3]
- include/boost/bimap/tags/support/default_tagged.hpp [3:3]
- include/boost/bimap/tags/support/is_tagged.hpp [3:3]
- include/boost/bimap/tags/support/overwrite_tagged.hpp [3:3]
- include/boost/bimap/tags/support/tag_of.hpp [3:3]
- include/boost/bimap/tags/support/value_type_of.hpp [3:3]
- include/boost/bimap/tags/tagged.hpp [3:3]
- include/boost/bimap/unconstrained_set_of.hpp [3:3]
- include/boost/bimap/unordered_multiset_of.hpp [3:3]
- include/boost/bimap/unordered_set_of.hpp [3:3]
- include/boost/bimap/vector_of.hpp [3:3]
- include/boost/bimap/views/list_map_view.hpp [3:3]
- include/boost/bimap/views/list_set_view.hpp [3:3]
- include/boost/bimap/views/map_view.hpp [3:3]
- include/boost/bimap/views/multimap_view.hpp [3:3]
- include/boost/bimap/views/multiset_view.hpp [3:3]
- include/boost/bimap/views/set_view.hpp [3:3]
- include/boost/bimap/views/unconstrained_map_view.hpp [3:3]
- include/boost/bimap/views/unconstrained_set_view.hpp [3:3]
- include/boost/bimap/views/unordered_map_view.hpp [3:3]
- include/boost/bimap/views/unordered_multimap_view.hpp [3:3]
- include/boost/bimap/views/unordered_multiset_view.hpp [3:3]
- include/boost/bimap/views/unordered_set_view.hpp [3:3]
- include/boost/bimap/views/vector_map_view.hpp [3:3]
- include/boost/bimap/views/vector_set_view.hpp [3:3]
diff --git a/contrib/restricted/boost/bimap/.yandex_meta/devtools.licenses.report b/contrib/restricted/boost/bimap/.yandex_meta/devtools.licenses.report
deleted file mode 100644
index cdcbe00af0..0000000000
--- a/contrib/restricted/boost/bimap/.yandex_meta/devtools.licenses.report
+++ /dev/null
@@ -1,145 +0,0 @@
-# File format ($ symbol means the beginning of a line):
-#
-# $ # this message
-# $ # =======================
-# $ # comments (all commentaries should starts with some number of spaces and # symbol)
-# $ IGNORE_FILES {file1.ext1} {file2.ext2} - (optional) ignore listed files when generating license macro and credits
-# $ RENAME {original license id} TO {new license id} # user comments - (optional) use {new license id} instead {original license id} in ya.make files
-# $ # user comments
-# $
-# ${action} {license id} {license text hash}
-# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make
-# ${all_file_action} filename
-# $ # user commentaries (many lines)
-# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify)
-# ${action} {license spdx} {license text hash}
-# $BELONGS ./ya/make/file/relative/path/3/ya.make
-# ${all_file_action} filename
-# $ # user commentaries
-# $ generated description
-# $ ...
-#
-# You can modify action, all_file_action and add commentaries
-# Available actions:
-# keep - keep license in contrib and use in credits
-# skip - skip license
-# remove - remove all files with this license
-# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file
-#
-# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory)
-# We suppose that that files can contain some license info
-# Available all file actions:
-# FILE_IGNORE - ignore file (do nothing)
-# FILE_INCLUDE - include all file data into licenses text file
-# =======================
-
-KEEP BSL-1.0 2cc71fe4bd12718a9884bf7ff37269f3
-BELONGS ya.make
- License text:
- // Distributed under the Boost Software License, Version 1.0.
- // (See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- Scancode info:
- Original SPDX id: BSL-1.0
- Score : 100.00
- Match type : NOTICE
- Links : http://www.boost.org/LICENSE_1_0.txt, http://www.boost.org/users/license.html, https://spdx.org/licenses/BSL-1.0
- Files with this license:
- include/boost/bimap.hpp [5:7]
- include/boost/bimap/bimap.hpp [5:7]
- include/boost/bimap/container_adaptor/associative_container_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/container_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/detail/functor_bag.hpp [5:7]
- include/boost/bimap/container_adaptor/detail/identity_converters.hpp [5:7]
- include/boost/bimap/container_adaptor/detail/key_extractor.hpp [5:7]
- include/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp [5:7]
- include/boost/bimap/container_adaptor/list_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/list_map_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/map_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/multimap_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/multiset_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/sequence_container_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/set_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp [5:7]
- include/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/unordered_map_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/vector_adaptor.hpp [5:7]
- include/boost/bimap/container_adaptor/vector_map_adaptor.hpp [5:7]
- include/boost/bimap/detail/bimap_core.hpp [5:7]
- include/boost/bimap/detail/concept_tags.hpp [5:7]
- include/boost/bimap/detail/debug/static_error.hpp [5:7]
- include/boost/bimap/detail/generate_index_binder.hpp [5:7]
- include/boost/bimap/detail/generate_relation_binder.hpp [5:7]
- include/boost/bimap/detail/generate_view_binder.hpp [5:7]
- include/boost/bimap/detail/is_set_type_of.hpp [5:7]
- include/boost/bimap/detail/manage_additional_parameters.hpp [5:7]
- include/boost/bimap/detail/manage_bimap_key.hpp [5:7]
- include/boost/bimap/detail/map_view_base.hpp [5:7]
- include/boost/bimap/detail/map_view_iterator.hpp [5:7]
- include/boost/bimap/detail/modifier_adaptor.hpp [5:7]
- include/boost/bimap/detail/non_unique_views_helper.hpp [5:7]
- include/boost/bimap/detail/set_view_base.hpp [5:7]
- include/boost/bimap/detail/set_view_iterator.hpp [5:7]
- include/boost/bimap/detail/test/check_metadata.hpp [5:7]
- include/boost/bimap/detail/user_interface_config.hpp [5:7]
- include/boost/bimap/list_of.hpp [5:7]
- include/boost/bimap/multiset_of.hpp [5:7]
- include/boost/bimap/property_map/set_support.hpp [5:7]
- include/boost/bimap/property_map/unordered_set_support.hpp [5:7]
- include/boost/bimap/relation/detail/access_builder.hpp [5:7]
- include/boost/bimap/relation/detail/metadata_access_builder.hpp [5:7]
- include/boost/bimap/relation/detail/mutant.hpp [5:7]
- include/boost/bimap/relation/detail/static_access_builder.hpp [5:7]
- include/boost/bimap/relation/detail/to_mutable_relation_functor.hpp [5:7]
- include/boost/bimap/relation/member_at.hpp [5:7]
- include/boost/bimap/relation/mutant_relation.hpp [5:7]
- include/boost/bimap/relation/pair_layout.hpp [5:7]
- include/boost/bimap/relation/structured_pair.hpp [5:7]
- include/boost/bimap/relation/support/data_extractor.hpp [5:7]
- include/boost/bimap/relation/support/get.hpp [5:7]
- include/boost/bimap/relation/support/get_pair_functor.hpp [5:7]
- include/boost/bimap/relation/support/is_tag_of_member_at.hpp [5:7]
- include/boost/bimap/relation/support/member_with_tag.hpp [5:7]
- include/boost/bimap/relation/support/opposite_tag.hpp [5:7]
- include/boost/bimap/relation/support/pair_by.hpp [5:7]
- include/boost/bimap/relation/support/pair_type_by.hpp [5:7]
- include/boost/bimap/relation/support/value_type_of.hpp [5:7]
- include/boost/bimap/relation/symmetrical_base.hpp [5:7]
- include/boost/bimap/set_of.hpp [5:7]
- include/boost/bimap/support/data_type_by.hpp [5:7]
- include/boost/bimap/support/iterator_type_by.hpp [5:7]
- include/boost/bimap/support/key_type_by.hpp [5:7]
- include/boost/bimap/support/lambda.hpp [5:7]
- include/boost/bimap/support/map_by.hpp [5:7]
- include/boost/bimap/support/map_type_by.hpp [5:7]
- include/boost/bimap/support/value_type_by.hpp [5:7]
- include/boost/bimap/tags/support/apply_to_value_type.hpp [5:7]
- include/boost/bimap/tags/support/default_tagged.hpp [5:7]
- include/boost/bimap/tags/support/is_tagged.hpp [5:7]
- include/boost/bimap/tags/support/overwrite_tagged.hpp [5:7]
- include/boost/bimap/tags/support/tag_of.hpp [5:7]
- include/boost/bimap/tags/support/value_type_of.hpp [5:7]
- include/boost/bimap/tags/tagged.hpp [5:7]
- include/boost/bimap/unconstrained_set_of.hpp [5:7]
- include/boost/bimap/unordered_multiset_of.hpp [5:7]
- include/boost/bimap/unordered_set_of.hpp [5:7]
- include/boost/bimap/vector_of.hpp [5:7]
- include/boost/bimap/views/list_map_view.hpp [5:7]
- include/boost/bimap/views/list_set_view.hpp [5:7]
- include/boost/bimap/views/map_view.hpp [5:7]
- include/boost/bimap/views/multimap_view.hpp [5:7]
- include/boost/bimap/views/multiset_view.hpp [5:7]
- include/boost/bimap/views/set_view.hpp [5:7]
- include/boost/bimap/views/unconstrained_map_view.hpp [5:7]
- include/boost/bimap/views/unconstrained_set_view.hpp [5:7]
- include/boost/bimap/views/unordered_map_view.hpp [5:7]
- include/boost/bimap/views/unordered_multimap_view.hpp [5:7]
- include/boost/bimap/views/unordered_multiset_view.hpp [5:7]
- include/boost/bimap/views/unordered_set_view.hpp [5:7]
- include/boost/bimap/views/vector_map_view.hpp [5:7]
- include/boost/bimap/views/vector_set_view.hpp [5:7]
diff --git a/contrib/restricted/boost/bimap/.yandex_meta/licenses.list.txt b/contrib/restricted/boost/bimap/.yandex_meta/licenses.list.txt
deleted file mode 100644
index b2657896c8..0000000000
--- a/contrib/restricted/boost/bimap/.yandex_meta/licenses.list.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-====================BSL-1.0====================
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-
-====================COPYRIGHT====================
-// Copyright (c) 2006-2007 Matias Capeletto
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap.hpp b/contrib/restricted/boost/bimap/include/boost/bimap.hpp
deleted file mode 100644
index 51d726dd32..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See www.boost.org/libs/bimap for documentation.
-
-// Convenience header
-
-#include <boost/bimap/bimap.hpp>
-
-namespace boost
-{
- using ::boost::bimaps::bimap;
-}
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/bimap.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/bimap.hpp
deleted file mode 100644
index 5fe7a3f5b1..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/bimap.hpp
+++ /dev/null
@@ -1,438 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file bimap.hpp
-/// \brief Includes the basic bimap container
-
-/** \mainpage notitle
-\n
-\image html http://matias.capeletto.googlepages.com/boost.bimap.reference.logo.png
-
-\section Introduction
-
-This is the complete reference of Boost.Bimap.
-
-After getting a good understanding of the library from a user perspective
-the next step will be:
-
- - Understand the tagged idiom. (boost::bimaps::tags)
- - Understand the internals of the relation class (boost::bimaps::relation)
- - Read the container_adaptor toolbox docs (boost::bimaps::container_adaptor)
- - Understand the internals of the bimap class. (boost::bimaps, boost::bimaps::views
- and boost::bimaps::detail)
-
-
- **/
-
-/** \defgroup mutant_group mutant idiom
-\brief A safe wrapper around reinterpret_cast
- **/
-
-/** \defgroup relation_group relation
-\brief The relation
- **/
-
-/** \defgroup tags_group tagged idiom
-\brief The tagged idiom
- **/
-
-
-#ifndef BOOST_BIMAP_BIMAP_HPP
-#define BOOST_BIMAP_BIMAP_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/bimap/detail/user_interface_config.hpp>
-#include <boost/mpl/aux_/na.hpp>
-
-#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
- #include <boost/serialization/nvp.hpp>
-#endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-
-// Boost.Bimap
-#include <boost/bimap/detail/bimap_core.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-#include <boost/bimap/detail/modifier_adaptor.hpp>
-#include <boost/bimap/relation/support/data_extractor.hpp>
-#include <boost/bimap/relation/support/member_with_tag.hpp>
-
-#include <boost/bimap/support/map_type_by.hpp>
-#include <boost/bimap/support/map_by.hpp>
-#include <boost/bimap/support/iterator_type_by.hpp>
-
-/// \brief The namespace where all the boost libraries lives.
-
-namespace boost {
-
-/// \brief Boost.Bimap library namespace
-/**
-All the entities in the library are defined in this namespace.
- **/
-namespace bimaps {
-
-/// \brief The bimap class is the entry point to the library.
-/**
-This class manages the instantiation of the desired bimap type.
-As there are several types of bidirectional maps that can be
-created using it. the main job of it is to find the desired
-type. This is done using metaprogramming to obtain the relation
-type that will be stored, the map_view type of each side and
-the set_view type of the general relationship. The instantiation
-is kept simple using an extended standard set theory, where a
-bidirectional map type is defined by the set types it relates.
-For example, a bidirectional map that has multimap semantics
-viewed from both sides is defined by specifying that the two
-keys sets are of \c multiset_of<Key> type.
-This allows the bimap class to support seamingless N-N, 1-N,
-ordered/unordered and even vector-list types of mapping.
-The three last parameters are used to specify the set type of
-the relation, an inplace hooked data class and the allocator
-type. As a help to the bimap user, these parameters support
-default types but use a special idiom that allow them to be
-specified without interleaving the usual use_default keyword.
-The possible bimap instantiation are enumerated here:
-\c {Side}KeyType can be directly a type, this is default to
-\c set_of<{Side}KeyType>, or can be a \c {SetType}_of<Type>
-specification. Additionally this two parameters can be tagged
-to specify others tags instead of the usual \c member_at::{Side}
-ones.
-
-
-\code
-
- typedef bimap
- <
- LeftCollectionType, RightCollectionType
-
- [ , SetTypeOfRelation ] // Default to left_based
- [ , info_hook< Info > ] // Default to no info
- [ , Allocator ] // Default to std::allocator<>
-
- > bm;
-
-\endcode
-
- **/
-
-
-template
-<
- class KeyTypeA, class KeyTypeB,
- class AP1 = ::boost::mpl::na,
- class AP2 = ::boost::mpl::na,
- class AP3 = ::boost::mpl::na
->
-class bimap
-:
- // Bimap Core, use mpl magic to find the desired bimap type
-
- public ::boost::bimaps::detail::bimap_core<KeyTypeA,KeyTypeB,AP1,AP2,AP3>,
-
- // You can use bimap as a collection of relations
-
- public ::boost::bimaps::detail::bimap_core<KeyTypeA,KeyTypeB,AP1,AP2,AP3>
- ::relation_set,
-
- // Include extra typedefs (i.e. left_local_iterator for unordered_map)
-
- public ::boost::bimaps::detail:: left_map_view_extra_typedefs<
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::left_map_view_type<
- ::boost::bimaps::detail::bimap_core<KeyTypeA,KeyTypeB,AP1,AP2,AP3>
- >::type
- >,
- public ::boost::bimaps::detail::right_map_view_extra_typedefs<
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::right_map_view_type<
- ::boost::bimaps::detail::bimap_core<KeyTypeA,KeyTypeB,AP1,AP2,AP3>
- >::type
- >
-{
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::
- bimap_core<KeyTypeA,KeyTypeB,AP1,AP2,AP3> base_;
-
- BOOST_DEDUCED_TYPENAME base_::core_type core;
-
- public:
-
- // metadata --------------------------------------------------------
-
- /*
- // The rest is computed in the core, because it is quite difficult to
- // expose a nice interface with so many metaprogramming stuff.
-
- // Map by {side} metadata
-
- typedef -unspecified- {side}_tag;
- typedef -unspecified- {side}_data_type;
- typedef -unspecified- {side}_value_type;
- typedef -unspecified- {side}_key_type;
-
- // There are other typedefs for definitions of different map views
-
- ------------------------------------------------------------------*/
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::
- left_map_view_type<base_>::type left_map;
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::
- right_map_view_type<base_>::type right_map;
-
- typedef BOOST_DEDUCED_TYPENAME
- left_map::iterator left_iterator;
- typedef BOOST_DEDUCED_TYPENAME
- left_map::const_iterator left_const_iterator;
-
- typedef BOOST_DEDUCED_TYPENAME
- right_map::iterator right_iterator;
- typedef BOOST_DEDUCED_TYPENAME
- right_map::const_iterator right_const_iterator;
-
- typedef BOOST_DEDUCED_TYPENAME
- left_map::reference left_reference;
- typedef BOOST_DEDUCED_TYPENAME
- left_map::const_reference left_const_reference;
-
- typedef BOOST_DEDUCED_TYPENAME
- right_map::reference right_reference;
- typedef BOOST_DEDUCED_TYPENAME
- right_map::const_reference right_const_reference;
-
- typedef BOOST_DEDUCED_TYPENAME base_::relation::info_type info_type;
-
- typedef BOOST_DEDUCED_TYPENAME base_::core_type::allocator_type allocator_type;
-
- /// Left map view
- left_map left;
-
- /// Right map view
- right_map right;
-
- typedef BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag
- logic_relation_set_tag;
- typedef BOOST_DEDUCED_TYPENAME base_::logic_left_tag logic_left_tag;
- typedef BOOST_DEDUCED_TYPENAME base_::logic_right_tag logic_right_tag;
- typedef BOOST_DEDUCED_TYPENAME base_::core_type::ctor_args_list
- ctor_args_list;
-
- bimap(const allocator_type& al = allocator_type()) :
-
- base_::relation_set(
- ::boost::multi_index::get<
- logic_relation_set_tag
- >(core)
- ),
-
- core(al),
-
- left (
- ::boost::multi_index::get<
- logic_left_tag
- >(core)
- ),
- right (
- ::boost::multi_index::get<
- logic_right_tag
- >(core)
- )
-
- {}
-
- template< class InputIterator >
- bimap(InputIterator first,InputIterator last,
- const allocator_type& al = allocator_type()) :
-
- base_::relation_set(
- ::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag>(core)
- ),
-
- core(first,last,ctor_args_list(),al),
-
- left (
- ::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_left_tag>(core)
- ),
- right (
- ::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_right_tag>(core)
- )
-
- {}
-
- bimap(const bimap& x) :
-
- base_::relation_set(
- ::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag>(core)
- ),
-
- core(x.core),
-
- left (
- ::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_left_tag>(core)
- ),
- right (
- ::boost::multi_index::get<
- BOOST_DEDUCED_TYPENAME base_::logic_right_tag>(core)
- )
-
- {}
-
- bimap& operator=(const bimap& x)
- {
- core = x.core;
- return *this;
- }
-
- // Projection of iterators
-
- template< class IteratorType >
- left_iterator project_left(IteratorType iter)
- {
- return core.template project<
- BOOST_DEDUCED_TYPENAME base_::logic_left_tag>(iter.base());
- }
-
- template< class IteratorType >
- left_const_iterator project_left(IteratorType iter) const
- {
- return core.template project<
- BOOST_DEDUCED_TYPENAME base_::logic_left_tag>(iter.base());
- }
-
- template< class IteratorType >
- right_iterator project_right(IteratorType iter)
- {
- return core.template project<
- BOOST_DEDUCED_TYPENAME base_::logic_right_tag>(iter.base());
- }
-
- template< class IteratorType >
- right_const_iterator project_right(IteratorType iter) const
- {
- return core.template project<
- BOOST_DEDUCED_TYPENAME base_::logic_right_tag>(iter.base());
- }
-
- template< class IteratorType >
- BOOST_DEDUCED_TYPENAME base_::relation_set::iterator
- project_up(IteratorType iter)
- {
- return core.template project<
- BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag>(iter.base());
- }
-
- template< class IteratorType >
- BOOST_DEDUCED_TYPENAME base_::relation_set::const_iterator
- project_up(IteratorType iter) const
- {
- return core.template project<
- BOOST_DEDUCED_TYPENAME base_::logic_relation_set_tag>(iter.base());
- }
-
- // Support for tags
-
- template< class Tag, class IteratorType >
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- iterator_type_by<Tag,bimap>::type
- project(IteratorType iter)
- {
- return core.template project<Tag>(iter.base());
- }
-
- template< class Tag, class IteratorType >
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- const_iterator_type_by<Tag,bimap>::type
- project(IteratorType iter) const
- {
- return core.template project<Tag>(iter.base());
- }
-
- template< class Tag >
- struct map_by :
- public ::boost::bimaps::support::map_type_by<Tag,bimap>::type
- {
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- map_type_by<Tag,bimap>::type type;
-
- private: map_by() {}
- };
-
- template< class Tag >
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- map_type_by<Tag,bimap>::type &by()
- {
- return ::boost::bimaps::support::map_by<Tag>(*this);
- }
-
- template< class Tag >
- const BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- map_type_by<Tag,bimap>::type &by() const
- {
- return ::boost::bimaps::support::map_by<Tag>(*this);
- }
-
-
- #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
-
- // Serialization support
-
- private:
-
- friend class boost::serialization::access;
-
- template<class Archive>
- void serialize(Archive & ar, const unsigned int)
- {
- ar & serialization::make_nvp("mi_core",core);
- }
-
- #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-};
-
-} // namespace bimaps
-} // namespace boost
-
-
-/** \namespace boost::bimaps::support
-\brief Metafunctions to help working with bimaps.
- **/
-
-/** \namespace boost::bimaps::views
-\brief Bimap views.
- **/
-
-/** \namespace boost::bimaps::views::detail
-\brief Bimap views details.
- **/
-
-
-
-// Include basic tools for user commodity
-
-#include <boost/bimap/tags/tagged.hpp>
-#include <boost/bimap/relation/member_at.hpp>
-#include <boost/multi_index/detail/unbounded.hpp>
-
-// Bring the most used namespaces directly to the user main namespace
-namespace boost {
-namespace bimaps {
-
-using ::boost::bimaps::tags::tagged;
-
-namespace member_at = ::boost::bimaps::relation::member_at;
-
-using ::boost::multi_index::unbounded;
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_BIMAP_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/associative_container_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/associative_container_adaptor.hpp
deleted file mode 100644
index 419407f82f..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/associative_container_adaptor.hpp
+++ /dev/null
@@ -1,287 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/associative_container_adaptor.hpp
-/// \brief Container adaptor to build a type that is compliant to the concept of an associative container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <utility>
-
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/bimap/container_adaptor/detail/identity_converters.hpp>
-#include <boost/bimap/container_adaptor/container_adaptor.hpp>
-#include <boost/call_traits.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template
-<
- class Base, class Iterator, class ConstIterator, class KeyType,
- class IteratorToBaseConverter, class IteratorFromBaseConverter,
- class ValueToBaseConverter, class ValueFromBaseConverter, class KeyToBaseConverter,
- class FunctorsFromDerivedClasses
->
-struct associative_container_adaptor_base
-{
- typedef container_adaptor
- <
- Base,
-
- Iterator, ConstIterator,
-
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ValueToBaseConverter , ValueFromBaseConverter,
-
- BOOST_DEDUCED_TYPENAME mpl::push_front<
-
- FunctorsFromDerivedClasses,
-
- BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<KeyToBaseConverter>,
- // {
- detail::key_to_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::key_type, KeyType
- >,
- // }
- // else
- // {
- KeyToBaseConverter
- // }
-
- >::type
-
- >::type
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-
-/// \brief Container adaptor to build a type that is compliant to the concept of an associative container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
-
- class KeyType,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class associative_container_adaptor :
-
- public associative_container_adaptor_base
- <
- Base, Iterator, ConstIterator, KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter, KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type
-{
-
- // MetaData -------------------------------------------------------------
-
- typedef typename associative_container_adaptor_base
- <
- Base, Iterator, ConstIterator, KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter, KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type base_;
-
- public:
-
- typedef KeyType key_type;
-
- protected:
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<KeyToBaseConverter>,
- // {
- detail::key_to_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::key_type, KeyType
- >,
- // }
- // else
- // {
- KeyToBaseConverter
- // }
-
- >::type key_to_base;
-
- public:
-
- explicit associative_container_adaptor(Base & c)
- : base_(c) {}
-
- protected:
-
-
- typedef associative_container_adaptor associative_container_adaptor_;
-
- // Interface --------------------------------------------------------------
-
- public:
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::size_type erase(const CompatibleKey & k)
- {
- return this->base().erase
- (
- this->template functor<key_to_base>()(k)
- );
- }
-
- // As we redefine erase, the other overloads need to be manually routed
-
- BOOST_DEDUCED_TYPENAME base_::iterator erase(
- BOOST_DEDUCED_TYPENAME base_::iterator pos)
- {
- return base_::container_adaptor_::erase(pos);
- }
-
- BOOST_DEDUCED_TYPENAME base_::iterator erase(
- BOOST_DEDUCED_TYPENAME base_::iterator first,
- BOOST_DEDUCED_TYPENAME base_::iterator last)
- {
- return base_::container_adaptor_::erase(first,last);
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::size_type count(const CompatibleKey & k) const
- {
- return this->base().count(
- this->template functor<key_to_base>()(k)
- );
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::iterator find(const CompatibleKey & k)
- {
- return this->template functor<typename base_::iterator_from_base>()
- (
- this->base().find(
- this->template functor<key_to_base>()(k)
- )
- );
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::const_iterator
- find(const CompatibleKey & k) const
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()
- (
- this->base().find(
- this->template functor<key_to_base>()(k)
- )
- );
- }
-
- template< class CompatibleKey >
- std::pair
- <
- BOOST_DEDUCED_TYPENAME base_::iterator,
- BOOST_DEDUCED_TYPENAME base_::iterator
- >
- equal_range(const CompatibleKey & k)
- {
- std::pair<
-
- BOOST_DEDUCED_TYPENAME Base::iterator,
- BOOST_DEDUCED_TYPENAME Base::iterator
-
- > r( this->base().equal_range(
- this->template functor<key_to_base>()(k)
- )
- );
-
- return std::pair
- <
- BOOST_DEDUCED_TYPENAME base_::iterator,
- BOOST_DEDUCED_TYPENAME base_::iterator
- >(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base
- >() ( r.first ),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base
- >() ( r.second )
- );
- }
-
- template< class CompatibleKey >
- std::pair
- <
- BOOST_DEDUCED_TYPENAME base_::const_iterator,
- BOOST_DEDUCED_TYPENAME base_::const_iterator
- >
- equal_range(const CompatibleKey & k) const
- {
- std::pair<
-
- BOOST_DEDUCED_TYPENAME Base::const_iterator,
- BOOST_DEDUCED_TYPENAME Base::const_iterator
-
- > r( this->base().equal_range(
- this->template functor<key_to_base>()(k)
- )
- );
-
- return std::pair
- <
- BOOST_DEDUCED_TYPENAME base_::const_iterator,
- BOOST_DEDUCED_TYPENAME base_::const_iterator
- >(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base
- >() ( r.first ),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base
- >() ( r.second )
- );
- }
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
-
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/container_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/container_adaptor.hpp
deleted file mode 100644
index 374c351f0a..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/container_adaptor.hpp
+++ /dev/null
@@ -1,291 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/container_adaptor.hpp
-/// \brief Container adaptor to build a type that is compliant to the concept of a container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_CONTAINER_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_CONTAINER_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <utility>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/bimap/container_adaptor/detail/identity_converters.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-#include <boost/bimap/container_adaptor/detail/functor_bag.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/copy.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/call_traits.hpp>
-
-
-
-namespace boost {
-namespace bimaps {
-
-/// \brief Container Adaptor toolbox, easy way to build new containers from existing ones.
-
-namespace container_adaptor {
-
-/// \brief Container adaptor to build a type that is compliant to the concept of a container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class container_adaptor
-{
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef Iterator iterator;
- typedef ConstIterator const_iterator;
-
- typedef BOOST_DEDUCED_TYPENAME iterator_value < iterator >::type value_type;
- typedef BOOST_DEDUCED_TYPENAME iterator_pointer < iterator >::type pointer;
- typedef BOOST_DEDUCED_TYPENAME iterator_reference< iterator >::type reference;
- typedef BOOST_DEDUCED_TYPENAME iterator_reference< const_iterator >::type const_reference;
-
- typedef BOOST_DEDUCED_TYPENAME Base::size_type size_type;
- typedef BOOST_DEDUCED_TYPENAME Base::difference_type difference_type;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<IteratorToBaseConverter>,
- // {
- ::boost::bimaps::container_adaptor::detail::
- iterator_to_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::iterator , iterator,
- BOOST_DEDUCED_TYPENAME Base::const_iterator , const_iterator
- >,
- // }
- // else
- // {
- IteratorToBaseConverter
- // }
-
- >::type iterator_to_base;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<IteratorFromBaseConverter>,
- // {
- ::boost::bimaps::container_adaptor::detail::
- iterator_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::iterator , iterator,
- BOOST_DEDUCED_TYPENAME Base::const_iterator , const_iterator
- >,
- // }
- // else
- // {
- IteratorFromBaseConverter
- // }
-
- >::type iterator_from_base;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<ValueToBaseConverter>,
- // {
- ::boost::bimaps::container_adaptor::detail::
- value_to_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::value_type,
- value_type
- >,
- // }
- // else
- // {
- ValueToBaseConverter
- // }
-
- >::type value_to_base;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<ValueFromBaseConverter>,
- // {
- ::boost::bimaps::container_adaptor::detail::
- value_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::value_type,
- value_type
- >,
- // }
- // else
- // {
- ValueFromBaseConverter
- // }
-
- >::type value_from_base;
-
- // ACCESS -----------------------------------------------------------------
-
- public:
-
- explicit container_adaptor(Base & c) : dwfb(c) {}
-
- protected:
-
- typedef Base base_type;
-
- typedef container_adaptor container_adaptor_;
-
- const Base & base() const { return dwfb.data; }
- Base & base() { return dwfb.data; }
-
- // Interface --------------------------------------------------------------
-
- public:
-
- size_type size() const { return base().size(); }
- size_type max_size() const { return base().max_size(); }
- bool empty() const { return base().empty(); }
-
- iterator begin()
- {
- return this->template functor<iterator_from_base>()( base().begin() );
- }
-
- iterator end()
- {
- return this->template functor<iterator_from_base>()( base().end() );
- }
-
- const_iterator begin() const
- {
- return this->template functor<iterator_from_base>()( base().begin() );
- }
-
- const_iterator end() const
- {
- return this->template functor<iterator_from_base>()( base().end() );
- }
-
-
- iterator erase(iterator pos)
- {
- return this->template functor<iterator_from_base>()(
- base().erase(this->template functor<iterator_to_base>()(pos))
- );
- }
-
- iterator erase(iterator first, iterator last)
- {
- return this->template functor<iterator_from_base>()(
- base().erase(
- this->template functor<iterator_to_base>()(first),
- this->template functor<iterator_to_base>()(last)
- )
- );
- }
-
- void clear()
- {
- base().clear();
- }
-
- template< class InputIterator >
- void insert(InputIterator iterBegin, InputIterator iterEnd)
- {
- for( ; iterBegin != iterEnd ; ++iterBegin )
- {
- base().insert( this->template
- functor<value_to_base>()( *iterBegin )
- );
- }
- }
-
- std::pair<iterator, bool> insert(
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< value_type >::param_type x)
- {
- std::pair< BOOST_DEDUCED_TYPENAME Base::iterator, bool > r(
- base().insert( this->template functor<value_to_base>()(x) )
- );
-
- return std::pair<iterator, bool>( this->template
- functor<iterator_from_base>()(r.first),r.second
- );
- }
-
- iterator insert(iterator pos,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< value_type >::param_type x)
- {
- return this->template functor<iterator_from_base>()(
- base().insert(
- this->template functor<iterator_to_base>()(pos),
- this->template functor<value_to_base>()(x))
- );
- }
-
- void swap( container_adaptor & c )
- {
- base().swap( c.base() );
- }
-
- // Access to functors ----------------------------------------------------
-
- protected:
-
- template< class Functor >
- Functor & functor()
- {
- return dwfb.template functor<Functor>();
- }
-
- template< class Functor >
- Functor const & functor() const
- {
- return dwfb.template functor<Functor>();
- }
-
- // Data ------------------------------------------------------------------
-
- private:
-
- ::boost::bimaps::container_adaptor::detail::data_with_functor_bag
- <
- Base &,
-
- BOOST_DEDUCED_TYPENAME mpl::copy
- <
- mpl::vector
- <
- iterator_to_base,
- iterator_from_base,
- value_to_base,
- value_from_base
- >,
-
- mpl::front_inserter< FunctorsFromDerivedClasses >
-
- >::type
-
- > dwfb;
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_CONTAINER_ADAPTOR_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp
deleted file mode 100644
index aceaa34c16..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/detail/comparison_adaptor.hpp
-/// \brief Comparison adaptor.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_COMPARISON_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_COMPARISON_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/call_traits.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-namespace detail {
-
-/// \brief Comparison adaptor
-/**
-
-A simple comparison adaptor.
- **/
-
-template < class Compare, class NewType, class Converter >
-struct comparison_adaptor
-{
- typedef NewType first_argument_type;
- typedef NewType second_argument_type;
- typedef bool result_type;
-
- comparison_adaptor( const Compare & comp, const Converter & conv)
- : compare(comp), converter(conv) {}
-
- bool operator()( BOOST_DEDUCED_TYPENAME call_traits<NewType>::param_type x,
- BOOST_DEDUCED_TYPENAME call_traits<NewType>::param_type y) const
- {
- return compare( converter(x), converter(y) );
- }
-
- private:
- Compare compare;
- Converter converter;
-};
-
-template < class Compare, class NewType, class Converter >
-struct compatible_comparison_adaptor
-{
- typedef NewType first_argument_type;
- typedef NewType second_argument_type;
- typedef bool result_type;
-
- compatible_comparison_adaptor( const Compare & comp, const Converter & conv)
- : compare(comp), converter(conv) {}
-
- template< class CompatibleTypeLeft, class CompatibleTypeRight >
- bool operator()( const CompatibleTypeLeft & x,
- const CompatibleTypeRight & y) const
- {
- return compare( converter(x), converter(y) );
- }
-
- private:
- Compare compare;
- Converter converter;
-};
-
-
-/// \brief Unary Check adaptor
-/**
-
-A simple unary check adaptor.
- **/
-
-template < class Compare, class NewType, class Converter >
-struct unary_check_adaptor
-{
- typedef BOOST_DEDUCED_TYPENAME call_traits<NewType>::param_type argument_type;
- typedef bool result_type;
-
- unary_check_adaptor( const Compare & comp, const Converter & conv ) :
- compare(comp), converter(conv) {}
-
- bool operator()( BOOST_DEDUCED_TYPENAME call_traits<NewType>::param_type x) const
- {
- return compare( converter(x) );
- }
-
- private:
- Compare compare;
- Converter converter;
-};
-
-} // namespace detail
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_COMPARISON_ADAPTOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/functor_bag.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/functor_bag.hpp
deleted file mode 100644
index 9df655e349..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/functor_bag.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/detail/functor_bag.hpp
-/// \brief Defines a EBO optimizacion helper for functors.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_FUNCTOR_BAG_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_FUNCTOR_BAG_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-// This bogus warning will appear when add_const is applied to a
-// const volatile reference because we can't detect const volatile
-// references with MSVC6.
-# pragma warning(push)
-# pragma warning(disable:4181)
-// warning C4181: qualifier applied to reference type ignored
-#endif
-
-#include <boost/mpl/placeholders.hpp>
-
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-
-#include <boost/mpl/inherit_linearly.hpp>
-#include <boost/mpl/inherit.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-namespace detail {
-
-/// \brief EBO optimizacion helper for functors
-/**
-
-This class is a generalization of a helper class explained in an article by
-Nathan C. Myers.\n
-See it at \link http://www.cantrip.org/emptyopt.html
- **/
-
-template < class Data, class FunctorList >
-struct data_with_functor_bag :
-
- public mpl::inherit_linearly<
-
- FunctorList,
- mpl::if_< is_base_of< mpl::_2, mpl::_1 >,
- // {
- mpl::_1,
- // }
- // else
- // {
- mpl::inherit< mpl::_1, mpl::_2 >
- // }
- >
-
- >::type
-{
- Data data;
-
- data_with_functor_bag() {}
-
- data_with_functor_bag(BOOST_DEDUCED_TYPENAME add_reference<Data>::type d)
- : data(d) {}
-
- template< class Functor >
- Functor& functor()
- {
- return *(static_cast<Functor*>(this));
- }
-
- template< class Functor >
- const Functor& functor() const
- {
- return *(static_cast<Functor const *>(this));
- }
-};
-
-} // namespace detail
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_FUNCTOR_BAG_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp
deleted file mode 100644
index 4f79cfc167..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp
+++ /dev/null
@@ -1,191 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/detail/identity_converters.hpp
-/// \brief Value and iterators identity converters.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Details of the container adaptor toolbox
-
-namespace detail {
-
-/// \brief Iterator identity converter used by default in container adaptors.
-/**
-If Iterator and ConstIterator are of the same type one of the convert function is not
-included.
- **/
-
-template
-<
- class BaseIterator , class Iterator,
- class BaseConstIterator , class ConstIterator
->
-struct iterator_to_base_identity
-{
- BaseIterator operator()(Iterator iter) const
- {
- return BaseIterator(iter);
- }
-
- BaseConstIterator operator()(ConstIterator iter) const
- {
- return BaseConstIterator(iter);
- }
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class BaseIterator, class Iterator >
-struct iterator_to_base_identity<BaseIterator,Iterator,BaseIterator,Iterator>
-{
- BaseIterator operator()(Iterator iter) const
- {
- return BaseIterator(iter);
- }
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief Iterator from base identity converter used by default in container adaptors.
-/**
-If Iterator and ConstIterator are of the same type one of the convert function is not
-included.
- **/
-
-template
-<
- class BaseIterator , class Iterator,
- class BaseConstIterator , class ConstIterator
->
-struct iterator_from_base_identity
-{
- Iterator operator()(BaseIterator iter) const
- {
- return Iterator(iter);
- }
- ConstIterator operator()(BaseConstIterator iter) const
- {
- return ConstIterator(iter);
- }
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class BaseIterator, class Iterator, class ConstIterator >
-struct iterator_from_base_identity<BaseIterator,Iterator,BaseIterator,ConstIterator>
-{
- Iterator operator()(BaseIterator iter) const
- {
- return Iterator(iter);
- }
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief Value to base identity converter used by default in container adaptors.
-
-template< class BaseValue, class Value >
-struct value_to_base_identity
-{
- BaseValue operator()(const Value & val) const
- {
- return BaseValue(val);
- }
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class Value >
-struct value_to_base_identity< Value, Value >
-{
- const Value & operator()(const Value & val) const
- {
- return val;
- }
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief Value from base identity converter used by default in container adaptors.
-
-template< class BaseValue, class Value >
-struct value_from_base_identity
-{
- Value operator()(const BaseValue & val) const
- {
- return Value(val);
- }
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class Value >
-struct value_from_base_identity<Value,Value>
-{
- Value & operator()(Value & val) const
- {
- return val;
- }
-
- const Value & operator()(const Value & val) const
- {
- return val;
- }
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief Key to base identity converter used by default in container adaptors.
-
-template< class BaseKey, class Key >
-struct key_to_base_identity
-{
- BaseKey operator()(const Key & k) const
- {
- return BaseKey(k);
- }
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class Key >
-struct key_to_base_identity< Key, Key >
-{
- // As default accept any type as key in order to allow container
- // adaptors to work with compatible key types
-
- template< class CompatibleKey >
- const CompatibleKey & operator()(const CompatibleKey & k) const
- {
- return k;
- }
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-} // namespace detail
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/key_extractor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/key_extractor.hpp
deleted file mode 100644
index 2dca1da210..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/key_extractor.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/detail/key_extractor.hpp
-/// \brief Key extractor for a pair<Key,Data>.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_KEY_EXTRACTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_KEY_EXTRACTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-namespace detail {
-
-/// \brief Key Extractor
-
-template < class T >
-struct key_from_pair_extractor
-{
- typedef T argument_type;
- typedef BOOST_DEDUCED_TYPENAME T::first_type result_type;
-
- result_type operator()( const T & p ) { return p.first; }
-};
-
-} // namespace detail
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_KEY_EXTRACTOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp
deleted file mode 100644
index 25ba2f56cd..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/detail/non_unique_container_helper.hpp
-/// \brief Details for non unique containers
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-/*****************************************************************************/
-#define BOOST_BIMAP_NON_UNIQUE_CONTAINER_ADAPTOR_INSERT_FUNCTIONS \
- \
-template <class InputIterator> \
-void insert(InputIterator iterBegin, InputIterator iterEnd) \
-{ \
- for( ; iterBegin != iterEnd ; ++iterBegin ) \
- { \
- this->base().insert( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()( \
- BOOST_DEDUCED_TYPENAME base_::value_type(*iterBegin)) ); \
- } \
-} \
- \
-BOOST_DEDUCED_TYPENAME base_::iterator insert( \
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
-{ \
- return this->base().insert( this->template functor< \
- BOOST_DEDUCED_TYPENAME base_:: \
- value_to_base>()(x) ); \
-} \
- \
-BOOST_DEDUCED_TYPENAME base_::iterator \
- insert(BOOST_DEDUCED_TYPENAME base_::iterator pos, \
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
-{ \
- return this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()( \
- this->base().insert(this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(pos), \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x)) \
- ); \
-}
-/*****************************************************************************/
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_adaptor.hpp
deleted file mode 100644
index 62f2031855..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_adaptor.hpp
+++ /dev/null
@@ -1,249 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/list_adaptor.hpp
-/// \brief Container adaptor to easily build a std::list signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/sequence_container_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/comparison_adaptor.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/call_traits.hpp>
-#include <functional>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::list signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class list_adaptor :
-
- public ::boost::bimaps::container_adaptor::sequence_container_adaptor
- <
- Base, Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
- typedef ::boost::bimaps::container_adaptor::sequence_container_adaptor
- <
- Base, Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit list_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef list_adaptor list_adaptor_;
-
- // Interface -------------------------------------------------------------
-
- public:
-
- void splice(Iterator position, list_adaptor & x)
- {
- this->base().splice(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()
- (position),
- x.base()
- );
- }
-
- void splice(Iterator position, list_adaptor & x, Iterator i)
- {
- this->base().splice(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()
- (position),
- x.base(),
- this->template functor<BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(i)
- );
- }
-
- void splice(Iterator position, list_adaptor & x,
- Iterator first, Iterator last)
- {
- this->base().splice(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()
- (position),
- x.base(),
- this->template functor<BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(first),
- this->template functor<BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(last)
- );
- }
-
- void remove(
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type
- >::param_type value
- )
- {
- this->base().remove(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_to_base>()(value)
- );
- }
-
- template< class Predicate >
- void remove_if(Predicate pred)
- {
- this->base().remove_if(
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- Predicate,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( pred, this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
- );
- }
-
- void unique()
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::equal_to<BOOST_DEDUCED_TYPENAME base_::value_type>,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >(
- std::equal_to<BOOST_DEDUCED_TYPENAME base_::value_type>(),
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- )
- );
- }
-
- template< class BinaryPredicate >
- void unique(BinaryPredicate binary_pred)
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- BinaryPredicate,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( binary_pred,
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
- );
- }
-
- void merge(list_adaptor & x)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >(
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>(),
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- )
- );
- }
-
- template< class Compare >
- void merge(list_adaptor & x, Compare comp)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( comp, this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
- );
- }
-
- void sort()
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >(
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>(),
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- )
- );
- }
-
- template< class Compare >
- void sort(Compare comp)
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( comp, this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
- );
- }
-
- void reverse()
- {
- this->base().reverse();
- }
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_SET_ADAPTOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_map_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_map_adaptor.hpp
deleted file mode 100644
index 4fc5cdffe5..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/list_map_adaptor.hpp
+++ /dev/null
@@ -1,283 +0,0 @@
- // Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/list_map_adaptor.hpp
-/// \brief Container adaptor.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_MAP_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_MAP_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/push_front.hpp>
-
-#include <boost/bimap/container_adaptor/list_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/identity_converters.hpp>
-#include <boost/bimap/container_adaptor/detail/key_extractor.hpp>
-#include <boost/bimap/container_adaptor/detail/comparison_adaptor.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template
-<
- class Base, class Iterator, class ConstIterator,
- class ReverseIterator, class ConstReverseIterator,
- class IteratorToBaseConverter, class IteratorFromBaseConverter,
- class ReverseIteratorFromBaseConverter,
- class ValueToBaseConverter, class ValueFromBaseConverter,
- class KeyFromBaseValueConverter,
- class FunctorsFromDerivedClasses
->
-struct list_map_adaptor_base
-{
- typedef list_adaptor
- <
- Base,
-
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
-
- IteratorToBaseConverter, IteratorFromBaseConverter,
-
- ReverseIteratorFromBaseConverter,
-
- ValueToBaseConverter, ValueFromBaseConverter,
-
- BOOST_DEDUCED_TYPENAME mpl::push_front<
-
- FunctorsFromDerivedClasses,
-
- BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<KeyFromBaseValueConverter>,
- // {
- detail::key_from_pair_extractor
- <
- BOOST_DEDUCED_TYPENAME Iterator::value_type
- >,
- // }
- // else
- // {
- KeyFromBaseValueConverter
- // }
-
- >::type
-
- >::type
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief Container adaptor to easily build a list map container
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyFromBaseValueConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class list_map_adaptor :
-
- public list_map_adaptor_base
- <
- Base, Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyFromBaseValueConverter,
- FunctorsFromDerivedClasses
-
- >::type
-{
- typedef BOOST_DEDUCED_TYPENAME list_map_adaptor_base
- <
- Base, Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyFromBaseValueConverter,
- FunctorsFromDerivedClasses
-
- >::type base_;
-
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type key_type;
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::second_type data_type;
- typedef data_type mapped_type;
-
- protected:
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_< ::boost::mpl::is_na<KeyFromBaseValueConverter>,
- // {
- detail::key_from_pair_extractor< BOOST_DEDUCED_TYPENAME Iterator::value_type >,
- // }
- // else
- // {
- KeyFromBaseValueConverter
- // }
-
- >::type key_from_base_value;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit list_map_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef list_map_adaptor list_map_adaptor_;
-
- // Functions -------------------------------------------------------------
-
- public:
-
- // The following functions are overwritten in order to work
- // with key_type instead of value_type
-
- template< class Predicate >
- void remove_if(Predicate pred)
- {
- this->base().remove_if(
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- Predicate,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- key_from_base_value
-
- >( pred, this->template functor<key_from_base_value>() )
- );
- }
-
- void unique()
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::equal_to<key_type>,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- key_from_base_value
-
- >(
- std::equal_to<key_type>(),
- this->template functor<key_from_base_value>()
- )
- );
- }
-
- template< class BinaryPredicate >
- void unique(BinaryPredicate binary_pred)
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- BinaryPredicate,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- key_from_base_value
-
- >( binary_pred, this->template functor<key_from_base_value>() )
- );
- }
-
- void merge(list_map_adaptor & x)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<key_type>,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- key_from_base_value
-
- >(
- std::less<key_type>(),
- this->template functor<key_from_base_value>()
- )
- );
- }
-
- template< class Compare >
- void merge(list_map_adaptor & x, Compare comp)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- key_from_base_value
-
- >( comp, this->template functor<key_from_base_value>() )
- );
- }
-
- void sort()
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<key_type>,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- key_from_base_value
-
- >(
- std::less<key_type>(),
- this->template functor<key_from_base_value>()
- )
- );
- }
-
- template< class Compare >
- void sort(Compare comp)
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME Base::value_type,
- key_from_base_value
-
- >( comp, this->template functor<key_from_base_value>() )
- );
- }
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_MAP_ADAPTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/map_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/map_adaptor.hpp
deleted file mode 100644
index 04050cd28d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/map_adaptor.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/map_adaptor.hpp
-/// \brief Container adaptor to easily build a std::map signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/call_traits.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::map signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class map_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
-
- typedef ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::second_type data_type;
- typedef data_type mapped_type;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit map_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef map_adaptor map_adaptor_;
-
- // Interface --------------------------------------------------------------
-
- public:
-
- template< class CompatibleKey >
- data_type& operator[](const CompatibleKey & k)
- {
- return this->base()
- [this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k)];
- }
-
- template< class CompatibleKey >
- data_type& at(const CompatibleKey & k)
- {
- return this->base().
- at(this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k));
- }
-
- template< class CompatibleKey >
- const data_type& at(const CompatibleKey & k) const
- {
- return this->base().
- at(this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k));
- }
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multimap_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multimap_adaptor.hpp
deleted file mode 100644
index 419fb279d1..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multimap_adaptor.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/multimap_adaptor.hpp
-/// \brief Container adaptor to easily build a std::multimap signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_MULTIMAP_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_MULTIMAP_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::multimap signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class multimap_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
- typedef ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::second_type data_type;
- typedef data_type mapped_type;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit multimap_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef multimap_adaptor multimap_adaptor_;
-
- public:
-
- BOOST_BIMAP_NON_UNIQUE_CONTAINER_ADAPTOR_INSERT_FUNCTIONS
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_MULTIMAP_ADAPTOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multiset_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multiset_adaptor.hpp
deleted file mode 100644
index 660acaf98e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/multiset_adaptor.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/multiset_adaptor.hpp
-/// \brief Container adaptor to easily build a std::multiset signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_MULTISET_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_MULTISET_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::multiset signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class multiset_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
-
- typedef ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit multiset_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef multiset_adaptor multiset_adaptor_;
-
- public:
-
- BOOST_BIMAP_NON_UNIQUE_CONTAINER_ADAPTOR_INSERT_FUNCTIONS
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_MULTISET_ADAPTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp
deleted file mode 100644
index 8b8db0613c..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp
+++ /dev/null
@@ -1,312 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/ordered_associative_container_adaptor.hpp
-/// \brief Container adaptor to build a type that is compliant to the concept of an ordered associative container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_ORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_ORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/associative_container_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/comparison_adaptor.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/operators.hpp>
-#include <boost/call_traits.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template
-<
- class Base, class Iterator, class ConstIterator,
- class ReverseIterator, class ConstReverseIterator, class KeyType,
- class IteratorToBaseConverter, class IteratorFromBaseConverter,
- class ReverseIteratorFromBaseConverter,
- class ValueToBaseConverter, class ValueFromBaseConverter,
- class KeyToBaseConverter,
- class FunctorsFromDerivedClasses
->
-struct ordered_associative_container_adaptor_base
-{
- typedef associative_container_adaptor<
- Base, Iterator, ConstIterator, KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter, KeyToBaseConverter,
-
- BOOST_DEDUCED_TYPENAME mpl::push_front<
-
- FunctorsFromDerivedClasses,
-
- BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::mpl::is_na<ReverseIteratorFromBaseConverter>,
- // {
- detail::iterator_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::reverse_iterator,
- ReverseIterator,
- BOOST_DEDUCED_TYPENAME Base::const_reverse_iterator,
- ConstReverseIterator
- >,
- // }
- // else
- // {
- ReverseIteratorFromBaseConverter
- // }
-
- >::type
-
- >::type
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief Container adaptor to build a type that is compliant to the concept of an ordered associative container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class KeyType,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class ordered_associative_container_adaptor :
-
- public ordered_associative_container_adaptor_base
- <
- Base, Iterator, ConstIterator,
- ReverseIterator, ConstReverseIterator, KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter, KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type,
-
- ::boost::totally_ordered
- <
- ordered_associative_container_adaptor
- <
- Base, Iterator, ConstIterator,
- ReverseIterator, ConstReverseIterator,
- KeyType, IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter, FunctorsFromDerivedClasses
- >
- >
-{
- // MetaData -------------------------------------------------------------
-
- typedef BOOST_DEDUCED_TYPENAME ordered_associative_container_adaptor_base
- <
- Base, Iterator, ConstIterator,
- ReverseIterator, ConstReverseIterator, KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter, KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type base_;
-
- public:
-
- typedef detail::compatible_comparison_adaptor
- <
- BOOST_DEDUCED_TYPENAME Base::key_compare,
- BOOST_DEDUCED_TYPENAME base_::key_type,
- BOOST_DEDUCED_TYPENAME base_::key_to_base
-
- > key_compare;
-
- typedef detail::comparison_adaptor
- <
- BOOST_DEDUCED_TYPENAME Base::value_compare,
- BOOST_DEDUCED_TYPENAME base_::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_to_base
-
- > value_compare;
-
- typedef ReverseIterator reverse_iterator;
- typedef ConstReverseIterator const_reverse_iterator;
-
- protected:
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::mpl::is_na<ReverseIteratorFromBaseConverter>,
- // {
- detail::iterator_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::reverse_iterator,
- reverse_iterator,
- BOOST_DEDUCED_TYPENAME Base::const_reverse_iterator,
- const_reverse_iterator
- >,
- // }
- // else
- // {
- ReverseIteratorFromBaseConverter
- // }
-
- >::type reverse_iterator_from_base;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit ordered_associative_container_adaptor(Base & c)
- : base_(c) {}
-
- protected:
-
- typedef ordered_associative_container_adaptor
- ordered_associative_container_adaptor_;
-
- // Interface --------------------------------------------------------------
-
- public:
-
- reverse_iterator rbegin()
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rbegin() );
-
- }
-
- reverse_iterator rend()
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rend() );
- }
-
- const_reverse_iterator rbegin() const
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rbegin() );
- }
-
- const_reverse_iterator rend() const
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rend() );
- }
-
- key_compare key_comp() const
- {
- typedef BOOST_DEDUCED_TYPENAME base_::key_to_base key_to_base_;
-
- return key_compare(
- this->base().key_comp(),
- this->template functor<key_to_base_>()
- );
- }
-
- value_compare value_comp() const
- {
- typedef BOOST_DEDUCED_TYPENAME base_::value_to_base value_to_base_;
-
- return value_compare(
- this->base().value_comp(),
- this->template functor<value_to_base_>()
- );
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::iterator lower_bound(const CompatibleKey & k)
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()(
- this->base().lower_bound(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k)
- )
- );
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::const_iterator lower_bound(const CompatibleKey & k) const
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()(
- this->base().lower_bound(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k)
- )
- );
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::iterator upper_bound(const CompatibleKey & k)
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()(
- this->base().upper_bound(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k)
- )
- );
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::const_iterator upper_bound(const CompatibleKey & k) const
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()(
- this->base().upper_bound(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k)
- )
- );
- }
-
- // Totally ordered implementation
-
- bool operator==(const ordered_associative_container_adaptor & c) const
- {
- return ( this->base() == c.base() );
- }
-
- bool operator<(const ordered_associative_container_adaptor & c) const
- {
- return ( this->base() < c.base() );
- }
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_ORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/sequence_container_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/sequence_container_adaptor.hpp
deleted file mode 100644
index 99a5e27738..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/sequence_container_adaptor.hpp
+++ /dev/null
@@ -1,356 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/sequence_container_adaptor.hpp
-/// \brief Container adaptor to build a type that is compliant to the concept of a weak associative container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_SEQUENCE_CONTAINER_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_SEQUENCE_CONTAINER_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <utility>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/bimap/container_adaptor/detail/identity_converters.hpp>
-#include <boost/bimap/container_adaptor/container_adaptor.hpp>
-#include <boost/call_traits.hpp>
-#include <boost/operators.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template
-<
- class Base, class Iterator, class ConstIterator,
- class ReverseIterator, class ConstReverseIterator,
- class IteratorToBaseConverter, class IteratorFromBaseConverter,
- class ReverseIteratorFromBaseConverter,
- class ValueToBaseConverter, class ValueFromBaseConverter,
- class FunctorsFromDerivedClasses
->
-struct sequence_container_adaptor_base
-{
- typedef container_adaptor
- <
- Base, Iterator, ConstIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
-
- BOOST_DEDUCED_TYPENAME mpl::push_front<
-
- FunctorsFromDerivedClasses,
-
- BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::mpl::is_na<ReverseIteratorFromBaseConverter>,
- // {
- detail::iterator_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::reverse_iterator,
- ReverseIterator,
- BOOST_DEDUCED_TYPENAME Base::const_reverse_iterator,
- ConstReverseIterator
- >,
- // }
- // else
- // {
- ReverseIteratorFromBaseConverter
- // }
-
- >::type
-
- >::type
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief Container adaptor to build a type that is compliant to the concept of a sequence container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
-
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class sequence_container_adaptor :
-
- public sequence_container_adaptor_base
- <
- Base, Iterator, ConstIterator,
- ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type,
-
- ::boost::totally_ordered
- <
- sequence_container_adaptor
- <
- Base, Iterator, ConstIterator,
- ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
- >
- >
-{
- typedef BOOST_DEDUCED_TYPENAME sequence_container_adaptor_base
- <
- Base, Iterator, ConstIterator,
- ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type base_;
-
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef ReverseIterator reverse_iterator;
- typedef ConstReverseIterator const_reverse_iterator;
-
- protected:
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::mpl::is_na<ReverseIteratorFromBaseConverter>,
- // {
- detail::iterator_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::reverse_iterator,
- reverse_iterator,
- BOOST_DEDUCED_TYPENAME Base::const_reverse_iterator,
- const_reverse_iterator
- >,
- // }
- // else
- // {
- ReverseIteratorFromBaseConverter
- // }
-
- >::type reverse_iterator_from_base;
-
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit sequence_container_adaptor(Base & c)
- : base_(c) {}
-
- protected:
-
-
- typedef sequence_container_adaptor sequence_container_adaptor_;
-
- // Interface --------------------------------------------------------------
-
- public:
-
- reverse_iterator rbegin()
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rbegin() );
-
- }
-
- reverse_iterator rend()
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rend() );
- }
-
- const_reverse_iterator rbegin() const
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rbegin() );
- }
-
- const_reverse_iterator rend() const
- {
- return this->template functor<
- reverse_iterator_from_base
- >() ( this->base().rend() );
- }
-
- void resize(BOOST_DEDUCED_TYPENAME base_::size_type n,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x =
- BOOST_DEDUCED_TYPENAME base_::value_type())
- {
- this->base().resize(n,
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference front()
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- (
- this->base().front()
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference back()
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- (
- this->base().back()
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference front() const
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- (
- this->base().front()
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference back() const
- {
- return this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- (
- this->base().back()
- );
- }
-
- void push_front(
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x)
- {
- this->base().push_front(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x));
- }
-
- void pop_front()
- {
- this->base().pop_front();
- }
-
- void push_back(
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x)
- {
- this->base().push_back(
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x));
- }
-
- void pop_back()
- {
- this->base().pop_back();
- }
-
- std::pair<BOOST_DEDUCED_TYPENAME base_::iterator,bool>
- insert(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x)
- {
- std::pair< BOOST_DEDUCED_TYPENAME Base::iterator, bool > r(
- this->base().insert(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_to_base >()(x)
- )
- );
-
- return std::pair<BOOST_DEDUCED_TYPENAME base_::iterator, bool>(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()(r.first),
- r.second
- );
- }
-
- void insert(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::size_type m,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x)
- {
- this->base().insert(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- m,
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_to_base >()(x)
- );
- }
-
- template< class InputIterator >
- void insert(BOOST_DEDUCED_TYPENAME base_::iterator position,
- InputIterator first, InputIterator last)
- {
- // This is the same problem found in the insert function
- // of container_adaptor
- // For now, do the simple thing. This can be optimized
-
- for( ; first != last ; ++first )
- {
- this->base().insert(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()( position ),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_to_base >()( *first )
- );
- }
- }
-
- // Totally ordered implementation
-
- bool operator==(const sequence_container_adaptor & c) const
- {
- return ( this->base() == c.base() );
- }
-
- bool operator<(const sequence_container_adaptor & c) const
- {
- return ( this->base() < c.base() );
- }
-};
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_SEQUENCE_CONTAINER_ADAPTOR_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/set_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/set_adaptor.hpp
deleted file mode 100644
index c6ba052c5f..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/set_adaptor.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/set_adaptor.hpp
-/// \brief Container adaptor to easily build a std::set signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_SET_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_SET_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/aux_/na.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::set signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class set_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
-
- typedef ::boost::bimaps::container_adaptor::
- ordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit set_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef set_adaptor set_adaptor_;
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_SET_ADAPTOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp
deleted file mode 100644
index 98c32b0cad..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/support/iterator_facade_converters.hpp
-/// \brief Converter for Boost.Iterators based iterators.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Utilities to help in the construction of a container adaptor
-
-namespace support {
-
-/// \brief Converter for Boost.Iterators based iterators.
-/**
-Container adaptor is designed to play well with Boost.Iterators. This
-converter can be used if this library is used to adapt the iterators.
- **/
-template
-<
- class Iterator,
- class ConstIterator
->
-struct iterator_facade_to_base
-{
- BOOST_DEDUCED_TYPENAME Iterator::base_type operator()(Iterator iter) const
- {
- return iter.base();
- }
-
- BOOST_DEDUCED_TYPENAME ConstIterator::base_type operator()(ConstIterator iter) const
- {
- return iter.base();
- }
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template
-<
- class Iterator
->
-struct iterator_facade_to_base<Iterator,Iterator>
-{
- BOOST_DEDUCED_TYPENAME Iterator::base_type operator()(Iterator iter) const
- {
- return iter.base();
- }
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#undef BOOST_BIMAP_CONTAINER_ADAPTOR_IMPLEMENT_CONVERT_FACADE_FUNCTION
-
-
-} // namespace support
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp
deleted file mode 100644
index 7ecffcf7d7..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/unordered_associative_container_adaptor.hpp
-/// \brief Container adaptor to build a type that is compliant to the concept of an unordered associative container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/associative_container_adaptor.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/call_traits.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template
-<
- class Base, class Iterator, class ConstIterator,
- class LocalIterator, class ConstLocalIterator,
- class KeyType,
- class IteratorToBaseConverter, class IteratorFromBaseConverter,
- class LocalIteratorFromBaseConverter,
- class ValueToBaseConverter, class ValueFromBaseConverter,
- class KeyToBaseConverter,
- class FunctorsFromDerivedClasses
->
-struct unordered_associative_container_adaptor_base
-{
-
- typedef associative_container_adaptor
- <
- Base, Iterator, ConstIterator, KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ValueToBaseConverter , ValueFromBaseConverter,
- KeyToBaseConverter,
-
- BOOST_DEDUCED_TYPENAME mpl::push_front<
-
- FunctorsFromDerivedClasses,
-
- BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::mpl::is_na<LocalIteratorFromBaseConverter>,
- // {
- detail::iterator_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::local_iterator,
- LocalIterator,
- BOOST_DEDUCED_TYPENAME Base::const_local_iterator,
- ConstLocalIterator
- >,
- // }
- // else
- // {
- LocalIteratorFromBaseConverter
- // }
-
- >::type
-
- >::type
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-
-/// \brief Container adaptor to build a type that is compliant to the concept of an unordered associative container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
-
- class LocalIterator,
- class ConstLocalIterator,
-
- class KeyType,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class LocalIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
-
->
-class unordered_associative_container_adaptor :
-
- public unordered_associative_container_adaptor_base
- <
- Base, Iterator, ConstIterator,
- LocalIterator, ConstLocalIterator,
- KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type
-{
- typedef BOOST_DEDUCED_TYPENAME unordered_associative_container_adaptor_base
- <
- Base, Iterator, ConstIterator,
- LocalIterator, ConstLocalIterator,
- KeyType,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- >::type base_;
-
- // Metadata ---------------------------------------------------------------
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME Base::key_equal key_equal;
- typedef BOOST_DEDUCED_TYPENAME Base::hasher hasher;
-
- typedef LocalIterator local_iterator;
- typedef ConstLocalIterator const_local_iterator;
-
- protected:
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::mpl::is_na<LocalIteratorFromBaseConverter>,
- // {
- detail::iterator_from_base_identity
- <
- BOOST_DEDUCED_TYPENAME Base::local_iterator,
- local_iterator,
- BOOST_DEDUCED_TYPENAME Base::const_local_iterator,
- const_local_iterator
- >,
- // }
- // else
- // {
- LocalIteratorFromBaseConverter
- // }
-
- >::type local_iterator_from_base;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit unordered_associative_container_adaptor(Base & c)
- : base_(c) {}
-
- protected:
-
-
- typedef unordered_associative_container_adaptor
- unordered_associative_container_adaptor_;
-
- // Interface --------------------------------------------------------------
-
- public:
-
- // bucket interface:
-
- BOOST_DEDUCED_TYPENAME base_::size_type bucket_count() const
- {
- return this->base().bucket_count();
- }
-
- BOOST_DEDUCED_TYPENAME base_::size_type max_bucket_count() const
- {
- return this->base().max_bucket_count();
- }
-
- BOOST_DEDUCED_TYPENAME base_::size_type bucket_size(
- BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->base().bucket_size(n);
- }
-
- template< class CompatibleKey >
- BOOST_DEDUCED_TYPENAME base_::size_type bucket(
- const CompatibleKey & k) const
- {
- typedef BOOST_DEDUCED_TYPENAME base_::key_to_base key_to_base;
- return this->base().bucket(
- this->template functor<key_to_base>()(k)
- );
- }
-
- local_iterator begin(BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<
- local_iterator_from_base
- >() ( this->base().begin(n) );
- }
-
- const_local_iterator begin(BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<
- local_iterator_from_base
- >() ( this->base().begin(n) );
- }
-
- local_iterator end(BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<
- local_iterator_from_base
- >() ( this->base().end(n) );
- }
-
- const_local_iterator end(BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<
- local_iterator_from_base
- >() ( this->base().end(n) );
- }
-
- // hash policy
-
- float load_factor() const
- {
- return this->base().load_factor();
- }
-
- float max_load_factor() const
- {
- return this->base().max_load_factor();
- }
-
- void max_load_factor(float z)
- {
- return this->base().max_load_factor(z);
- }
-
- void rehash(BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->base().rehash(n);
- }
-
- // We have redefined end and begin so we have to manually route the old ones
-
- BOOST_DEDUCED_TYPENAME base_::iterator begin()
- {
- return base_::container_adaptor_::begin();
- }
-
- BOOST_DEDUCED_TYPENAME base_::iterator end()
- {
- return base_::container_adaptor_::end();
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_iterator begin() const
- {
- return base_::container_adaptor_::begin();
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_iterator end() const
- {
- return base_::container_adaptor_::end();
- }
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_map_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_map_adaptor.hpp
deleted file mode 100644
index d5a38ad404..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_map_adaptor.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/unordered_map_adaptor.hpp
-/// \brief Container adaptor to easily build a std::unordered_map signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MAP_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MAP_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/call_traits.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::unordered_map signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class LocalIterator,
- class ConstLocalIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class LocalIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class unordered_map_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
-
- typedef ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::second_type data_type;
- typedef data_type mapped_type;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit unordered_map_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef unordered_map_adaptor unordered_map_adaptor_;
-
- // Interface --------------------------------------------------------------
-
- public:
-
- template< class CompatibleKey >
- data_type& operator[](const CompatibleKey & k)
- {
- return this->base()
- [this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k)];
- }
-
- template< class CompatibleKey >
- data_type& at(const CompatibleKey & k)
- {
- return this->base().
- at(this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k));
- }
-
- template< class CompatibleKey >
- const data_type& at(const CompatibleKey & k) const
- {
- return this->base().
- at(this->template functor<BOOST_DEDUCED_TYPENAME base_::key_to_base>()(k));
- }
-
-};
-
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MAP_ADAPTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp
deleted file mode 100644
index 473ed49e2e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/unordered_multimap_adaptor.hpp
-/// \brief Container adaptor to easily build a std::unordered_multimap signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTIMAP_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTIMAP_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::unordered_multimap signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class LocalIterator,
- class ConstLocalIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class LocalIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class unordered_multimap_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
- typedef ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::second_type data_type;
- typedef data_type mapped_type;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit unordered_multimap_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef unordered_multimap_adaptor unordered_multimap_adaptor_;
-
- public:
-
- BOOST_BIMAP_NON_UNIQUE_CONTAINER_ADAPTOR_INSERT_FUNCTIONS
-};
-
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTIMAP_ADAPTOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp
deleted file mode 100644
index 5406e8793f..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/unordered_multiset_adaptor.hpp
-/// \brief Container adaptor to easily build a std::unordered_multiset signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTISET_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTISET_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::unordered_multiset signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class LocalIterator,
- class ConstLocalIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class LocalIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class unordered_multiset_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
- typedef ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit unordered_multiset_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef unordered_multiset_adaptor unordered_multiset_adaptor_;
-
- public:
-
- BOOST_BIMAP_NON_UNIQUE_CONTAINER_ADAPTOR_INSERT_FUNCTIONS
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTISET_ADAPTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp
deleted file mode 100644
index 840f02b051..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/unordered_set_adaptor.hpp
-/// \brief Container adaptor to easily build a std::unordered_set signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::unordered_set signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class LocalIterator,
- class ConstLocalIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class LocalIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
- class KeyToBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class unordered_set_adaptor :
-
- public ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
- typedef ::boost::bimaps::container_adaptor::
- unordered_associative_container_adaptor
- <
- Base,
- Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
- BOOST_DEDUCED_TYPENAME Iterator::value_type,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- LocalIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- KeyToBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- explicit unordered_set_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef unordered_set_adaptor unordered_set_adaptor_;
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_adaptor.hpp
deleted file mode 100644
index e1d9cfae43..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_adaptor.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/vector_adaptor.hpp
-/// \brief Container adaptor to easily build a std::vector signature compatible container.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/sequence_container_adaptor.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/vector.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor to easily build a std::vector signature compatible container.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class vector_adaptor :
-
- public ::boost::bimaps::container_adaptor::sequence_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
-
- typedef ::boost::bimaps::container_adaptor::sequence_container_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- vector_adaptor() {}
-
- explicit vector_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef vector_adaptor vector_adaptor_;
-
- // Interface --------------------------------------------------------------
-
- public:
-
- BOOST_DEDUCED_TYPENAME base_::size_type capacity() const
- {
- return this->base().capacity();
- }
-
- void reserve(BOOST_DEDUCED_TYPENAME base_::size_type m)
- {
- this->base().resize(m);
- }
-
- void resize(BOOST_DEDUCED_TYPENAME base_::size_type n,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x =
- BOOST_DEDUCED_TYPENAME base_::value_type())
- {
- this->base().resize(n,
- this->template functor<BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference
- operator[](BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().operator[](n)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference
- at(BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().at(n)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference
- operator[](BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().operator[](n)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference
- at(BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().at(n)
- );
- }
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_ADAPTOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_map_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_map_adaptor.hpp
deleted file mode 100644
index b0dfe92586..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/vector_map_adaptor.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file container_adaptor/vector_map_adaptor.hpp
-/// \brief Container adaptor.
-
-#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_MAP_ADAPTOR_HPP
-#define BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_MAP_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/bimap/container_adaptor/vector_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/identity_converters.hpp>
-#include <boost/mpl/vector.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace container_adaptor {
-
-/// \brief Container adaptor.
-
-template
-<
- class Base,
-
- class Iterator,
- class ConstIterator,
- class ReverseIterator,
- class ConstReverseIterator,
-
- class IteratorToBaseConverter = ::boost::mpl::na,
- class IteratorFromBaseConverter = ::boost::mpl::na,
- class ReverseIteratorFromBaseConverter = ::boost::mpl::na,
- class ValueToBaseConverter = ::boost::mpl::na,
- class ValueFromBaseConverter = ::boost::mpl::na,
-
- class FunctorsFromDerivedClasses = mpl::vector<>
->
-class vector_map_adaptor :
-
- public vector_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
- >
-{
- typedef vector_adaptor
- <
- Base,
- Iterator, ConstIterator, ReverseIterator, ConstReverseIterator,
- IteratorToBaseConverter, IteratorFromBaseConverter,
- ReverseIteratorFromBaseConverter,
- ValueToBaseConverter, ValueFromBaseConverter,
- FunctorsFromDerivedClasses
-
- > base_;
-
- // MetaData -------------------------------------------------------------
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::first_type key_type;
- typedef BOOST_DEDUCED_TYPENAME Iterator::value_type::second_type data_type;
- typedef data_type mapped_type;
-
- // Access -----------------------------------------------------------------
-
- public:
-
- vector_map_adaptor() {}
-
- explicit vector_map_adaptor(Base & c) :
- base_(c) {}
-
- protected:
-
- typedef vector_map_adaptor vector_map_adaptor_;
-
-};
-
-
-} // namespace container_adaptor
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_MAP_ADAPTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/bimap_core.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/bimap_core.hpp
deleted file mode 100644
index 0d2ca99b88..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/bimap_core.hpp
+++ /dev/null
@@ -1,478 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/bimap_core.hpp
-/// \brief Bimap base definition.
-
-#ifndef BOOST_BIMAP_DETAIL_BIMAP_CORE_HPP
-#define BOOST_BIMAP_DETAIL_BIMAP_CORE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/vector.hpp>
-
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/concept_check.hpp>
-
-// Boost.MultiIndex
-#include <boost/multi_index_container.hpp>
-#include <boost/multi_index/member.hpp>
-
-// Boost.Bimap
-#include <boost/bimap/relation/mutant_relation.hpp>
-#include <boost/bimap/relation/member_at.hpp>
-#include <boost/bimap/relation/support/data_extractor.hpp>
-#include <boost/bimap/tags/support/default_tagged.hpp>
-#include <boost/bimap/tags/tagged.hpp>
-#include <boost/bimap/detail/manage_bimap_key.hpp>
-#include <boost/bimap/detail/manage_additional_parameters.hpp>
-#include <boost/bimap/detail/map_view_iterator.hpp>
-#include <boost/bimap/detail/set_view_iterator.hpp>
-
-#include <boost/bimap/set_of.hpp>
-#include <boost/bimap/unconstrained_set_of.hpp>
-#include <boost/core/allocator_access.hpp>
-
-namespace boost {
-namespace bimaps {
-
-/// \brief Library details
-
-namespace detail {
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class Type >
-struct get_value_type
-{
- typedef BOOST_DEDUCED_TYPENAME Type::value_type type;
-};
-
-struct independent_index_tag {};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-
-/// \brief Base for the bimap class.
-/**
-
-
-See also bimap.
- **/
-
-
-template< class LeftSetType, class RightSetType, class AP1, class AP2, class AP3 >
-class bimap_core
-{
- // Manage bimap key instantiation
- // --------------------------------------------------------------------
- public:
-
- typedef BOOST_DEDUCED_TYPENAME manage_bimap_key
- <
- LeftSetType
-
- >::type left_set_type;
-
- typedef BOOST_DEDUCED_TYPENAME manage_bimap_key
- <
- RightSetType
-
- >::type right_set_type;
-
-
- private:
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::default_tagged
- <
- BOOST_DEDUCED_TYPENAME left_set_type::user_type,
- ::boost::bimaps::relation::member_at::left
-
- >::type left_tagged_type;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::default_tagged
- <
- BOOST_DEDUCED_TYPENAME right_set_type::user_type,
- ::boost::bimaps::relation::member_at::right
-
- >::type right_tagged_type;
-
- public:
-
- //@{
-
- typedef BOOST_DEDUCED_TYPENAME left_tagged_type::tag left_tag;
- typedef BOOST_DEDUCED_TYPENAME right_tagged_type::tag right_tag;
-
- //@}
-
- //@{
-
- typedef BOOST_DEDUCED_TYPENAME left_set_type::value_type left_key_type;
- typedef BOOST_DEDUCED_TYPENAME right_set_type::value_type right_key_type;
-
- //@}
-
- //@{
-
- typedef right_key_type left_data_type;
- typedef left_key_type right_data_type;
-
- //@}
-
- // Manage the additional parameters
- // --------------------------------------------------------------------
- private:
-
- typedef BOOST_DEDUCED_TYPENAME manage_additional_parameters<AP1,AP2,AP3>::type parameters;
-
- /// \brief Relation type stored by the bimap.
- // --------------------------------------------------------------------
- public:
-
- typedef ::boost::bimaps::relation::mutant_relation
- <
-
- ::boost::bimaps::tags::tagged<
- BOOST_DEDUCED_TYPENAME mpl::if_<
- mpl::and_
- <
- BOOST_DEDUCED_TYPENAME left_set_type::mutable_key,
- BOOST_DEDUCED_TYPENAME parameters::set_type_of_relation::left_mutable_key
- >,
- // {
- left_key_type,
- // }
- // else
- // {
- BOOST_DEDUCED_TYPENAME ::boost::add_const< left_key_type >::type
- // }
-
- >::type,
- left_tag
- >,
-
- ::boost::bimaps::tags::tagged<
- BOOST_DEDUCED_TYPENAME mpl::if_<
- mpl::and_
- <
- BOOST_DEDUCED_TYPENAME right_set_type::mutable_key,
- BOOST_DEDUCED_TYPENAME parameters::set_type_of_relation::right_mutable_key
- >,
- // {
- right_key_type,
- // }
- // else
- // {
- BOOST_DEDUCED_TYPENAME ::boost::add_const< right_key_type >::type
- // }
-
- >::type,
- right_tag
- >,
-
- // It is ::boost::mpl::na if no info_hook was included
- BOOST_DEDUCED_TYPENAME parameters::additional_info,
-
- // Force mutable keys
- true
-
- > relation;
-
- //@{
-
- typedef BOOST_DEDUCED_TYPENAME relation::left_pair left_value_type;
- typedef BOOST_DEDUCED_TYPENAME relation::right_pair right_value_type;
-
- //@}
-
- // Bind the member of the relation, so multi_index can manage them
- // --------------------------------------------------------------------
- private:
-
- typedef BOOST_DEDUCED_TYPENAME relation::storage_base relation_storage_base;
-
- typedef BOOST_MULTI_INDEX_MEMBER(relation_storage_base, left_key_type, left)
- left_member_extractor;
-
- typedef BOOST_MULTI_INDEX_MEMBER(relation_storage_base,right_key_type,right)
- right_member_extractor;
-
- // The core indices are somewhat complicated to calculate, because they
- // can be zero, one, two or three indices, depending on the use of
- // {side}_based set type of relations and unconstrained_set_of and
- // unconstrained_set_of_relation specifications.
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::bimaps::detail::is_unconstrained_set_of< left_set_type >,
- // {
- mpl::vector<>,
- // }
- // else
- // {
- mpl::vector
- <
- BOOST_DEDUCED_TYPENAME left_set_type::
- BOOST_NESTED_TEMPLATE index_bind
- <
- left_member_extractor,
- left_tag
-
- >::type
- >
- // }
- >::type left_core_indices;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::bimaps::detail::is_unconstrained_set_of< right_set_type >,
- // {
- left_core_indices,
- // }
- // else
- // {
- BOOST_DEDUCED_TYPENAME mpl::push_front
- <
- left_core_indices,
-
- BOOST_DEDUCED_TYPENAME right_set_type::
- BOOST_NESTED_TEMPLATE index_bind
- <
- right_member_extractor,
- right_tag
-
- >::type
-
- >::type
- // }
- >::type basic_core_indices;
-
- // If it is based either on the left or on the right, then only the side
- // indices are needed. But the set type of the relation can be completely
- // different from the one used for the sides in which case we have to add yet
- // another index to the core.
-
- // TODO
- // If all the set types are unsconstrained there must be readable compile
- // time error.
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
-
- is_same< BOOST_DEDUCED_TYPENAME parameters::set_type_of_relation, left_based >,
- // {
- ::boost::bimaps::tags::tagged< left_set_type, left_tag >,
- // }
- /* else */ BOOST_DEDUCED_TYPENAME mpl::if_<
- is_same< BOOST_DEDUCED_TYPENAME parameters::set_type_of_relation, right_based >,
- // {
- ::boost::bimaps::tags::tagged< right_set_type, right_tag >,
- // }
- // else
- // {
- tags::tagged
- <
- BOOST_DEDUCED_TYPENAME parameters::
- set_type_of_relation::BOOST_NESTED_TEMPLATE bind_to
- <
- relation
-
- >::type,
- independent_index_tag
- >
- // }
- >::type
- >::type tagged_set_of_relation_type;
-
- protected:
-
- typedef BOOST_DEDUCED_TYPENAME tagged_set_of_relation_type::tag
- relation_set_tag;
-
- typedef BOOST_DEDUCED_TYPENAME tagged_set_of_relation_type::value_type
- relation_set_type_of;
-
- // Logic tags
- // This is a necessary extra level of indirection to allow unconstrained
- // sets to be plug in the design. The bimap constructors use this logic
- // tags.
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::bimaps::detail::is_unconstrained_set_of< left_set_type >,
-
- BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::bimaps::detail::is_unconstrained_set_of< right_set_type >,
-
- independent_index_tag,
- right_tag
-
- >::type,
-
- left_tag
-
- >::type logic_left_tag;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::bimaps::detail::is_unconstrained_set_of< right_set_type >,
-
- BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::bimaps::detail::is_unconstrained_set_of< left_set_type >,
-
- independent_index_tag,
- left_tag
-
- >::type,
-
- right_tag
-
- >::type logic_right_tag;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- is_same< relation_set_tag, independent_index_tag >,
-
- BOOST_DEDUCED_TYPENAME mpl::if_<
- ::boost::bimaps::detail::
- is_unconstrained_set_of< relation_set_type_of >,
-
- logic_left_tag,
- independent_index_tag
-
- >::type,
-
- BOOST_DEDUCED_TYPENAME mpl::if_<
- is_same< BOOST_DEDUCED_TYPENAME parameters::set_type_of_relation, left_based >,
-
- logic_left_tag,
- logic_right_tag
-
- >::type
-
- >::type logic_relation_set_tag;
-
- private:
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- mpl::and_< is_same< relation_set_tag, independent_index_tag >,
- mpl::not_<
- ::boost::bimaps::detail::
- is_unconstrained_set_of< relation_set_type_of >
- >
- >,
- // {
- BOOST_DEDUCED_TYPENAME mpl::push_front
- <
- basic_core_indices,
-
- BOOST_DEDUCED_TYPENAME relation_set_type_of::
- BOOST_NESTED_TEMPLATE index_bind
- <
- ::boost::bimaps::relation::support::both_keys_extractor<relation>,
- independent_index_tag
-
- >::type
-
- >::type,
- // }
- // else
- // {
- basic_core_indices
- // }
-
- >::type complete_core_indices;
-
- struct core_indices : public complete_core_indices {};
-
- // Define the core using compute_index_type to translate the
- // set type to an multi-index specification
- // --------------------------------------------------------------------
- public:
-
- typedef multi_index::multi_index_container
- <
- relation,
- core_indices,
- BOOST_DEDUCED_TYPENAME boost::allocator_rebind<BOOST_DEDUCED_TYPENAME
- parameters::allocator, relation>::type
-
- > core_type;
-
- // Core metadata
- // --------------------------------------------------------------------
- public:
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::multi_index::
- index<core_type, logic_left_tag>::type left_index;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::multi_index::
- index<core_type,logic_right_tag>::type right_index;
-
- typedef BOOST_DEDUCED_TYPENAME left_index::iterator left_core_iterator;
- typedef BOOST_DEDUCED_TYPENAME left_index::const_iterator left_core_const_iterator;
-
- typedef BOOST_DEDUCED_TYPENAME right_index::iterator right_core_iterator;
- typedef BOOST_DEDUCED_TYPENAME right_index::const_iterator right_core_const_iterator;
-
- // Relation set view
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::multi_index::index
- <
- core_type, logic_relation_set_tag
-
- >::type relation_set_core_index;
-
- typedef BOOST_DEDUCED_TYPENAME relation_set_type_of::
- BOOST_NESTED_TEMPLATE set_view_bind
- <
- relation_set_core_index
-
- >::type relation_set;
-
- public:
-
- typedef bimap_core bimap_core_;
-};
-
-// Two auxiliary metafunctions to compute the map view types
-// The map view type can not be computed inside the bimap core because a
-// they need the bimap core to be parsed first.
-
-template< class BimapBaseType >
-struct left_map_view_type
-{
- typedef BOOST_DEDUCED_TYPENAME BimapBaseType::left_set_type left_set_type;
- typedef BOOST_DEDUCED_TYPENAME
- left_set_type::BOOST_NESTED_TEMPLATE map_view_bind<
- BOOST_DEDUCED_TYPENAME BimapBaseType::left_tag, BimapBaseType
- >::type type;
-};
-
-template< class BimapBaseType >
-struct right_map_view_type
-{
- typedef BOOST_DEDUCED_TYPENAME BimapBaseType::right_set_type right_set_type;
- typedef BOOST_DEDUCED_TYPENAME
- right_set_type::BOOST_NESTED_TEMPLATE map_view_bind<
- BOOST_DEDUCED_TYPENAME BimapBaseType::right_tag, BimapBaseType
- >::type type;
-};
-
-
-} // namespace detail
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DETAIL_BIMAP_CORE_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/concept_tags.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/concept_tags.hpp
deleted file mode 100644
index c5c9fff299..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/concept_tags.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/concept_tags.hpp
-/// \brief Bimap tags and concepts
-
-#ifndef BOOST_BIMAP_DETAIL_CONCEPT_TAGS_HPP
-#define BOOST_BIMAP_DETAIL_CONCEPT_TAGS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace detail {
-
-/// \brief Tag of {SetType}_of definition classes
-/**
-The {SetType}_of classes are derived from this class so it is easy to construct
-metafunctions. For example now is easy to create a is_set_type_of metafunction.
- **/
-
-struct set_type_of_tag {};
-
-/// \brief Tag of {SetType}_of_relation definition classes
-
-struct set_type_of_relation_tag {};
-
-/// \brief Tag of {Side}_based identifiers
-
-struct side_based_tag : set_type_of_relation_tag {};
-
-} // namespace detail
-
-
-/** \struct boost::bimaps::left_based
- \brief Tag to indicate that the main view will be based on the left side.
-
-This is convenient because the multi-index core will be more efficient.
-If possible use this options or the right based one.
-
-See also right_based.
- **/
-
-/** \struct boost::bimaps::right_based
- \brief Tag to indicate that the main view will be based on the right side.
-
-This is convenient because the multi-index core will be more efficient.
-If possible use this options or the right based one.
-
-See also left_based.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-struct left_based : ::boost::bimaps::detail::side_based_tag
-{
- // I run into troubles if I do not define bind for side based tags.
- // Maybe a more coherent way of binding the relation can be developed.
- template< class Relation > struct bind_to { typedef void type; };
-
- typedef mpl::bool_<true> left_mutable_key;
- typedef mpl::bool_<true> right_mutable_key;
-};
-
-struct right_based : ::boost::bimaps::detail::side_based_tag
-{
- // I run into troubles if I do not define bind for side based tags.
- // Maybe a more coherent way of binding the relation can be developed.
- template< class Relation > struct bind_to { typedef void type; };
-
- typedef mpl::bool_<true> left_mutable_key;
- typedef mpl::bool_<true> right_mutable_key;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-typedef mpl::_ _relation;
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_DETAIL_CONCEPT_TAGS_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/debug/static_error.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/debug/static_error.hpp
deleted file mode 100644
index 4e5cb26371..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/debug/static_error.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/debug/static_error.hpp
-/// \brief Formatted compile time error
-
-#ifndef BOOST_BIMAP_DETAIL_DEBUG_STATIC_ERROR_HPP
-#define BOOST_BIMAP_DETAIL_DEBUG_STATIC_ERROR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/assert.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-// Easier way to call BOOST_MPL_ASSERT_MSG in class scope to generate
-// a static error.
-/*===========================================================================*/
-#define BOOST_BIMAP_STATIC_ERROR(MESSAGE,VARIABLES) \
- BOOST_MPL_ASSERT_MSG(false, \
- BOOST_PP_CAT(BIMAP_STATIC_ERROR__,MESSAGE), \
- VARIABLES)
-/*===========================================================================*/
-
-
-
-#endif // BOOST_BIMAP_DETAIL_DEBUG_STATIC_ERROR_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_index_binder.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_index_binder.hpp
deleted file mode 100644
index 8c982cc17d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_index_binder.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/generate_index_binder.hpp
-/// \brief Define macros to help building the set type of definitions
-
-
-#ifndef BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP
-#define BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/multi_index/tag.hpp>
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_INDEX_BINDER_0CP( \
- \
- MULTI_INDEX_TYPE \
- \
-) \
- \
-template< class KeyExtractor, class Tag > \
-struct index_bind \
-{ \
- typedef MULTI_INDEX_TYPE \
- < \
- multi_index::tag< Tag >, \
- KeyExtractor \
- \
- > type; \
-};
-/*===========================================================================*/
-
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_INDEX_BINDER_1CP( \
- \
- MULTI_INDEX_TYPE, \
- CONFIG_PARAMETER \
- \
-) \
- \
-template< class KeyExtractor, class Tag > \
-struct index_bind \
-{ \
- typedef MULTI_INDEX_TYPE \
- < \
- multi_index::tag< Tag >, \
- KeyExtractor, \
- CONFIG_PARAMETER \
- \
- > type; \
-};
-/*===========================================================================*/
-
-
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_INDEX_BINDER_2CP( \
- \
- MULTI_INDEX_TYPE, \
- CONFIG_PARAMETER_1, \
- CONFIG_PARAMETER_2 \
-) \
- \
-template< class KeyExtractor, class Tag > \
-struct index_bind \
-{ \
- typedef MULTI_INDEX_TYPE \
- < \
- multi_index::tag< Tag >, \
- KeyExtractor, \
- CONFIG_PARAMETER_1, \
- CONFIG_PARAMETER_2 \
- \
- > type; \
- \
-};
-/*===========================================================================*/
-
-
-// This is a special registration to allow sequenced and random access indices
-// to play along smoothly with the other index types.
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_INDEX_BINDER_0CP_NO_EXTRACTOR( \
- \
- MULTI_INDEX_TYPE \
- \
-) \
- \
-template< class KeyExtractor, class Tag > \
-struct index_bind \
-{ \
- typedef MULTI_INDEX_TYPE< multi_index::tag< Tag > > type; \
-};
-/*===========================================================================*/
-
-
-// This is yet another special registration to allow unconstrained sets
-// to play along smoothly with the other index types.
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_INDEX_BINDER_FAKE \
- \
-template< class KeyExtractor, class Tag > \
-struct index_bind \
-{ \
- typedef void type; \
-}; \
-/*===========================================================================*/
-
-#endif // BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_relation_binder.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_relation_binder.hpp
deleted file mode 100644
index 6d2981633a..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_relation_binder.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/generate_relation_binder.hpp
-/// \brief Define macros to help building the set type of definitions
-
-#ifndef BOOST_BIMAP_DETAIL_GENERATE_RELATION_BINDER_HPP
-#define BOOST_BIMAP_DETAIL_GENERATE_RELATION_BINDER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/apply.hpp>
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_RELATION_BINDER_0CP( \
- \
- SET_TYPE_OF \
- ) \
- \
- template< class Relation > \
- struct bind_to \
- { \
- typedef SET_TYPE_OF<Relation> type; \
- \
- };
-/*===========================================================================*/
-
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_RELATION_BINDER_1CP( \
- \
- SET_TYPE_OF, \
- CP1 \
- ) \
- \
- template< class Relation > \
- struct bind_to \
- { \
- typedef SET_TYPE_OF \
- < \
- Relation, \
- BOOST_DEDUCED_TYPENAME mpl::apply<CP1, \
- BOOST_DEDUCED_TYPENAME Relation::storage_base >::type \
- \
- > type; \
- \
- };
-/*===========================================================================*/
-
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_RELATION_BINDER_2CP( \
- \
- SET_TYPE_OF, \
- CP1, \
- CP2 \
- ) \
- \
- template< class Relation > \
- struct bind_to \
- { \
- typedef SET_TYPE_OF \
- < \
- Relation, \
- BOOST_DEDUCED_TYPENAME mpl::apply<CP1, \
- BOOST_DEDUCED_TYPENAME Relation::storage_base >::type, \
- BOOST_DEDUCED_TYPENAME mpl::apply<CP2, \
- BOOST_DEDUCED_TYPENAME Relation::storage_base >::type \
- \
- > type; \
- \
- };
-/*===========================================================================*/
-
-
-
-#endif // BOOST_BIMAP_DETAIL_GENERATE_RELATION_BINDER_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_view_binder.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_view_binder.hpp
deleted file mode 100644
index bd1c43f8c0..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/generate_view_binder.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/generate_view_binder.hpp
-/// \brief Define macros to help building the set type of definitions
-
-#ifndef BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP
-#define BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/multi_index/tag.hpp>
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER( \
- \
- MAP_VIEW_TYPE \
- \
-) \
- \
-template< class Tag, class BimapType > \
-struct map_view_bind \
-{ \
- typedef MAP_VIEW_TYPE \
- < \
- Tag, \
- BimapType \
- \
- > type; \
-};
-/*===========================================================================*/
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_GENERATE_SET_VIEW_BINDER( \
- \
- SET_VIEW_TYPE \
- \
-) \
- \
-template< class IndexType > \
-struct set_view_bind \
-{ \
- typedef SET_VIEW_TYPE<IndexType> type; \
-};
-/*===========================================================================*/
-
-
-#endif // BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/is_set_type_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/is_set_type_of.hpp
deleted file mode 100644
index 58dad370d1..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/is_set_type_of.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/is_set_type_of.hpp
-/// \brief Is set type of and is set type of relation metafunctions.
-
-#ifndef BOOST_BIMAP_DETAIL_IS_SET_TYPE_OF_HPP
-#define BOOST_BIMAP_DETAIL_IS_SET_TYPE_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/bimap/detail/concept_tags.hpp>
-
-/** \struct boost::bimaps::detail::is_set_type_of
-
-\brief Type trait to check if a class is a set_type_of specification
-
-\code
-template< class Type >
-struct is_set_type_of : {true_|false_} {};
-\endcode
- **/
-
-/** \struct boost::bimaps::detail::is_set_type_of_relation
-
-\brief Type trait to check if a class is a set_type_of_relation specification
-
-\code
-template< class Type >
-struct is_set_type_of_relation : {true_|false_} {};
-\endcode
-
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace detail {
-
-template< class Type >
-struct is_set_type_of :
- is_base_of< set_type_of_tag, Type > {};
-
-template< class Type >
-struct is_set_type_of_relation :
- is_base_of< set_type_of_relation_tag, Type > {};
-
-} // namespace detail
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_DETAIL_IS_SET_TYPE_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_additional_parameters.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_additional_parameters.hpp
deleted file mode 100644
index 78d89aeaf8..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_additional_parameters.hpp
+++ /dev/null
@@ -1,243 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/manage_additional_parameters.hpp
-/// \brief Utility class to extract the additional parameters from the template parameters.
-
-#ifndef BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP
-#define BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <memory>
-
-// Boost.MPL
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/bimap/detail/is_set_type_of.hpp>
-
-namespace boost {
-namespace bimaps {
-
-template< class Type >
-struct with_info
-{
- typedef Type value_type;
-};
-
-namespace detail {
-
-/// \brief Metafunction to check if a given type is a data_hook specification.
-
-template< class Type >
-struct is_with_info : ::boost::mpl::false_ {};
-
-template< class ValueType >
-struct is_with_info< with_info<ValueType> > : ::boost::mpl::true_ {};
-
-/** \struct boost::bimaps::detail::manage_additional_parameters
-\brief Utility class to extract the additional parameters from the template parameters.
-
-\code
-template< class AP1, class AP2, class AP3 >
-struct manage_additional_parameters
-{
- struct parameters
- {
- typedef -unspecified- set_type_of_relation;
- typedef -unspecified- data_hook;
- typedef -unspecified- allocator;
- };
-
- typedef parameters type;
-};
-\endcode
-
-See also bimap, bimap_core.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class AP1, class AP2, class AP3 >
-struct manage_additional_parameters
-{
- // (1) manage_additional_parameters<
- // not_specified,not_specified,not_specified>
- //
- // set_type_of_relation: based on the left key type
- // info_hook: no additional info
- // allocator: default allocator
-
- struct case_NNN
- {
- typedef left_based set_type_of_relation;
- typedef std::allocator<char> allocator;
- typedef ::boost::mpl::na additional_info;
- };
-
- // (2) manage_additional_parameters<Allocator,not_specified,not_specified>
- //
- // set_type_of_relation: based on the left key type
- // info_hook: no additional info
- // allocator: Allocator
-
- struct case_ANN
- {
- typedef left_based set_type_of_relation;
- typedef AP1 allocator;
- typedef ::boost::mpl::na additional_info;
- };
-
- // (3) manage_additional_parameters<
- // SetOfRelationType,not_specified,not_specified>
- //
- // set_type_of_relation: SetTypeOfRelation
- // info_hook: no additional info
- // allocator: default allocator
-
- struct case_SNN
- {
- typedef AP1 set_type_of_relation;
- typedef std::allocator<char> allocator;
- typedef ::boost::mpl::na additional_info;
- };
-
- // (4) manage_additional_parameters<
- // SetTypeOfRelation,Allocator,not_specified>
- //
- // set_type_of_relation: SetTypeOfRelation
- // info_hook: no additional info
- // allocator: Allocator
-
- struct case_SAN
- {
- typedef AP1 set_type_of_relation;
- typedef AP2 allocator;
- typedef ::boost::mpl::na additional_info;
- };
-
- // (5) manage_additional_parameters<InfoToHook,not_specified,not_specified>
- //
- // set_type_of_relation: based on the left key type
- // info_hook: InfoToHook
- // allocator: default allocator
-
- struct case_HNN
- {
- typedef left_based set_type_of_relation;
- typedef std::allocator<char> allocator;
- typedef BOOST_DEDUCED_TYPENAME AP1::value_type additional_info;
- };
-
- // (6) manage_additional_parameters<
- // SetTypeOfRelation,InfoToHook,not_specified>
- //
- // set_type_of_relation: SetTypeOfRelation
- // info_hook: InfoToHook
- // allocator: default allocator
-
- struct case_SHN
- {
- typedef AP1 set_type_of_relation;
- typedef std::allocator<char> allocator;
- typedef BOOST_DEDUCED_TYPENAME AP2::value_type additional_info;
- };
-
- // (7) manage_additional_parameters<
- // DataToHook,Allocator,not_specified>
- //
- // set_type_of_relation: SetTypeOfRelation
- // info_hook: InfoToHook
- // allocator: default allocator
-
- struct case_HAN
- {
- typedef left_based set_type_of_relation;
- typedef AP2 allocator;
- typedef BOOST_DEDUCED_TYPENAME AP1::value_type additional_info;
- };
-
- // (8) manage_additional_parameters<
- // SetTypeOfRelation,DataToHook,Allocator>
- //
- // set_type_of_relation: SetTypeOfRelation
- // info_hook: InfoToHook
- // allocator: Allocator
-
- struct case_SHA
- {
- typedef AP1 set_type_of_relation;
- typedef AP2 allocator;
- typedef BOOST_DEDUCED_TYPENAME AP2::value_type additional_info;
- };
-
- // Some annidated mpl::if_ and we are done!
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_
- <
- ::boost::mpl::is_na<AP1>,
- case_NNN, // (1)
- BOOST_DEDUCED_TYPENAME mpl::if_
- <
- ::boost::mpl::is_na<AP2>,
- BOOST_DEDUCED_TYPENAME mpl::if_
- <
- is_set_type_of_relation<AP1>,
- case_SNN, // (3)
- BOOST_DEDUCED_TYPENAME mpl::if_
- <
- is_with_info<AP1>,
- case_HNN, // (5)
- case_ANN // (2)
-
- >::type
-
- >::type,
- BOOST_DEDUCED_TYPENAME mpl::if_
- <
- ::boost::mpl::is_na<AP3>,
- BOOST_DEDUCED_TYPENAME mpl::if_
- <
- is_with_info<AP1>,
- case_HAN, // (7)
- BOOST_DEDUCED_TYPENAME mpl::if_
- <
- is_with_info<AP2>,
- case_SHN, // (6)
- case_SAN // (4)
-
- >::type
-
- >::type,
-
- case_SHA // (8)
-
- >::type
-
- >::type
-
- >::type type;
-
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-} // namespace detail
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_bimap_key.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_bimap_key.hpp
deleted file mode 100644
index 987bb0d4ac..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/manage_bimap_key.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/manage_bimap_key.hpp
-/// \brief Utility class to manage the set types of a bimap.
-
-#ifndef BOOST_BIMAP_DETAIL_MANAGE_BIMAP_KEY_HPP
-#define BOOST_BIMAP_DETAIL_MANAGE_BIMAP_KEY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/bimap/detail/is_set_type_of.hpp>
-
-#include <boost/bimap/set_of.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace detail {
-
-/** \struct boost::bimaps::detail::manage_bimap_key
-\brief Metafunction to manage the set types of a bimap.
-
-\code
-template< class Type >
-struct manage_bimap_key
-{
- typedef -SetType- type;
-}
-\endcode
-
-See also bimap, bimap_core.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class Type >
-struct manage_bimap_key
-{
-
-typedef BOOST_DEDUCED_TYPENAME
-
- mpl::eval_if< BOOST_DEDUCED_TYPENAME is_set_type_of< Type >::type,
- // {
- mpl::identity< Type >,
- // }
- // else
- // {
- // Default it to a set
- mpl::identity< set_of< Type > >
- // }
-
- >::type set_type;
-
- // Returns set_type and evaluate the concept_checked_type
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_c< true, set_type,
- BOOST_DEDUCED_TYPENAME set_type::lazy_concept_checked::type
- >::type type;
-};
-
-
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-} // namespace detail
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_DETAIL_MANAGE_BIMAP_KEY_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_base.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_base.hpp
deleted file mode 100644
index 8f61d5cc04..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_base.hpp
+++ /dev/null
@@ -1,544 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/map_view_base.hpp
-/// \brief Helper base for the construction of the bimap views types.
-
-#ifndef BOOST_BIMAP_DETAIL_MAP_VIEW_BASE_HPP
-#define BOOST_BIMAP_DETAIL_MAP_VIEW_BASE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <stdexcept>
-#include <utility>
-
-#include <boost/throw_exception.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/bimap/relation/support/get_pair_functor.hpp>
-#include <boost/bimap/relation/detail/to_mutable_relation_functor.hpp>
-#include <boost/bimap/container_adaptor/support/iterator_facade_converters.hpp>
-#include <boost/bimap/relation/support/data_extractor.hpp>
-#include <boost/bimap/relation/support/opposite_tag.hpp>
-#include <boost/bimap/relation/support/pair_type_by.hpp>
-//#include <boost/bimap/support/iterator_type_by.hpp>
-#include <boost/bimap/support/key_type_by.hpp>
-#include <boost/bimap/support/data_type_by.hpp>
-#include <boost/bimap/support/value_type_by.hpp>
-#include <boost/bimap/detail/modifier_adaptor.hpp>
-#include <boost/bimap/detail/debug/static_error.hpp>
-#include <boost/bimap/detail/map_view_iterator.hpp>
-
-namespace boost {
-namespace bimaps {
-
-namespace detail {
-
-
-// The next macro can be converted in a metafunctor to gain code robustness.
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR( \
- CONTAINER_ADAPTOR, TAG, BIMAP, OTHER_ITER, CONST_OTHER_ITER \
-) \
-::boost::bimaps::container_adaptor::CONTAINER_ADAPTOR \
-< \
- BOOST_DEDUCED_TYPENAME BIMAP::core_type:: \
- BOOST_NESTED_TEMPLATE index<TAG>::type, \
- ::boost::bimaps::detail:: map_view_iterator<TAG,BIMAP>, \
- ::boost::bimaps::detail::const_map_view_iterator<TAG,BIMAP>, \
- ::boost::bimaps::detail:: OTHER_ITER<TAG,BIMAP>, \
- ::boost::bimaps::detail::CONST_OTHER_ITER<TAG,BIMAP>, \
- ::boost::bimaps::container_adaptor::support::iterator_facade_to_base \
- < \
- ::boost::bimaps::detail:: map_view_iterator<TAG,BIMAP>, \
- ::boost::bimaps::detail::const_map_view_iterator<TAG,BIMAP> \
- >, \
- ::boost::mpl::na, \
- ::boost::mpl::na, \
- ::boost::bimaps::relation::detail:: \
- pair_to_relation_functor<TAG,BOOST_DEDUCED_TYPENAME BIMAP::relation>, \
- ::boost::bimaps::relation::support:: \
- get_pair_functor<TAG, BOOST_DEDUCED_TYPENAME BIMAP::relation > \
->
-/*===========================================================================*/
-
-
-#if defined(BOOST_MSVC)
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(TYPE,TAG,BIMAP) \
- typedef ::boost::bimaps::detail::map_view_base< \
- TYPE<TAG,BIMAP>,TAG,BIMAP > friend_map_view_base; \
- friend class friend_map_view_base;
-/*===========================================================================*/
-#else
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(TYPE,TAG,BIMAP) \
- friend class ::boost::bimaps::detail::map_view_base< \
- TYPE<TAG,BIMAP>,TAG,BIMAP >;
-/*===========================================================================*/
-#endif
-
-
-/// \brief Common base for map views.
-
-template< class Derived, class Tag, class BimapType>
-class map_view_base
-{
- typedef ::boost::bimaps::container_adaptor::support::
- iterator_facade_to_base<
- ::boost::bimaps::detail:: map_view_iterator<Tag,BimapType>,
- ::boost::bimaps::detail::const_map_view_iterator<Tag,BimapType>
- > iterator_to_base_;
-
- typedef ::boost::bimaps::relation::detail::
- pair_to_relation_functor<Tag,
- BOOST_DEDUCED_TYPENAME BimapType::relation> value_to_base_;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- key_type_by<Tag,BimapType>::type key_type_;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- data_type_by<Tag,BimapType>::type data_type_;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- pair_type_by<Tag,
- BOOST_DEDUCED_TYPENAME BimapType::relation>::type value_type_;
-
- typedef
- ::boost::bimaps::detail::map_view_iterator<Tag,BimapType> iterator_;
-
- public:
-
- bool replace(iterator_ position, const value_type_ & x)
- {
- return derived().base().replace(
- derived().template functor<iterator_to_base_>()(position),
- derived().template functor<value_to_base_>()(x)
- );
- }
-
- template< class CompatibleKey >
- bool replace_key(iterator_ position, const CompatibleKey & k)
- {
- return derived().base().replace(
- derived().template functor<iterator_to_base_>()(position),
- derived().template functor<value_to_base_>()(
- ::boost::bimaps::relation::detail::
- copy_with_first_replaced(*position,k)
- )
- );
- }
-
- template< class CompatibleData >
- bool replace_data(iterator_ position, const CompatibleData & d)
- {
- return derived().base().replace(
- derived().template functor<iterator_to_base_>()(position),
- derived().template functor<value_to_base_>()(
- ::boost::bimaps::relation::detail::
- copy_with_second_replaced(*position,d)
- )
- );
- }
-
- /* This function may be provided in the future
-
- template< class Modifier >
- bool modify(iterator_ position, Modifier mod)
- {
- return derived().base().modify(
-
- derived().template functor<iterator_to_base_>()(position),
-
- ::boost::bimaps::detail::relation_modifier_adaptor
- <
- Modifier,
- BOOST_DEDUCED_TYPENAME BimapType::relation,
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- data_extractor
- <
- Tag, BOOST_DEDUCED_TYPENAME BimapType::relation
-
- >::type,
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- data_extractor
- <
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- opossite_tag<Tag,BimapType>::type,
- BOOST_DEDUCED_TYPENAME BimapType::relation
-
- >::type
-
- >(mod)
- );
- }
- */
-
- template< class Modifier >
- bool modify_key(iterator_ position, Modifier mod)
- {
- return derived().base().modify_key(
- derived().template functor<iterator_to_base_>()(position), mod
- );
- }
-
- template< class Modifier >
- bool modify_data(iterator_ position, Modifier mod)
- {
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- data_extractor
- <
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- opossite_tag<Tag,BimapType>::type,
- BOOST_DEDUCED_TYPENAME BimapType::relation
-
- >::type data_extractor_;
-
- return derived().base().modify(
-
- derived().template functor<iterator_to_base_>()(position),
-
- // this may be replaced later by
- // ::boost::bind( mod, ::boost::bind(data_extractor_(),_1) )
-
- ::boost::bimaps::detail::unary_modifier_adaptor
- <
- Modifier,
- BOOST_DEDUCED_TYPENAME BimapType::relation,
- data_extractor_
-
- >(mod)
- );
- }
-
- protected:
-
- typedef map_view_base map_view_base_;
-
- private:
-
- // Curiously Recurring Template interface.
-
- Derived& derived()
- {
- return *static_cast<Derived*>(this);
- }
-
- Derived const& derived() const
- {
- return *static_cast<Derived const*>(this);
- }
-};
-
-
-
-
-template< class Derived, class Tag, class BimapType>
-class mutable_data_unique_map_view_access
-{
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- data_type_by<Tag,BimapType>::type data_type_;
-
- public:
-
- template< class CompatibleKey >
- data_type_ & at(const CompatibleKey& k)
- {
- typedef ::boost::bimaps::detail::
- map_view_iterator<Tag,BimapType> iterator;
-
- iterator iter = derived().find(k);
- if( iter == derived().end() )
- {
- ::boost::throw_exception(
- std::out_of_range("bimap<>: invalid key")
- );
- }
- return iter->second;
- }
-
- template< class CompatibleKey >
- const data_type_ & at(const CompatibleKey& k) const
- {
- typedef ::boost::bimaps::detail::
- const_map_view_iterator<Tag,BimapType> const_iterator;
-
- const_iterator iter = derived().find(k);
- if( iter == derived().end() )
- {
- ::boost::throw_exception(
- std::out_of_range("bimap<>: invalid key")
- );
- }
- return iter->second;
- }
-
- template< class CompatibleKey >
- data_type_ & operator[](const CompatibleKey& k)
- {
- typedef ::boost::bimaps::detail::
- map_view_iterator<Tag,BimapType> iterator;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- value_type_by<Tag,BimapType>::type value_type;
-
- iterator iter = derived().find(k);
- if( iter == derived().end() )
- {
- iter = derived().insert( value_type(k,data_type_()) ).first;
- }
- return iter->second;
- }
-
- protected:
-
- typedef mutable_data_unique_map_view_access
- mutable_data_unique_map_view_access_;
-
- private:
-
- // Curiously Recurring Template interface.
-
- Derived& derived()
- {
- return *static_cast<Derived*>(this);
- }
-
- Derived const& derived() const
- {
- return *static_cast<Derived const*>(this);
- }
-};
-
-
-template< class Derived, class Tag, class BimapType>
-class non_mutable_data_unique_map_view_access
-{
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- data_type_by<Tag,BimapType>::type data_type_;
-
- public:
-
- template< class CompatibleKey >
- const data_type_ & at(const CompatibleKey& k) const
- {
- typedef ::boost::bimaps::detail::
- const_map_view_iterator<Tag,BimapType> const_iterator;
-
- const_iterator iter = derived().find(k);
- if( iter == derived().end() )
- {
- ::boost::throw_exception(
- std::out_of_range("bimap<>: invalid key")
- );
- }
- return iter->second;
- }
-
- template< class CompatibleKey >
- data_type_ & operator[](const CompatibleKey&)
- {
- BOOST_BIMAP_STATIC_ERROR( OPERATOR_BRACKET_IS_NOT_SUPPORTED, (Derived));
- }
-
- protected:
-
- typedef non_mutable_data_unique_map_view_access
- non_mutable_data_unique_map_view_access_;
-
- private:
-
- // Curiously Recurring Template interface.
-
- Derived& derived()
- {
- return *static_cast<Derived*>(this);
- }
-
- Derived const& derived() const
- {
- return *static_cast<Derived const*>(this);
- }
-};
-
-
-template< class Derived, class Tag, class BimapType>
-struct unique_map_view_access
-{
- private:
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::
- value_type_by<Tag,BimapType>::type value_type;
-
- public:
- typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_
- <
- typename ::boost::is_const<
- BOOST_DEDUCED_TYPENAME value_type::second_type >::type,
-
- non_mutable_data_unique_map_view_access<Derived,Tag,BimapType>,
- mutable_data_unique_map_view_access<Derived,Tag,BimapType>
-
- >::type type;
-};
-
-// Map views specialize the following structs to provide to the bimap class
-// the extra side typedefs (i.e. left_local_iterator for unordered_maps,
-// right_range_type for maps)
-
-template< class MapView >
-struct left_map_view_extra_typedefs {};
-
-template< class MapView >
-struct right_map_view_extra_typedefs {};
-
-} // namespace detail
-
-// This function is already part of Boost.Lambda.
-// They may be moved to Boost.Utility.
-
-template <class T> inline const T& make_const(const T& t) { return t; }
-
-} // namespace bimaps
-} // namespace boost
-
-
-// The following macros avoids code duplication in map views
-// Maybe this can be changed in the future using a scheme similar to
-// the one used with map_view_base.
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_RANGE_IMPLEMENTATION(BASE) \
- \
-typedef std::pair< \
- BOOST_DEDUCED_TYPENAME base_::iterator, \
- BOOST_DEDUCED_TYPENAME base_::iterator> range_type; \
- \
-typedef std::pair< \
- BOOST_DEDUCED_TYPENAME base_::const_iterator, \
- BOOST_DEDUCED_TYPENAME base_::const_iterator> const_range_type; \
- \
- \
-template< class LowerBounder, class UpperBounder> \
-range_type range(LowerBounder lower,UpperBounder upper) \
-{ \
- std::pair< \
- \
- BOOST_DEDUCED_TYPENAME BASE::base_type::iterator, \
- BOOST_DEDUCED_TYPENAME BASE::base_type::iterator \
- \
- > r( this->base().range(lower,upper) ); \
- \
- return range_type( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME BASE::iterator_from_base \
- >() ( r.first ), \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME BASE::iterator_from_base \
- >() ( r.second ) \
- ); \
-} \
- \
-template< class LowerBounder, class UpperBounder> \
-const_range_type range(LowerBounder lower,UpperBounder upper) const \
-{ \
- std::pair< \
- \
- BOOST_DEDUCED_TYPENAME BASE::base_type::const_iterator, \
- BOOST_DEDUCED_TYPENAME BASE::base_type::const_iterator \
- \
- > r( this->base().range(lower,upper) ); \
- \
- return const_range_type( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME BASE::iterator_from_base \
- >() ( r.first ), \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME BASE::iterator_from_base \
- >() ( r.second ) \
- ); \
-}
-/*===========================================================================*/
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_VIEW_ASSIGN_IMPLEMENTATION(BASE) \
- \
-template< class InputIterator > \
-void assign(InputIterator first,InputIterator last) \
-{ \
- this->clear(); \
- this->insert(this->end(),first,last); \
-} \
- \
-void assign(BOOST_DEDUCED_TYPENAME BASE::size_type n, \
- const BOOST_DEDUCED_TYPENAME BASE::value_type& v) \
-{ \
- this->clear(); \
- for(BOOST_DEDUCED_TYPENAME BASE::size_type i = 0 ; i < n ; ++i) \
- { \
- this->push_back(v); \
- } \
-}
-/*===========================================================================*/
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_VIEW_FRONT_BACK_IMPLEMENTATION(BASE) \
- \
-BOOST_DEDUCED_TYPENAME BASE::reference front() \
-{ \
- return this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() \
- ( \
- const_cast \
- < \
- BOOST_DEDUCED_TYPENAME BASE::base_type::value_type & \
- \
- > ( this->base().front() ) \
- ); \
-} \
- \
-BOOST_DEDUCED_TYPENAME BASE::reference back() \
-{ \
- return this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() \
- ( \
- const_cast \
- < \
- BOOST_DEDUCED_TYPENAME BASE::base_type::value_type & \
- \
- >( this->base().back() ) \
- ); \
-} \
- \
-BOOST_DEDUCED_TYPENAME BASE::const_reference front() const \
-{ \
- return this->template functor< \
- BOOST_DEDUCED_TYPENAME BASE::value_from_base>() \
- ( \
- this->base().front() \
- ); \
-} \
- \
-BOOST_DEDUCED_TYPENAME BASE::const_reference back() const \
-{ \
- return this->template functor< \
- BOOST_DEDUCED_TYPENAME BASE::value_from_base>() \
- ( \
- this->base().back() \
- ); \
-}
-/*===========================================================================*/
-
-
-#endif // BOOST_BIMAP_DETAIL_MAP_VIEW_BASE_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_iterator.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_iterator.hpp
deleted file mode 100644
index afd44a5b2a..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/map_view_iterator.hpp
+++ /dev/null
@@ -1,330 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/map_view_iterator.hpp
-/// \brief Iterator adaptors from multi-index to bimap.
-
-#ifndef BOOST_BIMAP_DETAIL_MAP_VIEW_ITERATOR_HPP
-#define BOOST_BIMAP_DETAIL_MAP_VIEW_ITERATOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-// Boost
-
-#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
- #include <boost/serialization/nvp.hpp>
- #include <boost/serialization/split_member.hpp>
-#endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-
-#include <boost/iterator/detail/enable_if.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/bimap/relation/support/pair_by.hpp>
-
-// check
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-#include <boost/bimap/relation/detail/static_access_builder.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace detail {
-
-/** \brief Map View Iterator adaptors from multi index to bimap.
-
-These classes are based on transform iterators from Boost.Iterator.
- **/
-
-template< class Tag, class BimapCore > struct map_view_iterator ;
-template< class Tag, class BimapCore > struct const_map_view_iterator ;
-
-template< class Tag, class BimapCore > struct reverse_map_view_iterator ;
-template< class Tag, class BimapCore > struct const_reverse_map_view_iterator ;
-
-template< class Tag, class BimapCore > struct local_map_view_iterator ;
-template< class Tag, class BimapCore > struct const_local_map_view_iterator ;
-
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT \
- BOOST_SERIALIZATION_SPLIT_MEMBER() \
- \
- friend class ::boost::serialization::access; \
- \
- template< class Archive > \
- void save(Archive & ar, const unsigned int) const \
- { \
- ar << ::boost::serialization::make_nvp("mi_iterator",this->base()); \
- } \
- \
- template< class Archive > \
- void load(Archive & ar, const unsigned int) \
- { \
- BOOST_DEDUCED_TYPENAME base_::base_type iter; \
- ar >> ::boost::serialization::make_nvp("mi_iterator",iter); \
- this->base_reference() = iter; \
- }
-/*===========================================================================*/
-#else
-#define BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT // None
-#endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-
-/*===========================================================================*/
-#define BOOST_BIMAP_CORE_ITERATOR_TYPE_BY_BUILDER( METANAME, ITERATOR ) \
-BOOST_BIMAP_SYMMETRIC_STATIC_ACCESS_BUILDER( METANAME, BimapCore, \
- typedef BOOST_DEDUCED_TYPENAME BimapCore::core_type::BOOST_NESTED_TEMPLATE\
- index<BOOST_DEDUCED_TYPENAME BimapCore::left_tag> \
- ::type::ITERATOR type, \
- typedef BOOST_DEDUCED_TYPENAME BimapCore::core_type::BOOST_NESTED_TEMPLATE\
- index<BOOST_DEDUCED_TYPENAME BimapCore::right_tag> \
- ::type::ITERATOR type \
-)
-/*===========================================================================*/
-
-
-BOOST_BIMAP_CORE_ITERATOR_TYPE_BY_BUILDER( core_iterator_type_by
- , iterator )
-
-BOOST_BIMAP_CORE_ITERATOR_TYPE_BY_BUILDER( reverse_core_iterator_type_by
- , reverse_iterator )
-
-BOOST_BIMAP_CORE_ITERATOR_TYPE_BY_BUILDER( local_core_iterator_type_by
- , local_iterator )
-
-
-// map_view_iterator
-
-template< class Tag, class BimapCore >
-struct map_view_iterator_adaptor {
- typedef iterator_adaptor<
- map_view_iterator<Tag,BimapCore>,
- BOOST_DEDUCED_TYPENAME core_iterator_type_by<Tag,BimapCore>::type,
- BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::value_type_by<Tag,BimapCore>::type
- > type;
-};
-template< class Tag, class BimapCore >
-struct map_view_iterator :
- public map_view_iterator_adaptor<Tag,BimapCore>::type
-{
- typedef BOOST_DEDUCED_TYPENAME
- map_view_iterator_adaptor<Tag,BimapCore>::type base_;
- public:
-
- map_view_iterator() {}
- map_view_iterator(BOOST_DEDUCED_TYPENAME base_::base_type const& iter)
- : base_(iter) {}
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
- return ::boost::bimaps::relation::support::pair_by<Tag>(
- *const_cast<BOOST_DEDUCED_TYPENAME base_::base_type::value_type*>(
- &(*this->base())
- )
- );
- }
- private:
- friend class iterator_core_access;
- BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT
-};
-
-
-template< class Tag, class BimapCore >
-struct const_map_view_iterator_adaptor {
- typedef iterator_adaptor<
- const_map_view_iterator<Tag,BimapCore>,
- BOOST_DEDUCED_TYPENAME core_iterator_type_by<Tag,BimapCore>::type,
- const BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::value_type_by<Tag,BimapCore>::type
- > type;
-};
-template< class Tag, class BimapCore >
-struct const_map_view_iterator :
- public const_map_view_iterator_adaptor<Tag,BimapCore>::type
-{
- typedef BOOST_DEDUCED_TYPENAME
- const_map_view_iterator_adaptor<Tag,BimapCore>::type base_;
- public:
-
- const_map_view_iterator() {}
- const_map_view_iterator(
- BOOST_DEDUCED_TYPENAME base_::base_type const& iter)
- : base_(iter) {}
- const_map_view_iterator(map_view_iterator<Tag,BimapCore> i)
- : base_(i.base()) {}
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
- return ::boost::bimaps::relation::support::pair_by<Tag>(*this->base());
- }
- private:
- friend class iterator_core_access;
- BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT
-};
-
-
-// reverse_map_view_iterator
-
-template< class Tag, class BimapCore >
-struct reverse_map_view_iterator_adaptor {
- typedef iterator_adaptor<
- reverse_map_view_iterator<Tag,BimapCore>,
- BOOST_DEDUCED_TYPENAME
- reverse_core_iterator_type_by<Tag,BimapCore>::type,
- BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::value_type_by<Tag,BimapCore>::type
- > type;
-};
-template< class Tag, class BimapCore >
-struct reverse_map_view_iterator :
- public reverse_map_view_iterator_adaptor<Tag,BimapCore>::type
-{
- typedef BOOST_DEDUCED_TYPENAME
- reverse_map_view_iterator_adaptor<Tag,BimapCore>::type base_;
- public:
-
- reverse_map_view_iterator() {}
- reverse_map_view_iterator(
- BOOST_DEDUCED_TYPENAME base_::base_type const& iter)
- : base_(iter) {}
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
- return ::boost::bimaps::relation::support::pair_by<Tag>(
- *const_cast<BOOST_DEDUCED_TYPENAME base_::base_type::value_type*>(
- &(*this->base())
- )
- );
- }
- private:
- friend class iterator_core_access;
- BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT
-};
-
-template< class Tag, class BimapCore >
-struct const_reverse_map_view_iterator_adaptor {
- typedef iterator_adaptor<
- const_reverse_map_view_iterator<Tag,BimapCore>,
- BOOST_DEDUCED_TYPENAME
- reverse_core_iterator_type_by<Tag,BimapCore>::type,
- const BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::value_type_by<Tag,BimapCore>::type
- > type;
-};
-template< class Tag, class BimapCore >
-struct const_reverse_map_view_iterator :
- public const_reverse_map_view_iterator_adaptor<Tag,BimapCore>::type
-{
- typedef BOOST_DEDUCED_TYPENAME
- const_reverse_map_view_iterator_adaptor<Tag,BimapCore>::type base_;
-
- public:
-
- const_reverse_map_view_iterator() {}
- const_reverse_map_view_iterator(
- BOOST_DEDUCED_TYPENAME base_::base_type const& iter)
- : base_(iter) {}
- const_reverse_map_view_iterator(reverse_map_view_iterator<Tag,BimapCore> i)
- : base_(i.base()) {}
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
- return ::boost::bimaps::relation::support::pair_by<Tag>(*this->base());
- }
- private:
- friend class iterator_core_access;
- BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT
-};
-
-
-// local_map_view_iterator
-
-template< class Tag, class BimapCore >
-struct local_map_view_iterator_adaptor {
- typedef iterator_adaptor<
- local_map_view_iterator<Tag,BimapCore>,
- BOOST_DEDUCED_TYPENAME
- local_core_iterator_type_by<Tag,BimapCore>::type,
- BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::value_type_by<Tag,BimapCore>::type
- > type;
-};
-template< class Tag, class BimapCore >
-struct local_map_view_iterator :
- public local_map_view_iterator_adaptor<Tag,BimapCore>::type
-{
- typedef BOOST_DEDUCED_TYPENAME
- local_map_view_iterator_adaptor<Tag,BimapCore>::type base_;
- public:
-
- local_map_view_iterator() {}
- local_map_view_iterator(
- BOOST_DEDUCED_TYPENAME base_::base_type const& iter)
- : base_(iter) {}
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
- return ::boost::bimaps::relation::support::pair_by<Tag>(
- *const_cast<BOOST_DEDUCED_TYPENAME base_::base_type::value_type*>(
- &(*this->base())
- )
- );
- }
- private:
- friend class iterator_core_access;
- BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT
-};
-
-template< class Tag, class BimapCore >
-struct const_local_map_view_iterator_adaptor {
- typedef iterator_adaptor<
- const_local_map_view_iterator<Tag,BimapCore>,
- BOOST_DEDUCED_TYPENAME
- local_core_iterator_type_by<Tag,BimapCore>::type,
- const BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::value_type_by<Tag,BimapCore>::type
- > type;
-};
-template< class Tag, class BimapCore >
-struct const_local_map_view_iterator :
- public const_local_map_view_iterator_adaptor<Tag,BimapCore>::type
-{
- typedef BOOST_DEDUCED_TYPENAME
- const_local_map_view_iterator_adaptor<Tag,BimapCore>::type base_;
- public:
-
- const_local_map_view_iterator() {}
- const_local_map_view_iterator(
- BOOST_DEDUCED_TYPENAME base_::base_type const& iter)
- : base_(iter) {}
- const_local_map_view_iterator(local_map_view_iterator<Tag,BimapCore> i)
- : base_(i.base()) {}
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
- return ::boost::bimaps::relation::support::pair_by<Tag>(*this->base());
- }
- private:
- friend class iterator_core_access;
- BOOST_BIMAP_MAP_VIEW_ITERATOR_SERIALIZATION_SUPPORT
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-} // namespace detail
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DETAIL_MAP_VIEW_ITERATOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/modifier_adaptor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/modifier_adaptor.hpp
deleted file mode 100644
index c1ee3670ce..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/modifier_adaptor.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/modifier_adaptor.hpp
-/// \brief A binary to unary functor relation modifier adaptor.
-
-#ifndef BOOST_BIMAP_DETAIL_MODIFIER_ADAPTOR_HPP
-#define BOOST_BIMAP_DETAIL_MODIFIER_ADAPTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace detail {
-
-/// \brief A binary to unary functor relation modifier adaptor.
-
-template
-<
- class Modifier,
- class NewArgument,
- class FirstExtractor,
- class SecondExtractor
->
-struct relation_modifier_adaptor :
- Modifier,
- FirstExtractor,
- SecondExtractor
-{
- typedef NewArgument argument_type;
- typedef void result_type;
-
- relation_modifier_adaptor( const Modifier & m ) : Modifier(m) {}
- relation_modifier_adaptor( const Modifier & m,
- const FirstExtractor & fe,
- const SecondExtractor & se ) :
- Modifier(m), FirstExtractor(fe), SecondExtractor(se) {}
-
- void operator()( NewArgument & x ) const
- {
- Modifier::operator()(
- FirstExtractor ::operator()( x ),
- SecondExtractor::operator()( x )
- );
- }
-};
-
-/// \brief A simple unary modifier adaptor.
-// This modifier is equivalent to bind( Modifier, bind( Extractor, _1 ) )
-// It may be a good idea to start using Boost.Bind instead of it.
-
-template
-<
- class Modifier,
- class NewArgument,
- class Extractor
->
-struct unary_modifier_adaptor :
- Modifier,
- Extractor
-{
- typedef NewArgument argument_type;
- typedef void result_type;
-
- unary_modifier_adaptor( const Modifier & m ) : Modifier(m) {}
- unary_modifier_adaptor( const Modifier & m,
- const Extractor & fe) :
- Modifier(m), Extractor(fe) {}
-
- void operator()( NewArgument & x ) const
- {
- Modifier::operator()( Extractor::operator()( x ) );
- }
-};
-
-
-} // namespace detail
-} // namespace bimap
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_DETAIL_MODIFIER_ADAPTOR_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/non_unique_views_helper.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/non_unique_views_helper.hpp
deleted file mode 100644
index c970fcdc44..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/non_unique_views_helper.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/non_unique_views_helper.hpp
-/// \brief Details for non unique views
-
-#ifndef BOOST_BIMAP_DETAIL_NON_UNIQUE_VIEWS_HELPER_HPP
-#define BOOST_BIMAP_DETAIL_NON_UNIQUE_VIEWS_HELPER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-/*===========================================================================*/
-#define BOOST_BIMAP_NON_UNIQUE_VIEW_INSERT_FUNCTIONS \
- \
-template <class InputIterator> \
-void insert(InputIterator iterBegin, InputIterator iterEnd) \
-{ \
- for( ; iterBegin != iterEnd ; ++iterBegin ) \
- { \
- this->base().insert( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()( \
- BOOST_DEDUCED_TYPENAME base_::value_type(*iterBegin)) ); \
- } \
-} \
- \
-std::pair<BOOST_DEDUCED_TYPENAME base_::iterator, bool> insert( \
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
-{ \
- typedef BOOST_DEDUCED_TYPENAME base_::base_type::iterator base_iterator; \
- \
- std::pair< base_iterator, bool > r( \
- this->base().insert( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x) ) \
- ); \
- \
- return std::pair<typename base_::iterator, bool>( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()(r.first), \
- r.second \
- ); \
-} \
- \
-BOOST_DEDUCED_TYPENAME base_::iterator insert( \
- BOOST_DEDUCED_TYPENAME base_::iterator pos, \
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< \
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type x) \
-{ \
- return this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::iterator_from_base>()( \
- this->base().insert( \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(pos), \
- this->template functor< \
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()(x)) \
- ); \
-}
-/*===========================================================================*/
-
-#endif // BOOST_BIMAP_DETAIL_NON_UNIQUE_VIEWS_HELPER_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_base.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_base.hpp
deleted file mode 100644
index 817e30f8ae..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_base.hpp
+++ /dev/null
@@ -1,331 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/set_view_base.hpp
-/// \brief Helper base for the construction of the bimap views types.
-
-#ifndef BOOST_BIMAP_DETAIL_SET_VIEW_BASE_HPP
-#define BOOST_BIMAP_DETAIL_SET_VIEW_BASE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/member_at.hpp>
-#include <boost/bimap/relation/support/data_extractor.hpp>
-#include <boost/bimap/detail/modifier_adaptor.hpp>
-#include <boost/bimap/detail/set_view_iterator.hpp>
-#include <boost/bimap/relation/support/get_pair_functor.hpp>
-#include <boost/bimap/relation/detail/to_mutable_relation_functor.hpp>
-#include <boost/bimap/relation/mutant_relation.hpp>
-#include <boost/bimap/container_adaptor/support/iterator_facade_converters.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace detail {
-
-template< class Key, class Value, class KeyToBase >
-class set_view_key_to_base
-{
- public:
- const Key operator()( const Value & v ) const
- {
- return keyToBase( v );
- }
- private:
- KeyToBase keyToBase;
-};
-
-template< class MutantRelationStorage, class KeyToBase >
-class set_view_key_to_base<MutantRelationStorage,MutantRelationStorage,KeyToBase>
-{
- typedef BOOST_DEDUCED_TYPENAME MutantRelationStorage::non_mutable_storage non_mutable_storage;
- public:
- const MutantRelationStorage & operator()( const non_mutable_storage & k ) const
- {
- return ::boost::bimaps::relation::detail::mutate<MutantRelationStorage>(k);
- }
- const MutantRelationStorage & operator()( const MutantRelationStorage & k ) const
- {
- return k;
- }
-};
-
-
-// The next macro can be converted in a metafunctor to gain code robustness.
-/*===========================================================================*/
-#define BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR( \
- CONTAINER_ADAPTOR, CORE_INDEX, OTHER_ITER, CONST_OTHER_ITER \
-) \
-::boost::bimaps::container_adaptor::CONTAINER_ADAPTOR \
-< \
- CORE_INDEX, \
- ::boost::bimaps::detail:: \
- set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::iterator >, \
- ::boost::bimaps::detail:: \
- const_set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::const_iterator >, \
- ::boost::bimaps::detail:: \
- set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::OTHER_ITER >, \
- ::boost::bimaps::detail:: \
- const_set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::CONST_OTHER_ITER >, \
- ::boost::bimaps::container_adaptor::support::iterator_facade_to_base \
- < \
- ::boost::bimaps::detail:: set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::iterator>, \
- ::boost::bimaps::detail::const_set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::const_iterator> \
- \
- >, \
- ::boost::mpl::na, \
- ::boost::mpl::na, \
- ::boost::bimaps::relation::detail:: \
- get_mutable_relation_functor< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::value_type >, \
- ::boost::bimaps::relation::support:: \
- get_above_view_functor< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::value_type >, \
- ::boost::bimaps::detail::set_view_key_to_base< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::key_type, \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::value_type, \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::key_from_value \
- > \
->
-/*===========================================================================*/
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_SEQUENCED_SET_VIEW_CONTAINER_ADAPTOR( \
- CONTAINER_ADAPTOR, CORE_INDEX, OTHER_ITER, CONST_OTHER_ITER \
-) \
-::boost::bimaps::container_adaptor::CONTAINER_ADAPTOR \
-< \
- CORE_INDEX, \
- ::boost::bimaps::detail:: \
- set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::iterator >, \
- ::boost::bimaps::detail:: \
- const_set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::const_iterator >, \
- ::boost::bimaps::detail:: \
- set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::OTHER_ITER >, \
- ::boost::bimaps::detail:: \
- const_set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::CONST_OTHER_ITER >, \
- ::boost::bimaps::container_adaptor::support::iterator_facade_to_base \
- < \
- ::boost::bimaps::detail:: set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::iterator>, \
- ::boost::bimaps::detail::const_set_view_iterator< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::const_iterator> \
- \
- >, \
- ::boost::mpl::na, \
- ::boost::mpl::na, \
- ::boost::bimaps::relation::detail:: \
- get_mutable_relation_functor< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::value_type >, \
- ::boost::bimaps::relation::support:: \
- get_above_view_functor< \
- BOOST_DEDUCED_TYPENAME CORE_INDEX::value_type > \
->
-/*===========================================================================*/
-
-
-#if defined(BOOST_MSVC)
-/*===========================================================================*/
-#define BOOST_BIMAP_SET_VIEW_BASE_FRIEND(TYPE,INDEX_TYPE) \
- typedef ::boost::bimaps::detail::set_view_base< \
- TYPE< INDEX_TYPE >, INDEX_TYPE > template_class_friend; \
- friend class template_class_friend;
-/*===========================================================================*/
-#else
-/*===========================================================================*/
-#define BOOST_BIMAP_SET_VIEW_BASE_FRIEND(TYPE,INDEX_TYPE) \
- friend class ::boost::bimaps::detail::set_view_base< \
- TYPE< INDEX_TYPE >, INDEX_TYPE >;
-/*===========================================================================*/
-#endif
-
-
-/// \brief Common base for set views.
-
-template< class Derived, class Index >
-class set_view_base
-{
- typedef ::boost::bimaps::container_adaptor::support::
- iterator_facade_to_base
- <
- ::boost::bimaps::detail::
- set_view_iterator<BOOST_DEDUCED_TYPENAME Index:: iterator>,
- ::boost::bimaps::detail::
- const_set_view_iterator<BOOST_DEDUCED_TYPENAME Index::const_iterator>
-
- > iterator_to_base_;
-
- typedef BOOST_DEDUCED_TYPENAME Index::value_type::left_value_type left_type_;
-
- typedef BOOST_DEDUCED_TYPENAME Index::value_type::right_value_type right_type_;
-
- typedef BOOST_DEDUCED_TYPENAME Index::value_type value_type_;
-
- typedef ::boost::bimaps::detail::
- set_view_iterator<BOOST_DEDUCED_TYPENAME Index::iterator> iterator_;
-
- public:
-
- bool replace(iterator_ position,
- const value_type_ & x)
- {
- return derived().base().replace(
- derived().template functor<iterator_to_base_>()(position),x
- );
- }
-
- template< class CompatibleLeftType >
- bool replace_left(iterator_ position,
- const CompatibleLeftType & l)
- {
- return derived().base().replace(
- derived().template functor<iterator_to_base_>()(position),
- ::boost::bimaps::relation::detail::copy_with_left_replaced(*position,l)
- );
- }
-
- template< class CompatibleRightType >
- bool replace_right(iterator_ position,
- const CompatibleRightType & r)
- {
- return derived().base().replace(
- derived().template functor<iterator_to_base_>()(position),
- ::boost::bimaps::relation::detail::copy_with_right_replaced(*position,r)
- );
- }
-
- /* This function may be provided in the future
-
- template< class Modifier >
- bool modify(iterator_ position,
- Modifier mod)
- {
- return derived().base().modify(
-
- derived().template functor<iterator_to_base_>()(position),
-
- ::boost::bimaps::detail::relation_modifier_adaptor
- <
- Modifier,
- BOOST_DEDUCED_TYPENAME Index::value_type,
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- data_extractor
- <
- ::boost::bimaps::relation::member_at::left,
- BOOST_DEDUCED_TYPENAME Index::value_type
-
- >::type,
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- data_extractor
- <
- ::boost::bimaps::relation::member_at::right,
- BOOST_DEDUCED_TYPENAME Index::value_type
-
- >::type
-
- >(mod)
- );
- }
- */
- /*
- template< class Modifier >
- bool modify_left(iterator_ position, Modifier mod)
- {
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- data_extractor
- <
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::member_at::right,
- BOOST_DEDUCED_TYPENAME Index::value_type
-
- >::type left_data_extractor_;
-
- return derived().base().modify(
-
- derived().template functor<iterator_to_base_>()(position),
-
- // this may be replaced later by
- // ::boost::bind( mod, ::boost::bind(data_extractor_(),_1) )
-
- ::boost::bimaps::detail::unary_modifier_adaptor
- <
- Modifier,
- BOOST_DEDUCED_TYPENAME Index::value_type,
- left_data_extractor_
-
- >(mod)
- );
- }
-
- template< class Modifier >
- bool modify_right(iterator_ position, Modifier mod)
- {
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- data_extractor
- <
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::member_at::right,
- BOOST_DEDUCED_TYPENAME Index::value_type
-
- >::type right_data_extractor_;
-
- return derived().base().modify(
-
- derived().template functor<iterator_to_base_>()(position),
-
- // this may be replaced later by
- // ::boost::bind( mod, ::boost::bind(data_extractor_(),_1) )
-
- ::boost::bimaps::detail::unary_modifier_adaptor
- <
- Modifier,
- BOOST_DEDUCED_TYPENAME Index::value_type,
- right_data_extractor_
-
- >(mod)
- );
- }
- */
- protected:
-
- typedef set_view_base set_view_base_;
-
- private:
-
- // Curiously Recurring Template interface.
-
- Derived& derived()
- {
- return *static_cast<Derived*>(this);
- }
-
- Derived const& derived() const
- {
- return *static_cast<Derived const*>(this);
- }
-};
-
-
-
-} // namespace detail
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DETAIL_SET_VIEW_BASE_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_iterator.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_iterator.hpp
deleted file mode 100644
index b1e2dfa152..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/set_view_iterator.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/set_view_iterator.hpp
-/// \brief Iterator adaptors from multi-index to bimap.
-
-#ifndef BOOST_BIMAP_DETAIL_SET_VIEW_ITERATOR_HPP
-#define BOOST_BIMAP_DETAIL_SET_VIEW_ITERATOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-// Boost
-
-#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
- #include <boost/serialization/nvp.hpp>
- #include <boost/serialization/split_member.hpp>
-#endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-
-#include <boost/iterator/detail/enable_if.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/bimap/relation/support/get_pair_functor.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace detail {
-
-
-/** \brief Set View Iterator adaptor from multi index to bimap.
-
-This is class is based on transform iterator from Boost.Iterator that is
-modified to allow serialization. It has been specialized for this
-library, and EBO optimization was applied to the functor.
-
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class CoreIterator > struct set_view_iterator;
-
-template< class CoreIterator >
-struct set_view_iterator_base
-{
- typedef iterator_adaptor
- <
- set_view_iterator< CoreIterator >,
- CoreIterator,
- BOOST_DEDUCED_TYPENAME CoreIterator::value_type::above_view
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class CoreIterator >
-struct set_view_iterator : public set_view_iterator_base<CoreIterator>::type
-{
- typedef BOOST_DEDUCED_TYPENAME set_view_iterator_base<CoreIterator>::type base_;
-
- public:
-
- set_view_iterator() {}
-
- set_view_iterator(CoreIterator const& iter)
- : base_(iter) {}
-
- set_view_iterator(set_view_iterator const & iter)
- : base_(iter.base()) {}
-
- typename base_::reference dereference() const
- {
- return const_cast<
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type*>(
- &(*this->base())
- )->get_view();
- }
-
- private:
-
- friend class iterator_core_access;
-
- #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
-
- // Serialization support
-
- BOOST_SERIALIZATION_SPLIT_MEMBER()
-
- friend class ::boost::serialization::access;
-
- template< class Archive >
- void save(Archive & ar, const unsigned int) const
- {
- ar << ::boost::serialization::make_nvp("mi_iterator",this->base());
- }
-
- template< class Archive >
- void load(Archive & ar, const unsigned int)
- {
- CoreIterator iter;
- ar >> ::boost::serialization::make_nvp("mi_iterator",iter);
- this->base_reference() = iter;
- }
-
- #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class CoreIterator > struct const_set_view_iterator;
-
-template< class CoreIterator >
-struct const_set_view_iterator_base
-{
- typedef iterator_adaptor
- <
- const_set_view_iterator< CoreIterator >,
- CoreIterator,
- const BOOST_DEDUCED_TYPENAME CoreIterator::value_type::above_view
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-
-/** \brief Const Set View Iterator adaptor from multi index to bimap.
-
-See also set_view_iterator.
- **/
-
-template< class CoreIterator >
-struct const_set_view_iterator : public const_set_view_iterator_base<CoreIterator>::type
-{
- typedef BOOST_DEDUCED_TYPENAME const_set_view_iterator_base<CoreIterator>::type base_;
-
- public:
-
- const_set_view_iterator() {}
-
- const_set_view_iterator(CoreIterator const& iter)
- : base_(iter) {}
-
- const_set_view_iterator(const_set_view_iterator const & iter)
- : base_(iter.base()) {}
-
- const_set_view_iterator(set_view_iterator<CoreIterator> i)
- : base_(i.base()) {}
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
- return this->base()->get_view();
- }
-
- private:
-
- friend class iterator_core_access;
-
- #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
-
- // Serialization support
-
- BOOST_SERIALIZATION_SPLIT_MEMBER()
-
- friend class ::boost::serialization::access;
-
- template< class Archive >
- void save(Archive & ar, const unsigned int) const
- {
- ar << ::boost::serialization::make_nvp("mi_iterator",this->base());
- }
-
- template< class Archive >
- void load(Archive & ar, const unsigned int)
- {
- CoreIterator iter;
- ar >> ::boost::serialization::make_nvp("mi_iterator",iter);
- this->base_reference() = iter;
- }
-
- #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-};
-
-
-} // namespace detail
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DETAIL_MAP_VIEW_ITERATOR_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/test/check_metadata.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/test/check_metadata.hpp
deleted file mode 100644
index dee81f8ebb..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/test/check_metadata.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the 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_BIMAP_DETAIL_CHECK_METADATA_HPP
-#define BOOST_BIMAP_DETAIL_CHECK_METADATA_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-
-// Easier way to call BOOST_MPL_ASSERT_MSG in class scope
-/*===========================================================================*/
-#define BOOST_BIMAP_MPL_ASSERT_MSG_ACS(p1,p2,p3) \
- \
- struct p2 {}; \
- BOOST_MPL_ASSERT_MSG(p1,p2,p3); \
-/*===========================================================================*/
-
-
-// Build a descriptive name.
-/*===========================================================================*/
-#define BOOST_BIMAP_WRONG_METADATA_MESSAGE( \
- \
- P_CLASS, \
- P_NAME, \
- P_CORRECT_TYPE \
- \
- ) \
- \
- BOOST_PP_CAT \
- ( \
- WRONG_METADATA__, \
- BOOST_PP_CAT \
- ( \
- P_CLASS, \
- BOOST_PP_CAT \
- ( \
- __AT__, \
- BOOST_PP_CAT \
- ( \
- P_NAME, \
- BOOST_PP_CAT \
- ( \
- __IS_DIFERENT_TO__, \
- P_CORRECT_TYPE \
- ) \
- ) \
- ) \
- ) \
- )
-/*===========================================================================*/
-
-
-// Check if the metadata have the correct type, and if not inform
-// it with a useful compile time message.
-/*===========================================================================*/
-#define BOOST_BIMAP_CHECK_METADATA( \
- \
- P_CLASS, \
- P_NAME, \
- P_CORRECT_TYPE \
- \
- ) \
- \
- BOOST_BIMAP_MPL_ASSERT_MSG_ACS \
- ( \
- ( \
- ::boost::is_same \
- < \
- P_CLASS::P_NAME, \
- P_CORRECT_TYPE \
- \
- >::value \
- ), \
- BOOST_BIMAP_WRONG_METADATA_MESSAGE \
- ( \
- P_CLASS, \
- P_NAME, \
- P_CORRECT_TYPE \
- ), \
- (P_CLASS::P_NAME,P_CORRECT_TYPE) \
- )
-/*===========================================================================*/
-
-
-// Just for autodocumment the test code
-/*===========================================================================*/
-#define BOOST_BIMAP_TEST_STATIC_FUNCTION(NAME) \
- namespace NAME
-/*===========================================================================*/
-
-
-// Just for autodocument the test code
-/*===========================================================================*/
-#define BOOST_BIMAP_CALL_TEST_STATIC_FUNCTION(NAME)
-/*===========================================================================*/
-
-
-
-#endif // BOOST_BIMAP_DETAIL_CHECK_METADATA_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/detail/user_interface_config.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/detail/user_interface_config.hpp
deleted file mode 100644
index 5bdf41bf7e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/detail/user_interface_config.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file detail/user_interface_config.hpp
-/// \brief General configuration directives
-
-
-#ifndef BOOST_BIMAP_DETAIL_USER_INTERFACE_CONFIG_HPP
-#define BOOST_BIMAP_DETAIL_USER_INTERFACE_CONFIG_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#ifdef BOOST_BIMAP_DISABLE_SERIALIZATION
- #define BOOST_MULTI_INDEX_DISABLE_SERIALIZATION
-#endif
-
-#endif // BOOST_BIMAP_DETAIL_USER_INTERFACE_CONFIG_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/list_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/list_of.hpp
deleted file mode 100644
index 3bd6d379d6..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/list_of.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file list_of.hpp
-/// \brief Include support for list constrains for the bimap container
-
-#ifndef BOOST_BIMAP_LIST_OF_HPP
-#define BOOST_BIMAP_LIST_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/user_interface_config.hpp>
-
-#include <boost/mpl/bool.hpp>
-
-#include <boost/concept_check.hpp>
-
-#include <boost/bimap/detail/concept_tags.hpp>
-
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/bimap/detail/generate_index_binder.hpp>
-#include <boost/bimap/detail/generate_view_binder.hpp>
-#include <boost/bimap/detail/generate_relation_binder.hpp>
-
-#include <boost/multi_index/sequenced_index.hpp>
-
-#include <boost/bimap/views/list_map_view.hpp>
-#include <boost/bimap/views/list_set_view.hpp>
-
-namespace boost {
-namespace bimaps {
-
-
-/// \brief Set Type Specification
-/**
-This struct is used to specify a set specification.
-It is not a container, it is just a metaprogramming facility to
-express the type of a set. Generally, this specification will
-be used in other place to create a container.
-It has the same syntax that an std::list instantiation, except
-that the allocator cannot be specified. The rationale behind
-this difference is that the allocator is not part of the set
-type specification, rather it is a container configuration
-parameter.
-
-\code
-using namespace support;
-
-BOOST_STATIC_ASSERT( is_set_type_of< list_of<Type> >::value )
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- list_of<Type>::index_bind
- <
- KeyExtractor,
- Tag
-
- >::type,
-
- sequenced< tag<Tag>, KeyExtractor >
-
- >::value
-)
-
-typedef bimap
-<
- list_of<Type>, RightKeyType
-
-> bimap_with_left_type_as_list;
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- list_of<Type>::map_view_bind
- <
- member_at::left,
- bimap_with_left_type_as_list
-
- >::type,
- list_map_view< member_at::left, bimap_with_left_type_as_list >
-
- >::value
-)
-
-\endcode
-
-See also list_of_relation.
- **/
-
-template< class Type >
-struct list_of : public ::boost::bimaps::detail::set_type_of_tag
-{
- /// User type, can be tagged
- typedef Type user_type;
-
- /// Type of the object that will be stored in the list
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
-
-
- struct lazy_concept_checked
- {
- BOOST_CLASS_REQUIRE ( value_type,
- boost, AssignableConcept );
-
- typedef list_of type;
- };
-
- BOOST_BIMAP_GENERATE_INDEX_BINDER_0CP_NO_EXTRACTOR(
-
- // binds to
- multi_index::sequenced
- )
-
- BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER(
-
- // binds to
- views::list_map_view
- )
-
- BOOST_BIMAP_GENERATE_SET_VIEW_BINDER(
-
- // binds to
- views::list_set_view
- )
-
- typedef mpl::bool_<true> mutable_key;
-};
-
-
-/// \brief List Of Relation Specification
-/**
-This struct is similar to list_of but it is bind logically to a
-relation. It is used in the bimap instantiation to specify the
-desired type of the main view. This struct implements internally
-a metafunction named bind_to that manages the quite complicated
-task of finding the right type of the set for the relation.
-
-\code
-template<class Relation>
-struct bind_to
-{
- typedef -unspecified- type;
-};
-\endcode
-
-See also list_of, is_set_type_of_relation.
- **/
-
-struct list_of_relation : public ::boost::bimaps::detail::set_type_of_relation_tag
-{
- BOOST_BIMAP_GENERATE_RELATION_BINDER_0CP(
-
- // binds to
- list_of
- )
-
- typedef mpl::bool_<true> left_mutable_key;
- typedef mpl::bool_<true> right_mutable_key;
-};
-
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_LIST_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/multiset_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/multiset_of.hpp
deleted file mode 100644
index 5124631994..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/multiset_of.hpp
+++ /dev/null
@@ -1,205 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file multiset_of.hpp
-/// \brief Include support for multiset constrains for the bimap container
-
-#ifndef BOOST_BIMAP_MULTISET_OF_HPP
-#define BOOST_BIMAP_MULTISET_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/user_interface_config.hpp>
-
-#include <functional>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/concept_check.hpp>
-
-#include <boost/bimap/detail/concept_tags.hpp>
-
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/bimap/detail/generate_index_binder.hpp>
-#include <boost/bimap/detail/generate_view_binder.hpp>
-#include <boost/bimap/detail/generate_relation_binder.hpp>
-
-#include <boost/multi_index/ordered_index.hpp>
-
-#include <boost/bimap/views/multimap_view.hpp>
-#include <boost/bimap/views/multiset_view.hpp>
-
-namespace boost {
-namespace bimaps {
-
-/// \brief Set Type Specification
-/**
-This struct is used to specify a multiset specification.
-It is not a container, it is just a metaprogramming facility to
-express the type of a set. Generally, this specification will
-be used in other place to create a container.
-It has the same syntax that an std::set instantiation, except
-that the allocator cannot be specified. The rationale behind
-this difference is that the allocator is not part of the set
-type specification, rather it is a container configuration
-parameter.
-The first parameter is the type of the objects in the multiset,
-and the second one is a Functor that compares them.
-Bimap binding metafunctions can be used with this class in
-the following way:
-
-\code
-using namespace support;
-
-BOOST_STATIC_ASSERT( is_set_type_of< multiset_of<Type> >::value )
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- compute_index_type
- <
- multiset_of<Type,KeyCompare>,
- KeyExtractor,
- Tag
-
- >::type
- ,
- ordered_nonunique< tag<Tag>, KeyExtractor, KeyCompare >
-
- >::value
-)
-
-typedef bimap
-<
- multiset_of<Type>, RightKeyType
-
-> bimap_with_left_type_as_multiset;
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- compute_map_view_type
- <
- member_at::left,
- bimap_with_left_type_as_multiset
-
- >::type,
- multimap_view< member_at::left, bimap_with_left_type_as_multiset >
-
- >::value
-)
-
-\endcode
-
-See also multiset_of_relation.
- **/
-
-template
-<
- class KeyType,
- class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
->
-struct multiset_of : public ::boost::bimaps::detail::set_type_of_tag
-{
- /// User type, can be tagged
- typedef KeyType user_type;
-
- /// Type of the object that will be stored in the multiset
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
-
- /// Functor that compare two keys
- typedef KeyCompare key_compare;
-
- struct lazy_concept_checked
- {
- BOOST_CLASS_REQUIRE ( value_type,
- boost, AssignableConcept );
-
- BOOST_CLASS_REQUIRE4( key_compare, bool, value_type, value_type,
- boost, BinaryFunctionConcept );
-
- typedef multiset_of type;
- };
-
- BOOST_BIMAP_GENERATE_INDEX_BINDER_1CP(
-
- // binds to
- multi_index::ordered_non_unique,
-
- // with
- key_compare
- )
-
- BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER(
-
- // binds to
- views::multimap_view
- )
-
- BOOST_BIMAP_GENERATE_SET_VIEW_BINDER(
-
- // binds to
- views::multiset_view
- )
-
- typedef mpl::bool_<false> mutable_key;
-};
-
-
-/// \brief Set Of Relation Specification
-/**
-This struct is similar to multiset_of but it is bind logically to a
-relation. It is used in the bimap instantiation to specify the
-desired type of the main view. This struct implements internally
-a metafunction named bind_to that manages the quite complicated
-task of finding the right type of the set for the relation.
-
-\code
-template<class Relation>
-struct bind_to
-{
- typedef -unspecified- type;
-};
-\endcode
-
-See also multiset_of, is_set_type_of_relation.
- **/
-
-template< class KeyCompare = std::less< _relation > >
-struct multiset_of_relation : public ::boost::bimaps::detail::set_type_of_relation_tag
-{
- /// Functor that compare two keys
- typedef KeyCompare key_compare;
-
-
- BOOST_BIMAP_GENERATE_RELATION_BINDER_1CP(
-
- // binds to
- multiset_of,
-
- // with
- key_compare
- )
-
- typedef mpl::bool_<false> left_mutable_key;
- typedef mpl::bool_<false> right_mutable_key;
-};
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_MULTISET_OF_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/property_map/set_support.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/property_map/set_support.hpp
deleted file mode 100644
index 7e3f5a55a7..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/property_map/set_support.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file property_map/set_support.hpp
-/// \brief Support for the property map concept.
-
-#ifndef BOOST_BIMAP_PROPERTY_MAP_SET_SUPPORT_HPP
-#define BOOST_BIMAP_PROPERTY_MAP_SET_SUPPORT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/set_of.hpp>
-#include <boost/bimap/support/data_type_by.hpp>
-#include <boost/bimap/support/key_type_by.hpp>
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-
-template <typename PA> struct property_traits;
-struct readable_property_map_tag;
-
-template< class Tag, class Bimap >
-struct property_traits< ::boost::bimaps::views::map_view<Tag,Bimap> >
-{
- typedef BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::data_type_by<Tag,Bimap>::type value_type;
- typedef BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support:: key_type_by<Tag,Bimap>::type key_type;
-
- typedef readable_property_map_tag category;
-};
-
-
-template< class Tag, class Bimap >
-const BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::data_type_by<Tag,Bimap>::type &
- get(const ::boost::bimaps::views::map_view<Tag,Bimap> & m,
- const BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::key_type_by<Tag,Bimap>::type & key)
-{
- return m.at(key);
-}
-
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_PROPERTY_MAP_SET_SUPPORT_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/property_map/unordered_set_support.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/property_map/unordered_set_support.hpp
deleted file mode 100644
index 85c533384a..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/property_map/unordered_set_support.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file property_map/unordered_set_support.hpp
-/// \brief Support for the property map concept.
-
-#ifndef BOOST_BIMAP_PROPERTY_MAP_UNORDERED_SET_SUPPORT_HPP
-#define BOOST_BIMAP_PROPERTY_MAP_UNORDERED_SET_SUPPORT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/unordered_set_of.hpp>
-#include <boost/bimap/support/data_type_by.hpp>
-#include <boost/bimap/support/key_type_by.hpp>
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-
-template <typename PA> struct property_traits;
-struct readable_property_map_tag;
-
-template< class Tag, class Bimap >
-struct property_traits< ::boost::bimaps::views::unordered_map_view<Tag,Bimap> >
-{
- typedef BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::data_type_by<Tag,Bimap>::type value_type;
- typedef BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support:: key_type_by<Tag,Bimap>::type key_type;
-
- typedef readable_property_map_tag category;
-};
-
-
-template< class Tag, class Bimap >
-const BOOST_DEDUCED_TYPENAME ::boost::bimaps::support::data_type_by<Tag,Bimap>::type &
- get(const ::boost::bimaps::views::unordered_map_view<Tag,Bimap> & m,
- const BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::support::key_type_by<Tag,Bimap>::type & key)
-{
- return m.at(key);
-}
-
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_PROPERTY_MAP_UNORDERED_SET_SUPPORT_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/access_builder.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/access_builder.hpp
deleted file mode 100644
index fd707769f0..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/access_builder.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/detail/access_builder.hpp
-/// \brief Define macros to help building metafunctions
-
-#ifndef BOOST_BIMAP_RELATION_ACCESS_BUILDER_HPP
-#define BOOST_BIMAP_RELATION_ACCESS_BUILDER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/support/member_with_tag.hpp>
-#include <boost/bimap/relation/member_at.hpp>
-#include <boost/call_traits.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/core/enable_if.hpp>
-
-
-/******************************************************************************
- BIMAP SYMMETRIC ACCESS RESULT OF
-*******************************************************************************
-
-namespace result_of {
-
-template< class Tag, class SymmetricType >
-struct NAME
-{
- typedef -unspecified- type;
-};
-
-} // namespace result_of
-
-******************************************************************************/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_SYMMETRIC_ACCESS_RESULT_OF_BUILDER( \
- \
- NAME, \
- METAFUNCTION_BASE \
- ) \
- \
- namespace result_of { \
- \
- template< class Tag, class SymmetricType > \
- struct NAME \
- { \
- typedef BOOST_DEDUCED_TYPENAME METAFUNCTION_BASE \
- < \
- Tag,SymmetricType \
- \
- >::type value_type; \
- \
- typedef BOOST_DEDUCED_TYPENAME mpl::if_< is_const<SymmetricType>, \
- \
- BOOST_DEDUCED_TYPENAME call_traits<value_type>::const_reference, \
- \
- BOOST_DEDUCED_TYPENAME call_traits<value_type>::reference \
- \
- >::type type; \
- }; \
- \
- }
-/*===========================================================================*/
-
-
-
-/******************************************************************************
- BIMAP SYMMETRIC ACCESS IMPLEMENTATION
-*******************************************************************************
-
-namespace detail {
-
-template< class Tag, class SymmetricType >
-typename result_of::NAME<Tag,SymmetricType>::type
- NAME( Tag , const Relation & );
-
-} // namespace detail
-
-******************************************************************************/
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_SYMMETRIC_ACCESS_IMPLEMENTATION_BUILDER( \
- \
- NAME, \
- TP_SYMMETRIC, \
- PARAMETER_NAME, \
- LEFT_BODY, \
- RIGHT_BODY \
- ) \
- \
- namespace detail { \
- \
- \
- \
- template< class TP_SYMMETRIC > \
- BOOST_DEDUCED_TYPENAME result_of::NAME \
- < \
- ::boost::bimaps::relation::member_at::left,TP_SYMMETRIC \
- \
- >::type \
- \
- NAME( ::boost::bimaps::relation::member_at::left, \
- TP_SYMMETRIC & PARAMETER_NAME ) \
- { \
- LEFT_BODY; \
- } \
- \
- template< class TP_SYMMETRIC > \
- BOOST_DEDUCED_TYPENAME result_of::NAME \
- < \
- ::boost::bimaps::relation::member_at::right,TP_SYMMETRIC \
- \
- >::type \
- \
- NAME( ::boost::bimaps::relation::member_at::right, \
- TP_SYMMETRIC & PARAMETER_NAME ) \
- { \
- RIGHT_BODY; \
- } \
- \
- }
-/*===========================================================================*/
-
-
-/******************************************************************************
- BIMAP RELATION ACCESS INTERFACE
-*******************************************************************************
-
-template< class Tag, class SymmetricType >
-typename result_of::NAME<Tag,SymmetricType>::type
- NAME( const SymmetricType & );
-
-******************************************************************************/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_SYMMETRIC_ACCESS_INTERFACE_BUILDER( \
- \
- NAME \
- ) \
- \
- template< class Tag, class SymmetricType > \
- BOOST_DEDUCED_TYPENAME result_of::NAME<Tag,SymmetricType>::type \
- NAME( SymmetricType & s ) \
- { \
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support:: \
- member_with_tag \
- < \
- Tag,SymmetricType \
- \
- >::type member_at_tag; \
- \
- return detail::NAME(member_at_tag(),s); \
- }
-/*===========================================================================*/
-
-
-#endif // BOOST_BIMAP_RELATION_ACCESS_BUILDER_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/metadata_access_builder.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/metadata_access_builder.hpp
deleted file mode 100644
index d0cf6d0e15..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/metadata_access_builder.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/detail/metadata_access_builder.hpp
-/// \brief Define macros to help building metafunctions
-
-#ifndef BOOST_BIMAP_RELATION_DETAIL_METADATA_ACCESS_BUILDER_HPP
-#define BOOST_BIMAP_RELATION_DETAIL_METADATA_ACCESS_BUILDER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/support/is_tag_of_member_at.hpp>
-#include <boost/bimap/detail/debug/static_error.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-
-
-/******************************************************************************
- BIMAP SYMMETRIC METADATA ACCESS INTERFACE
-*******************************************************************************
-
-template< class Tag, class SymmetricType >
-struct NAME
-{
- typedef -unspecified- type;
-};
-
-******************************************************************************/
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER( \
- \
- NAME, \
- METADATA_BY_LEFT, \
- METADATA_BY_RIGHT \
- ) \
- \
- template \
- < \
- class Tag, \
- class SymmetricType, \
- class Enable = void \
- > \
- struct NAME \
- { \
- BOOST_BIMAP_STATIC_ERROR( \
- BOOST_PP_CAT(NAME,_FAILURE), \
- (SymmetricType,Tag) \
- ); \
- }; \
- \
- template< class Tag, class SymmetricType > \
- struct NAME \
- < \
- Tag, SymmetricType, \
- BOOST_DEDUCED_TYPENAME enable_if \
- < \
- ::boost::bimaps::relation::support::is_tag_of_member_at_left \
- < \
- Tag, \
- SymmetricType \
- > \
- \
- >::type \
- > \
- { \
- typedef BOOST_DEDUCED_TYPENAME SymmetricType::METADATA_BY_LEFT type; \
- }; \
- \
- template< class Tag, class SymmetricType > \
- struct NAME \
- < \
- Tag, SymmetricType, \
- BOOST_DEDUCED_TYPENAME enable_if \
- < \
- ::boost::bimaps::relation::support::is_tag_of_member_at_right \
- < \
- Tag, \
- SymmetricType \
- > \
- \
- >::type \
- > \
- { \
- typedef BOOST_DEDUCED_TYPENAME SymmetricType::METADATA_BY_RIGHT type; \
- };
-/*===========================================================================*/
-
-
-#endif // BOOST_BIMAP_RELATION_DETAIL_METADATA_ACCES_BUILDER_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/mutant.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/mutant.hpp
deleted file mode 100644
index 22641ee58b..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/mutant.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/detail/mutant.hpp
-/// \brief Mutate functions to extract views of mutant classes.
-
-#ifndef BOOST_BIMAP_RELATION_DETAIL_MUTANT_HPP
-#define BOOST_BIMAP_RELATION_DETAIL_MUTANT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/debug/static_error.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/core/enable_if.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-
-/// \brief Relation details, mutant idiom and symmetrical metafunctions builders.
-
-namespace detail {
-
-//@{
-/// \brief Converts a mutant class to a view with zero overhead.
-/**
-
-This function is a safe wrapper around reinterpret_cast. It checks at
-compile time that the desired view is supported by the mutant class.
-See also mutant, can_mutate_in.
-\ingroup mutant_group
- **/
-
-
-template< class View, class Type >
-BOOST_DEDUCED_TYPENAME enable_if< mpl::not_< is_const< Type > >,
-
-View&
-
->::type mutate( Type & m )
-{
- BOOST_MPL_ASSERT((
- ::boost::mpl::contains<BOOST_DEDUCED_TYPENAME Type::mutant_views,View>
- ));
- return *reinterpret_cast< View* >(boost::addressof(m));
-}
-
-template< class View, class Type >
-BOOST_DEDUCED_TYPENAME enable_if< is_const< Type >,
-
-const View&
-
->::type mutate( Type & m )
-{
- BOOST_MPL_ASSERT((
- ::boost::mpl::contains<BOOST_DEDUCED_TYPENAME Type::mutant_views,View>
- ));
- return *reinterpret_cast< const View* >(boost::addressof(m));
-}
-
-//@}
-
-} // namespace detail
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_RELATION_DETAIL_MUTANT_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/static_access_builder.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/static_access_builder.hpp
deleted file mode 100644
index 66aeb2e897..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/static_access_builder.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-
-/// \file relation/detail/static_access_builder.hpp
-/// \brief Define macros to help building metafunctions
-
-#ifndef BOOST_BIMAP_RELATION_DETAIL_STATIC_ACCESS_BUILDER_HPP
-#define BOOST_BIMAP_RELATION_DETAIL_STATIC_ACCESS_BUILDER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/support/is_tag_of_member_at.hpp>
-#include <boost/bimap/detail/debug/static_error.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-
-
-/******************************************************************************
- BIMAP SYMMETRIC STATIC ACCESS INTERFACE
-*******************************************************************************
-
-template< class Tag, class SYMETRIC_TYPE >
-struct NAME
-{
- -UNDEFINED BODY-;
-};
-
-******************************************************************************/
-
-
-/*===========================================================================*/
-#define BOOST_BIMAP_SYMMETRIC_STATIC_ACCESS_BUILDER( \
- \
- NAME, \
- SYMMETRIC_TYPE, \
- LEFT_BODY, \
- RIGHT_BODY \
- ) \
- \
- template \
- < \
- class Tag, \
- class SYMMETRIC_TYPE, \
- class Enable = void \
- > \
- struct NAME \
- { \
- BOOST_BIMAP_STATIC_ERROR( \
- BOOST_PP_CAT(NAME,_FAILURE), \
- (SYMMETRIC_TYPE,Tag) \
- ); \
- }; \
- \
- template< class Tag, class SYMMETRIC_TYPE > \
- struct NAME \
- < \
- Tag, SYMMETRIC_TYPE, \
- BOOST_DEDUCED_TYPENAME enable_if \
- < \
- ::boost::bimaps::relation::support::is_tag_of_member_at_left \
- < \
- Tag, \
- SYMMETRIC_TYPE \
- > \
- \
- >::type \
- > \
- { \
- LEFT_BODY; \
- }; \
- \
- template< class Tag, class SYMMETRIC_TYPE > \
- struct NAME \
- < \
- Tag, SYMMETRIC_TYPE, \
- BOOST_DEDUCED_TYPENAME enable_if \
- < \
- ::boost::bimaps::relation::support::is_tag_of_member_at_right \
- < \
- Tag, \
- SYMMETRIC_TYPE \
- > \
- \
- >::type \
- > \
- { \
- RIGHT_BODY; \
- };
-/*===========================================================================*/
-
-
-#endif // BOOST_BIMAP_RELATION_DETAIL_STATIC_ACCES_BUILDER_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/to_mutable_relation_functor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
deleted file mode 100644
index f484d45b4e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/detail/to_mutable_relation_functor.hpp
-/// \brief functors to convert types to mutable relations
-
-#ifndef BOOST_BIMAP_RELATION_DETAIL_TO_MUTABLE_RELATION_FUNCTOR_HPP
-#define BOOST_BIMAP_RELATION_DETAIL_TO_MUTABLE_RELATION_FUNCTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/support/pair_type_by.hpp>
-#include <boost/bimap/relation/detail/mutant.hpp>
-#include <boost/bimap/relation/mutant_relation.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace detail {
-
-/// \brief Functor used in map views
-
-template< class Tag, class Relation >
-struct pair_to_relation_functor
-{
- const Relation
- operator()(const BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- pair_type_by<Tag,Relation>::type & p) const
- {
- return Relation(p);
- }
-};
-
-template< class Tag, class TA, class TB, class Info >
-struct pair_to_relation_functor<
- Tag,::boost::bimaps::relation::mutant_relation<TA,TB,Info,true> >
-{
- typedef ::boost::bimaps::relation::mutant_relation<TA,TB,Info,true> Relation;
-
- Relation &
- operator()( BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- pair_type_by<Tag,Relation>::type & p ) const
- {
- return ::boost::bimaps::relation::detail::mutate<Relation>(p);
- }
-
- const Relation &
- operator()( const BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- pair_type_by<Tag,Relation>::type & p) const
- {
- return ::boost::bimaps::relation::detail::mutate<Relation>(p);
- }
-};
-
-
-/// \brief Used in set views
-
-template< class Relation >
-struct get_mutable_relation_functor
-{
- const Relation
- operator()( const BOOST_DEDUCED_TYPENAME Relation::above_view & r ) const
- {
- return Relation(r);
- }
-};
-
-template< class TA, class TB, class Info >
-struct get_mutable_relation_functor< ::boost::bimaps::relation::mutant_relation<TA,TB,Info,true> >
-{
- typedef ::boost::bimaps::relation::mutant_relation<TA,TB,Info,true> Relation;
-
- Relation &
- operator()( BOOST_DEDUCED_TYPENAME Relation::above_view & r ) const
- {
- return ::boost::bimaps::relation::detail::mutate<Relation>(r);
- }
-
- const Relation &
- operator()( const BOOST_DEDUCED_TYPENAME Relation::above_view & r ) const
- {
- return ::boost::bimaps::relation::detail::mutate<Relation>(r);
- }
-};
-
-} // namespace detail
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_RELATION_DETAIL_TO_MUTABLE_RELATION_FUNCTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/member_at.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/member_at.hpp
deleted file mode 100644
index b7385da5b6..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/member_at.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/member_at.hpp
-/// \brief Defines the tags for the member_at::side idiom
-
-#ifndef BOOST_BIMAP_RELATION_MEMBER_AT_HPP
-#define BOOST_BIMAP_RELATION_MEMBER_AT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-
-/// \brief member_at::side idiom to access relation values and types using metaprogramming.
-/**
-
-This tags are used to specify which member you want to access when using a metafunction over
-a symmetrical type. The idea is to be able to write code like:
-
-\code
-result_of::get<member_at::left,relation>::type data = get<member_at::left>(rel);
-\endcode
-
-The relation class supports this idiom even when the elements are tagged. This is useful
-because a user can decide to start tagging in any moment of the development.
-
-See also member_with_tag, is_tag_of_member_at_left, is_tag_of_member_at_right, get
-value_type_of, pair_by, pair_type_by.
-
-\ingroup relation_group
- **/
-namespace member_at {
-
- /// \brief Member at left tag
- /**
- See also member_at, right.
- **/
-
- struct left {};
-
- /// \brief Member at right tag
- /**
- See also member_at, left.
- **/
-
- struct right {};
-
- /// \brief Member info tag
- /**
- See also member_at, left, right.
- **/
-
- struct info {};
-
-}
-
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_RELATION_MEMBER_AT_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/mutant_relation.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/mutant_relation.hpp
deleted file mode 100644
index d6d41062c7..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/mutant_relation.hpp
+++ /dev/null
@@ -1,477 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/mutant_relation.hpp
-/// \brief Defines the mutant_relation class
-
-#ifndef BOOST_BIMAP_RELATION_MUTANT_RELATION_HPP
-#define BOOST_BIMAP_RELATION_MUTANT_RELATION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/vector.hpp>
-#include <boost/operators.hpp>
-#include <boost/call_traits.hpp>
-
-#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
- #include <boost/serialization/nvp.hpp>
-#endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-
-#include <boost/functional/hash/hash.hpp>
-
-#include <boost/mpl/aux_/na.hpp>
-
-// Boost.Bimap
-#include <boost/bimap/tags/tagged.hpp>
-#include <boost/bimap/tags/support/default_tagged.hpp>
-#include <boost/bimap/tags/support/tag_of.hpp>
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/bimap/relation/member_at.hpp>
-#include <boost/bimap/relation/detail/mutant.hpp>
-#include <boost/bimap/relation/structured_pair.hpp>
-#include <boost/bimap/relation/symmetrical_base.hpp>
-#include <boost/bimap/relation/support/get.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-
-namespace detail {
-
-// This class is included so structured_pair and mutant_relation share
-// exactly the same class layout
-
-template< class LeftType, class RightType, bool force_mutable >
-class relation_storage :
- public symmetrical_base<LeftType,RightType,force_mutable>
-{
- typedef symmetrical_base<LeftType,RightType,force_mutable> base_;
-
- typedef relation_storage storage_;
-
- public:
-
- typedef relation_storage<LeftType,RightType,false> non_mutable_storage;
-
- typedef ::boost::mpl::vector2
- <
- relation_storage< LeftType, RightType, true >,
- relation_storage< LeftType, RightType, false >
-
- > mutant_views;
-
- //@{
- /// data
- BOOST_DEDUCED_TYPENAME base_::left_value_type left;
- BOOST_DEDUCED_TYPENAME base_::right_value_type right;
- //@}
-
- relation_storage() {}
-
- relation_storage(BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::left_value_type
- >::param_type l,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::right_value_type
- >::param_type r)
-
- : left(l), right(r) {}
-
- BOOST_DEDUCED_TYPENAME base_:: left_value_type & get_left() { return left; }
- const BOOST_DEDUCED_TYPENAME base_:: left_value_type & get_left()const { return left; }
- BOOST_DEDUCED_TYPENAME base_::right_value_type & get_right() { return right; }
- const BOOST_DEDUCED_TYPENAME base_::right_value_type & get_right()const { return right; }
-};
-
-
-
-template< class TA, class TB, class Info, bool force_mutable >
-class relation_info_hook : public
- ::boost::bimaps::relation::detail::relation_storage<TA,TB,force_mutable>
-{
- typedef ::boost::bimaps::relation::detail::
- relation_storage<TA,TB,force_mutable> base_;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- default_tagged<Info,member_at::info>::type tagged_info_type;
-
- public:
- typedef BOOST_DEDUCED_TYPENAME tagged_info_type::value_type info_type;
- typedef BOOST_DEDUCED_TYPENAME tagged_info_type::tag info_tag;
-
- info_type info;
-
- protected:
-
- relation_info_hook() {}
-
- relation_info_hook( BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::left_value_type
- >::param_type l,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::right_value_type
- >::param_type r,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- info_type
- >::param_type i = info_type() )
-
- : base_(l,r), info(i) {}
-
- template< class Relation >
- relation_info_hook( const Relation & rel ) :
- base_(rel.left,rel.right),
- info(rel.info) {}
-
- template< class Relation >
- void change_to( const Relation & rel )
- {
- base_::left = rel.left ;
- base_::right = rel.right;
- info = rel.info ;
- }
-
- #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
- template< class Archive >
- void serialize(Archive & ar, const unsigned int)
- {
- ar & ::boost::serialization::make_nvp("left" , base_::left );
- ar & ::boost::serialization::make_nvp("right", base_::right);
- ar & ::boost::serialization::make_nvp("info" , info );
- }
- #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-};
-
-template< class TA, class TB, bool force_mutable>
-class relation_info_hook<TA,TB,::boost::mpl::na,force_mutable> :
- public ::boost::bimaps::relation::detail::relation_storage<TA,TB,force_mutable>
-{
- typedef ::boost::bimaps::relation::detail::
- relation_storage<TA,TB,force_mutable> base_;
-
- public:
- typedef ::boost::mpl::na info_type;
- typedef member_at::info info_tag;
-
- protected:
-
- relation_info_hook() {}
-
- relation_info_hook( BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::left_value_type
- >::param_type l,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::right_value_type
- >::param_type r)
-
- : base_(l,r) {}
-
- template< class Relation >
- relation_info_hook( const Relation & rel ) :
- base_(rel.left,rel.right) {}
-
- template< class Relation >
- void change_to( const Relation & rel )
- {
- base_::left = rel.left ;
- base_::right = rel.right;
- }
-
- #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
- template< class Archive >
- void serialize(Archive & ar, const unsigned int)
- {
- ar & ::boost::serialization::make_nvp("left" , base_::left );
- ar & ::boost::serialization::make_nvp("right", base_::right);
- }
- #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-};
-
-
-} // namespace detail
-
-/// \brief Abstraction of a related pair of values, that extends the std::pair class.
-/**
-The mutant_relation is a mutant class. A mutant class can mutate
-with zero overhead in other classes that are called views.
-Each view has to be StorageCompatible with the base class
-of the mutant. Note that all the views have the following
-storage structure:
-
-\verbatim
- __________
- | |
- | TA |
- |__________|
- | |
- | TB |
- |__________|
-
-\endverbatim
-
-See also select_relation, standard_relation.
-\ingroup relation_group
- **/
-
-
-template< class TA, class TB, class Info = ::boost::mpl::na, bool force_mutable = false >
-class mutant_relation : public
- ::boost::bimaps::relation::detail::
- relation_info_hook<TA,TB,Info,force_mutable>
-{
- typedef ::boost::bimaps::relation::detail::
- relation_info_hook<TA,TB,Info,force_mutable> base_;
-
- public:
-
- // We have to know the type of the base where the types are
- // defined because Boost.MultiIndex requires it.
-
- typedef ::boost::bimaps::relation::detail::
- relation_storage<TA,TB,force_mutable> storage_base;
-
- /// Above view, non mutable view of the relation
-
- typedef mutant_relation<TA,TB,Info,false> above_view;
-
- //@{
- /// A signature compatible std::pair that is a view of the relation.
-
- typedef structured_pair< TA, TB, Info, normal_layout > left_pair;
- typedef structured_pair< TB, TA, Info, mirror_layout > right_pair;
- //@}
-
- typedef ::boost::mpl::vector4
- <
- left_pair,
- right_pair,
-
- mutant_relation< TA, TB, Info, true >,
- mutant_relation< TA, TB, Info, false >
-
- > mutant_views;
-
- mutant_relation() {}
-
- mutant_relation(BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_:: left_value_type
- >::param_type l,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::right_value_type
- >::param_type r) :
- base_(l,r) {}
-
- mutant_relation(BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_:: left_value_type
- >::param_type l,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::right_value_type
- >::param_type r,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::info_type
- >::param_type i) :
- base_(l,r,i) {}
-
- mutant_relation(const mutant_relation<TA,TB,Info,false> & rel) :
- base_(rel) {}
-
- mutant_relation(const mutant_relation<TA,TB,Info,true> & rel) :
- base_(rel) {}
-
- // Operators
-
- template< bool FM >
- mutant_relation& operator=(const mutant_relation<TA,TB,Info,FM> & rel)
- {
- base_::change_to(rel);
- return *this;
- }
-
- // The following functions are redundant if you only consider this class.
- // They are included to make easier the construction of the get and the
- // pair_by metafunction. Remember that not all compiler supports the mutant
- // idiom.
-
- left_pair & get_left_pair()
- {
- return ::boost::bimaps::relation::detail::mutate<left_pair>(*this);
- }
-
- const left_pair & get_left_pair() const
- {
- return ::boost::bimaps::relation::detail::mutate<left_pair>(*this);
- }
-
- right_pair & get_right_pair()
- {
- return ::boost::bimaps::relation::detail::mutate<right_pair>(*this);
- }
-
- const right_pair & get_right_pair() const
- {
- return ::boost::bimaps::relation::detail::mutate<right_pair>(*this);
- }
-
- above_view & get_view()
- {
- return ::boost::bimaps::relation::detail::mutate<above_view>(*this);
- }
-
- const above_view & get_view() const
- {
- return ::boost::bimaps::relation::detail::mutate<above_view>(*this);
- }
-
- template< class Tag >
- const BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- result_of::get<Tag,const mutant_relation>::type
- get() const
- {
- return ::boost::bimaps::relation::support::get<Tag>(*this);
- }
-
- template< class Tag >
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- result_of::get<Tag,mutant_relation>::type
- get()
- {
- return ::boost::bimaps::relation::support::get<Tag>(*this);
- }
-
- #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
-
- private:
- friend class ::boost::serialization::access;
-
- template<class Archive>
- void serialize(Archive & ar, const unsigned int version)
- {
- base_::serialize(ar,version);
- }
-
- #endif // BOOST_BIMAP_DISABLE_SERIALIZATION
-};
-
-// hash value
-
-template< class FirstType, class SecondType, bool FM >
-std::size_t hash_value(const detail::relation_storage<FirstType,SecondType,FM> & r)
-{
- std::size_t seed = 0;
- ::boost::hash_combine(seed, r. left );
- ::boost::hash_combine(seed, r.right );
-
- return seed;
-}
-
-// mutant_relation - mutant_relation
-
-template< class FirstType, class SecondType, bool FM1, bool FM2 >
-bool operator==(const detail::relation_storage<FirstType,SecondType,FM1> & a,
- const detail::relation_storage<FirstType,SecondType,FM2> & b)
-{
- return ( ( a.left == b.left ) &&
- ( a.right == b.right ) );
-}
-
-template< class FirstType, class SecondType, bool FM1, bool FM2 >
-bool operator!=(const detail::relation_storage<FirstType,SecondType,FM1> & a,
- const detail::relation_storage<FirstType,SecondType,FM2> & b)
-{
- return ! ( a == b );
-}
-
-template< class FirstType, class SecondType, bool FM1, bool FM2 >
-bool operator<(const detail::relation_storage<FirstType,SecondType,FM1> & a,
- const detail::relation_storage<FirstType,SecondType,FM2> & b)
-{
- return ( ( a.left < b.left ) ||
- (( a.left == b.left ) && ( a.right < b.right )));
-}
-
-template< class FirstType, class SecondType, bool FM1, bool FM2 >
-bool operator<=(const detail::relation_storage<FirstType,SecondType,FM1> & a,
- const detail::relation_storage<FirstType,SecondType,FM2> & b)
-{
- return ( ( a.left < b.left ) ||
- (( a.left == b.left ) && ( a.right <= b.right )));
-}
-
-template< class FirstType, class SecondType, bool FM1, bool FM2 >
-bool operator>(const detail::relation_storage<FirstType,SecondType,FM1> & a,
- const detail::relation_storage<FirstType,SecondType,FM2> & b)
-{
- return ( ( a.left > b.left ) ||
- (( a.left == b.left ) && ( a.right > b.right )));
-}
-
-template< class FirstType, class SecondType, bool FM1, bool FM2 >
-bool operator>=(const detail::relation_storage<FirstType,SecondType,FM1> & a,
- const detail::relation_storage<FirstType,SecondType,FM2> & b)
-{
- return ( ( a.left > b.left ) ||
- (( a.left == b.left ) && ( a.right >= b.right )));
-}
-
-namespace detail {
-
-template< class TA, class TB, class Info, bool force_mutable>
-mutant_relation<TA,TB,Info,force_mutable>
- copy_with_left_replaced(mutant_relation<TA,TB,Info,force_mutable> const& rel,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- mutant_relation<TA,TB,Info,force_mutable>::left_value_type>
- ::param_type l)
-{
- return mutant_relation<TA,TB,Info,force_mutable>(l,rel.right,rel.info);
-}
-
-template< class TA, class TB, bool force_mutable>
-mutant_relation<TA,TB,::boost::mpl::na,force_mutable>
- copy_with_left_replaced(mutant_relation<TA,TB,::boost::mpl::na,force_mutable> const& rel,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- mutant_relation<TA,TB,::boost::mpl::na,force_mutable>::left_value_type>
- ::param_type l)
-{
- return mutant_relation<TA,TB,::boost::mpl::na,force_mutable>(l,rel.right);
-}
-
-template< class TA, class TB, class Info, bool force_mutable>
-mutant_relation<TA,TB,Info,force_mutable>
- copy_with_right_replaced(mutant_relation<TA,TB,Info,force_mutable> const& rel,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- mutant_relation<TA,TB,Info,force_mutable>::right_value_type>
- ::param_type r)
-{
- return mutant_relation<TA,TB,Info,force_mutable>(rel.left,r,rel.info);
-}
-
-template< class TA, class TB, bool force_mutable>
-mutant_relation<TA,TB,::boost::mpl::na,force_mutable>
- copy_with_right_replaced(mutant_relation<TA,TB,::boost::mpl::na,force_mutable> const& rel,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- mutant_relation<TA,TB,::boost::mpl::na,force_mutable>::right_value_type>
- ::param_type r)
-{
- return mutant_relation<TA,TB,::boost::mpl::na,force_mutable>(rel.left,r);
-}
-
-} // namespace detail
-
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_RELATION_MUTANT_RELATION_HPP
-
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/pair_layout.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/pair_layout.hpp
deleted file mode 100644
index d012b9f455..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/pair_layout.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/pair_layout.hpp
-/// \brief Tags for pair layouts
-
-#ifndef BOOST_BIMAP_RELATION_PAIR_LAYOUT_HPP
-#define BOOST_BIMAP_RELATION_PAIR_LAYOUT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-
-//@{
-
-/// \brief Tag for normal layout. ( A,B -> A,B )
-
-struct normal_layout {};
-
-/// \brief Tag for mirror layout. ( A,B -> B,A )
-
-struct mirror_layout {};
-
-//@}
-
-/** \struct boost::bimaps::relation::inverse_layout
-\brief Metafunction to obtain the inverse of a layout.
-
-\code
-template< class Layout >
-struct inverse_layout
-{
- typedef {InverseLayout} type;
-};
-\endcode
-
-See also normal_layout, mirror_layout.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class Layout >
-struct inverse_layout
-{
- typedef normal_layout type;
-};
-
-template<>
-struct inverse_layout< normal_layout >
-{
- typedef mirror_layout type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_RELATION_DETAIL_PAIR_LAYOUT_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/structured_pair.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/structured_pair.hpp
deleted file mode 100644
index 4ccd56f14d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/structured_pair.hpp
+++ /dev/null
@@ -1,552 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/structured_pair.hpp
-/// \brief Defines the structured_pair class.
-
-#ifndef BOOST_BIMAP_RELATION_STRUCTURED_PAIR_HPP
-#define BOOST_BIMAP_RELATION_STRUCTURED_PAIR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <utility>
-
-#include <boost/type_traits/remove_const.hpp>
-
-#include <boost/mpl/aux_/na.hpp>
-
-#include <boost/call_traits.hpp>
-
-#include <boost/core/enable_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/vector.hpp>
-
-#include <boost/bimap/detail/debug/static_error.hpp>
-#include <boost/bimap/relation/pair_layout.hpp>
-#include <boost/bimap/relation/symmetrical_base.hpp>
-#include <boost/bimap/relation/support/get.hpp>
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-
-namespace detail {
-
-/// \brief Storage definition of the left view of a mutant relation.
-/**
-
-See also storage_finder, mirror_storage.
- **/
-
-template< class FirstType, class SecondType >
-class normal_storage :
- public symmetrical_base<FirstType,SecondType>
-{
- typedef symmetrical_base<FirstType,SecondType> base_;
-
- public:
-
- typedef normal_storage storage_;
-
- typedef BOOST_DEDUCED_TYPENAME base_::left_value_type first_type;
- typedef BOOST_DEDUCED_TYPENAME base_::right_value_type second_type;
-
- first_type first;
- second_type second;
-
- normal_storage() {}
-
- normal_storage(BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- first_type >::param_type f,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- second_type>::param_type s)
-
- : first(f), second(s) {}
-
- BOOST_DEDUCED_TYPENAME base_:: left_value_type & get_left() { return first; }
- const BOOST_DEDUCED_TYPENAME base_:: left_value_type & get_left()const { return first; }
- BOOST_DEDUCED_TYPENAME base_::right_value_type & get_right() { return second; }
- const BOOST_DEDUCED_TYPENAME base_::right_value_type & get_right()const { return second; }
-};
-
-/// \brief Storage definition of the right view of a mutant relation.
-/**
-
-See also storage_finder, normal_storage.
- **/
-
-template< class FirstType, class SecondType >
-class mirror_storage :
- public symmetrical_base<SecondType,FirstType>
-{
- typedef symmetrical_base<SecondType,FirstType> base_;
-
- public:
-
- typedef mirror_storage storage_;
-
- typedef BOOST_DEDUCED_TYPENAME base_::left_value_type second_type;
- typedef BOOST_DEDUCED_TYPENAME base_::right_value_type first_type;
-
- second_type second;
- first_type first;
-
- mirror_storage() {}
-
- mirror_storage(BOOST_DEDUCED_TYPENAME ::boost::call_traits<first_type >::param_type f,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<second_type >::param_type s)
-
- : second(s), first(f) {}
-
- BOOST_DEDUCED_TYPENAME base_:: left_value_type & get_left() { return second; }
- const BOOST_DEDUCED_TYPENAME base_:: left_value_type & get_left()const { return second; }
- BOOST_DEDUCED_TYPENAME base_::right_value_type & get_right() { return first; }
- const BOOST_DEDUCED_TYPENAME base_::right_value_type & get_right()const { return first; }
-};
-
-/** \struct boost::bimaps::relation::storage_finder
-\brief Obtain the a storage with the correct layout.
-
-\code
-template< class FirstType, class SecondType, class Layout >
-struct storage_finder
-{
- typedef {normal/mirror}_storage<FirstType,SecondType> type;
-};
-\endcode
-
-See also normal_storage, mirror_storage.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template
-<
- class FirstType,
- class SecondType,
- class Layout
->
-struct storage_finder
-{
- typedef normal_storage<FirstType,SecondType> type;
-};
-
-template
-<
- class FirstType,
- class SecondType
->
-struct storage_finder<FirstType,SecondType,mirror_layout>
-{
- typedef mirror_storage<FirstType,SecondType> type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-
-template< class TA, class TB, class Info, class Layout >
-class pair_info_hook :
- public ::boost::bimaps::relation::detail::storage_finder<TA,TB,Layout>::type
-{
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::detail::storage_finder<TA,TB,Layout>::type base_;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- default_tagged<Info,member_at::info>::type tagged_info_type;
-
- public:
- typedef BOOST_DEDUCED_TYPENAME tagged_info_type::value_type info_type;
- typedef BOOST_DEDUCED_TYPENAME tagged_info_type::tag info_tag;
-
- info_type info;
-
- protected:
-
- pair_info_hook() {}
-
- pair_info_hook( BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::first_type
- >::param_type f,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::second_type
- >::param_type s,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- info_type
- >::param_type i = info_type() )
- : base_(f,s), info(i) {}
-
- template< class Pair >
- pair_info_hook( const Pair & p) :
- base_(p.first,p.second),
- info(p.info) {}
-
- template< class Pair >
- void change_to( const Pair & p )
- {
- base_::first = p.first ;
- base_::second = p.second;
- info = p.info ;
- }
-
- void clear_info()
- {
- info = info_type();
- };
-};
-
-template< class TA, class TB, class Layout>
-class pair_info_hook<TA,TB,::boost::mpl::na,Layout> :
- public ::boost::bimaps::relation::detail::storage_finder<TA,TB,Layout>::type
-{
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::detail::storage_finder<TA,TB,Layout>::type base_;
-
- public:
- typedef ::boost::mpl::na info_type;
- typedef member_at::info info_tag;
-
- protected:
-
- pair_info_hook() {}
-
- pair_info_hook( BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::first_type
- >::param_type f,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::second_type
- >::param_type s)
-
- : base_(f,s) {}
-
- template< class Pair >
- pair_info_hook( const Pair & p ) :
- base_(p.first,p.second) {}
-
- template< class Pair >
- void change_to( const Pair & p )
- {
- base_::first = p.first ;
- base_::second = p.second;
- }
-
- void clear_info() {};
-};
-
-
-
-} // namespace detail
-
-template< class TA, class TB, class Info, bool FM >
-class mutant_relation;
-
-
-/// \brief A std::pair signature compatible class that allows you to control
-/// the internal structure of the data.
-/**
-This class allows you to specify the order in which the two data types will be
-in the layout of the class.
- **/
-
-template< class FirstType, class SecondType, class Info, class Layout = normal_layout >
-class structured_pair :
-
- public ::boost::bimaps::relation::detail::pair_info_hook
- <
- FirstType, SecondType,
- Info,
- Layout
-
- >
-
-{
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::detail::pair_info_hook
- <
- FirstType, SecondType,
- Info,
- Layout
-
- > base_;
-
- public:
-
- typedef ::boost::mpl::vector3<
- structured_pair< FirstType, SecondType, Info, normal_layout >,
- structured_pair< FirstType, SecondType, Info, mirror_layout >,
- BOOST_DEDUCED_TYPENAME ::boost::mpl::if_<
- BOOST_DEDUCED_TYPENAME ::boost::is_same<Layout, normal_layout>::type,
- mutant_relation< FirstType, SecondType, Info, true >,
- mutant_relation< SecondType, FirstType, Info, true >
- >::type
-
- > mutant_views;
-
- structured_pair() {}
-
- structured_pair(BOOST_DEDUCED_TYPENAME boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::first_type >::param_type f,
- BOOST_DEDUCED_TYPENAME boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::second_type >::param_type s)
- : base_(f,s) {}
-
- structured_pair(BOOST_DEDUCED_TYPENAME boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::first_type >::param_type f,
- BOOST_DEDUCED_TYPENAME boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::second_type >::param_type s,
- BOOST_DEDUCED_TYPENAME boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::info_type >::param_type i)
- : base_(f,s,i) {}
-
- template< class OtherLayout >
- structured_pair(
- const structured_pair<FirstType,SecondType,Info,OtherLayout> & p)
- : base_(p) {}
-
- template< class OtherLayout >
- structured_pair& operator=(
- const structured_pair<FirstType,SecondType,OtherLayout> & p)
- {
- base_::change_to(p);
- return *this;
- }
-
- template< class First, class Second >
- structured_pair(const std::pair<First,Second> & p) :
- base_(p.first,p.second)
- {}
-
- template< class First, class Second >
- structured_pair& operator=(const std::pair<First,Second> & p)
- {
- base_::first = p.first;
- base_::second = p.second;
- base_::clear_info();
- return *this;
- }
-
- template< class Tag >
- const BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- result_of::get<Tag,const structured_pair>::type
- get() const
- {
- return ::boost::bimaps::relation::support::get<Tag>(*this);
- }
-
- template< class Tag >
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::
- result_of::get<Tag,structured_pair>::type
- get()
- {
- return ::boost::bimaps::relation::support::get<Tag>(*this);
- }
-};
-
-// structured_pair - structured_pair
-
-template< class FirstType, class SecondType, class Info, class Layout1, class Layout2 >
-bool operator==(const structured_pair<FirstType,SecondType,Info,Layout1> & a,
- const structured_pair<FirstType,SecondType,Info,Layout2> & b)
-{
- return ( ( a.first == b.first ) &&
- ( a.second == b.second ) );
-}
-
-template< class FirstType, class SecondType, class Info, class Layout1, class Layout2 >
-bool operator!=(const structured_pair<FirstType,SecondType,Info,Layout1> & a,
- const structured_pair<FirstType,SecondType,Info,Layout2> & b)
-{
- return ! ( a == b );
-}
-
-template< class FirstType, class SecondType, class Info, class Layout1, class Layout2 >
-bool operator<(const structured_pair<FirstType,SecondType,Info,Layout1> & a,
- const structured_pair<FirstType,SecondType,Info,Layout2> & b)
-{
- return ( ( a.first < b.first ) ||
- (( a.first == b.first ) && ( a.second < b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout1, class Layout2 >
-bool operator<=(const structured_pair<FirstType,SecondType,Info,Layout1> & a,
- const structured_pair<FirstType,SecondType,Info,Layout2> & b)
-{
- return ( ( a.first < b.first ) ||
- (( a.first == b.first ) && ( a.second <= b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout1, class Layout2 >
-bool operator>(const structured_pair<FirstType,SecondType,Info,Layout1> & a,
- const structured_pair<FirstType,SecondType,Info,Layout2> & b)
-{
- return ( ( a.first > b.first ) ||
- (( a.first == b.first ) && ( a.second > b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout1, class Layout2 >
-bool operator>=(const structured_pair<FirstType,SecondType,Info,Layout1> & a,
- const structured_pair<FirstType,SecondType,Info,Layout2> & b)
-{
- return ( ( a.first > b.first ) ||
- (( a.first == b.first ) && ( a.second >= b.second )));
-}
-
-// structured_pair - std::pair
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator==(const structured_pair<FirstType,SecondType,Info,Layout> & a,
- const std::pair<F,S> & b)
-{
- return ( ( a.first == b.first ) &&
- ( a.second == b.second ) );
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator!=(const structured_pair<FirstType,SecondType,Info,Layout> & a,
- const std::pair<F,S> & b)
-{
- return ! ( a == b );
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator<(const structured_pair<FirstType,SecondType,Info,Layout> & a,
- const std::pair<F,S> & b)
-{
- return ( ( a.first < b.first ) ||
- (( a.first == b.first ) && ( a.second < b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator<=(const structured_pair<FirstType,SecondType,Info,Layout> & a,
- const std::pair<F,S> & b)
-{
- return ( ( a.first < b.first ) ||
- (( a.first == b.first ) && ( a.second <= b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator>(const structured_pair<FirstType,SecondType,Info,Layout> & a,
- const std::pair<F,S> & b)
-{
- return ( ( a.first > b.first ) ||
- (( a.first == b.first ) && ( a.second > b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator>=(const structured_pair<FirstType,SecondType,Info,Layout> & a,
- const std::pair<F,S> & b)
-{
- return ( ( a.first > b.first ) ||
- (( a.first == b.first ) && ( a.second >= b.second )));
-}
-
-// std::pair - sturctured_pair
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator==(const std::pair<F,S> & a,
- const structured_pair<FirstType,SecondType,Info,Layout> & b)
-{
- return ( ( a.first == b.first ) &&
- ( a.second == b.second ) );
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator!=(const std::pair<F,S> & a,
- const structured_pair<FirstType,SecondType,Info,Layout> & b)
-{
- return ! ( a == b );
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator<(const std::pair<F,S> & a,
- const structured_pair<FirstType,SecondType,Info,Layout> & b)
-{
- return ( ( a.first < b.first ) ||
- (( a.first == b.first ) && ( a.second < b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator<=(const std::pair<F,S> & a,
- const structured_pair<FirstType,SecondType,Info,Layout> & b)
-{
- return ( ( a.first < b.first ) ||
- (( a.first == b.first ) && ( a.second <= b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator>(const std::pair<F,S> & a,
- const structured_pair<FirstType,SecondType,Info,Layout> & b)
-{
- return ( ( a.first > b.first ) ||
- (( a.first == b.first ) && ( a.second > b.second )));
-}
-
-template< class FirstType, class SecondType, class Info, class Layout, class F, class S >
-bool operator>=(const std::pair<F,S> & a,
- const structured_pair<FirstType,SecondType,Info,Layout> & b)
-{
- return ( ( a.first > b.first ) ||
- (( a.first == b.first ) && ( a.second >= b.second )));
-}
-
-
-namespace detail {
-
-template< class FirstType, class SecondType, class Info, class Layout>
-structured_pair<FirstType,SecondType,Info,Layout>
- copy_with_first_replaced(structured_pair<FirstType,SecondType,Info,Layout> const& p,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- structured_pair<FirstType,SecondType,Info,Layout>::first_type>
- ::param_type f)
-{
- return structured_pair<FirstType,SecondType,Info,Layout>(f,p.second,p.info);
-}
-
-template< class FirstType, class SecondType, class Layout>
-structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>
- copy_with_first_replaced(structured_pair<FirstType,SecondType,::boost::mpl::na,Layout> const& p,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>::first_type>
- ::param_type f)
-{
- return structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>(f,p.second);
-}
-
-template< class FirstType, class SecondType, class Info, class Layout>
-structured_pair<FirstType,SecondType,Info,Layout>
- copy_with_second_replaced(structured_pair<FirstType,SecondType,Info,Layout> const& p,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- structured_pair<FirstType,SecondType,Info,Layout>::second_type>
- ::param_type s)
-{
- return structured_pair<FirstType,SecondType,Info,Layout>(p.first,s,p.info);
-}
-
-template< class FirstType, class SecondType, class Layout>
-structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>
- copy_with_second_replaced(structured_pair<FirstType,SecondType,::boost::mpl::na,Layout> const& p,
- BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
- structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>::second_type>
- ::param_type s)
-{
- return structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>(p.first,s);
-}
-
-} // namespace detail
-
-
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_RELATION_STRUCTURED_PAIR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/data_extractor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/data_extractor.hpp
deleted file mode 100644
index a7e7f32d5d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/data_extractor.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/data_extractor.hpp
-/// \brief Data extraction functor.
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_DATA_EXTRACTOR_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_DATA_EXTRACTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::relation::support::data_extractor
-
-\brief Data extraction functor.
-
-\ingroup relation_group
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-template< class Tag, class Relation >
-struct data_extractor_implementation;
-
-template< class Relation >
-struct data_extractor_implementation< member_at::left, Relation >
-{
- typedef Relation argument_type;
- typedef BOOST_DEDUCED_TYPENAME Relation::left_value_type result_type;
-
- BOOST_DEDUCED_TYPENAME Relation::left_value_type const &
- operator()(Relation const & rel) const
- {
- return rel.left;
- }
-
- BOOST_DEDUCED_TYPENAME Relation::left_value_type &
- operator()(Relation & rel) const
- {
- return rel.left;
- }
-};
-
-template< class Relation >
-struct data_extractor_implementation< member_at::right, Relation >
-{
- typedef Relation argument_type;
- typedef BOOST_DEDUCED_TYPENAME Relation::right_value_type result_type;
-
- BOOST_DEDUCED_TYPENAME Relation::right_value_type const &
- operator()(Relation const & rel) const
- {
- return rel.right;
- }
-
- BOOST_DEDUCED_TYPENAME Relation::right_value_type &
- operator()(Relation & rel) const
- {
- return rel.right;
- }
-};
-
-template< class Tag, class Relation >
-struct data_extractor
-{
- typedef data_extractor_implementation
- <
- BOOST_DEDUCED_TYPENAME member_with_tag<Tag,Relation>::type,
- Relation
-
- > type;
-};
-
-template< class Relation >
-struct both_keys_extractor
-{
- typedef BOOST_DEDUCED_TYPENAME Relation::storage_base result_type;
-
- const result_type & operator()(const Relation & rel) const
- {
- return rel;
- }
-
- result_type & operator()( Relation & rel) const
- {
- return rel;
- }
-};
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_DATA_EXTRACTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get.hpp
deleted file mode 100644
index e205beb75a..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/get.hpp
-/// \brief get<tag>(r) function
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_GET_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_GET_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/support/value_type_of.hpp>
-
-#include <boost/bimap/relation/detail/access_builder.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-#ifdef BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES
-
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-/** \brief Gets a pair view of the relation.
-
-\ingroup relation_group
- **/
-
-template< class Tag, class SymmetricType >
-BOOST_DEDUCED_TYPENAME result_of::get<Tag,SymmetricType>::type
- get( SymmetricType & );
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES
-
-
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-// Since it is very error-prone to directly write the hole bunch
-// of relation accesor. They are built from little macro blocks that
-// are both more readable, leading to self docummenting code and a
-// lot more easier to understand and maintain.
-// It is very important to note that the three building blocks have
-// to laid in the same namespace in order to work. There is also
-// important to keep them in order.
-// The forward declaration are not necessary but they help a lot to
-// the reader, as they undercover what is the signature of the
-// result code.
-// In the end, it is not quicker to do it in this way because you
-// write a lot. But this code has no complexity at all and almost
-// every word writed is for documentation.
-
-// Result of
-// -------------------------------------------------------------------------
-/*
- namespace result_of {
-
- template< class Tag, class Relation >
- struct get<Tag,Relation>;
- {
- typedef -unspecified- type;
- };
-
- } // namespace result_of
-
-*/
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_RESULT_OF_BUILDER
-(
- get,
- value_type_of
-)
-
-
-
-// Implementation
-// -------------------------------------------------------------------------
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_IMPLEMENTATION_BUILDER
-(
- get,
- SymmetricType,
- st,
- return st.get_left(),
- return st.get_right()
-)
-
-namespace detail {
-
-template< class SymmetricType >
-BOOST_DEDUCED_TYPENAME result_of::get<
- ::boost::bimaps::relation::member_at::info, SymmetricType >::type
-get(::boost::bimaps::relation::member_at::info, SymmetricType & rel)
-{
- return rel.info;
-}
-
-} // namespace detail
-
-// Interface
-//----------------------------------------------------------------------------
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_INTERFACE_BUILDER
-(
- get
-)
-
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_GET_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get_pair_functor.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get_pair_functor.hpp
deleted file mode 100644
index c3236279de..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/get_pair_functor.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/get_pair_functor.hpp
-/// \brief get_pair_functor definition
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_GET_PAIR_FUNCTOR_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_GET_PAIR_FUNCTOR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/support/pair_by.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-/// \brief A Functor that takes a relation as a parameter an return the desired view.
-/**
-
-This functor is included to help users of the relation class when using
-stl algorithms.
-
-See also member_at, pair_by().
-\ingroup relation_group
-
- **/
-
-template< class Tag, class Relation >
-struct get_pair_functor
-{
- BOOST_DEDUCED_TYPENAME result_of::pair_by<Tag,Relation>::type
- operator()( Relation & r ) const
- {
- return pair_by<Tag>(r);
- }
-
- BOOST_DEDUCED_TYPENAME result_of::pair_by<Tag,const Relation>::type
- operator()( const Relation & r ) const
- {
- return pair_by<Tag>(r);
- }
-};
-
-
-/// \brief A Functor that takes a relation as a parameter an return the above view.
-/**
-
-\ingroup relation_group
- **/
-
-template< class Relation >
-struct get_above_view_functor
-{
- BOOST_DEDUCED_TYPENAME Relation::above_view &
- operator()( Relation & r ) const
- {
- return r.get_view();
- }
-
- const BOOST_DEDUCED_TYPENAME Relation::above_view &
- operator()( const Relation & r ) const
- {
- return r.get_view();
- }
-};
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_GET_PAIR_FUNCTOR_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/is_tag_of_member_at.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/is_tag_of_member_at.hpp
deleted file mode 100644
index c6ff1173fb..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/is_tag_of_member_at.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/is_tag_of_member_at.hpp
-/// \brief is_tag_of_member_at<tag,relation> metafunction
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_IS_TAG_OF_MEMBER_AT_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_IS_TAG_OF_MEMBER_AT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/member_at.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/bimap/relation/support/member_with_tag.hpp>
-
-/** \struct boost::bimaps::relation::support::is_tag_of_member_at_left
-
-\brief Metafunction to test if a user tag is referring to the left member.
-
-\code
-
-template< class Tag, class Relation >
-struct is_tag_of_member_at_left : {true_|false_} {};
-
-\endcode
-
-This metafunction is somewhat redundant with member_with_tag, but it is included
-because it is a lot easier to metaprogram with it. The result type is the
-same that:
-
-\code
-
- is_same< member_with_tag<Tag,Relation>::type , member_at::left >::type
-
-\endcode
-
-See also member_with_tag, member_at, is_tag_of_member_at_right.
-\ingroup relation_group
- **/
-
-
-/** \struct boost::bimaps::relation::support::is_tag_of_member_at_right
-
-\brief Metafunction to test if a user tag is referring to the left member.
-
-\code
-
-template< class Tag, class Relation >
-struct is_tag_of_member_at_right : {true_|false_} {};
-
-\endcode
-
-This metafunction is somewhat redundat with member_with_tag, but it is included
-because it is a lot easier to metaprogram with it. The result type is the
-same that:
-
-\code
-
- is_same< member_with_tag<Tag,Relation>::type , member_at::right >::type
-
-\endcode
-
-See also member_with_tag, member_at, is_tag_of_member_at_left.
-\ingroup relation_group
- **/
-
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-// Metafunction is_tag_of_member_at_left
-// Easiear metaprogramming
-
-template
-<
- class Tag,
- class Relation,
- class Enable = void
->
-struct is_tag_of_member_at_left :
- ::boost::mpl::false_ {};
-
-template< class Tag, class Relation >
-struct is_tag_of_member_at_left
-<
- Tag, Relation,
- BOOST_DEDUCED_TYPENAME enable_if
- <
- is_same
- <
- BOOST_DEDUCED_TYPENAME member_with_tag<Tag,Relation>::type,
- member_at::left
- >
-
- >::type
-> :
- ::boost::mpl::true_ {};
-
-// Metafunction is_tag_of_member_at_right
-// Easiear metaprogramming
-
-template
-<
- class Tag,
- class Relation,
- class Enable = void
->
-struct is_tag_of_member_at_right :
- ::boost::mpl::false_ {};
-
-template< class Tag, class Relation >
-struct is_tag_of_member_at_right
-<
- Tag, Relation,
- BOOST_DEDUCED_TYPENAME enable_if
- <
- is_same
- <
- BOOST_DEDUCED_TYPENAME member_with_tag<Tag,Relation>::type,
- member_at::right
- >
-
- >::type
-> :
- ::boost::mpl::true_ {};
-
-
-// Metafunction is_tag_of_member_at_info
-// Easiear metaprogramming
-
-template
-<
- class Tag,
- class Relation,
- class Enable = void
->
-struct is_tag_of_member_at_info :
- ::boost::mpl::false_ {};
-
-template< class Tag, class Relation >
-struct is_tag_of_member_at_info
-<
- Tag, Relation,
- BOOST_DEDUCED_TYPENAME enable_if
- <
- is_same
- <
- BOOST_DEDUCED_TYPENAME member_with_tag<Tag,Relation>::type,
- member_at::info
- >
-
- >::type
-> :
- ::boost::mpl::true_ {};
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_IS_TAG_OF_MEMBER_AT_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/member_with_tag.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/member_with_tag.hpp
deleted file mode 100644
index 4a509370da..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/member_with_tag.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/member_with_tag.hpp
-/// \brief member_with_tag<tag,relation> metafunction
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_MEMBER_WITH_TAG_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_MEMBER_WITH_TAG_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/member_at.hpp>
-#include <boost/bimap/detail/debug/static_error.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/and.hpp>
-
-/** \struct boost::bimaps::relation::support::member_with_tag
-
-\brief Metafunction to convert user tags to the member_at idiom.
-
-\code
-
-template< class Tag, class Relation >
-struct member_with_tag
-{
- typedef member_at::{side} type;
-};
-
-\endcode
-
-We have to allow that all the metafunctions that works with tags
-and retrieves data from a Relation will work with member_at idiom
-even if the type was tagged. This will be great for the user,
-because he can choose to tag a member after he is using the
-relation and the code will still work.
-
-If we perform this check in every metafunction it will be very
-tedious and error prone, so instead of that all metafunctions
-that works with relations first call this metafunction that
-convert the tag to a member_at tag.
-
-See also member_at, is_tag_of_member_at_left, is_tag_of_member_at_right.
-\ingroup relation_group
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-template
-<
- class Tag,
- class Relation,
- class Enable = void
->
-struct member_with_tag
-{
- BOOST_BIMAP_STATIC_ERROR( MEMBER_WITH_TAG_FAILURE, (Relation,Tag) );
-};
-
-template< class Relation >
-struct member_with_tag
-<
- member_at::left, Relation, void
->
-{
- typedef member_at::left type;
-};
-
-template< class Relation >
-struct member_with_tag
-<
- member_at::right, Relation, void
->
-{
- typedef member_at::right type;
-};
-
-template< class Relation >
-struct member_with_tag
-<
- member_at::info, Relation, void
->
-{
- typedef member_at::info type;
-};
-
-
-template< class Tag, class Relation >
-struct member_with_tag
-<
- Tag, Relation,
- BOOST_DEDUCED_TYPENAME enable_if
- <
- mpl::and_
- <
- mpl::not_< is_same<Tag,member_at::left> >,
- is_same
- <
- Tag,
- BOOST_DEDUCED_TYPENAME Relation::left_tag
- >
- >
-
- >::type
->
-{
- typedef member_at::left type;
-};
-
-template< class Tag, class Relation >
-struct member_with_tag
-<
- Tag,
- Relation,
- BOOST_DEDUCED_TYPENAME enable_if
- <
- mpl::and_
- <
- mpl::not_< is_same<Tag,member_at::right> >,
- is_same
- <
- Tag,
- BOOST_DEDUCED_TYPENAME Relation::right_tag
- >
- >
-
- >::type
->
-{
- typedef member_at::right type;
-};
-
-template< class Tag, class Relation >
-struct member_with_tag
-<
- Tag, Relation,
- BOOST_DEDUCED_TYPENAME enable_if
- <
- mpl::and_
- <
- mpl::not_< is_same<Tag,member_at::info> >,
- is_same
- <
- Tag,
- BOOST_DEDUCED_TYPENAME Relation::info_tag
- >
- >
-
- >::type
->
-{
- typedef member_at::info type;
-};
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_MEMBER_WITH_TAG_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/opposite_tag.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/opposite_tag.hpp
deleted file mode 100644
index df30059995..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/opposite_tag.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/opposite_tag.hpp
-/// \brief Metafunction to obtain the opposite tag in a relation.
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_OPPOSITE_TAG_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_OPPOSITE_TAG_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::relation::support::opposite_tag
-
-\brief Metafunction to obtain the opposite tag in a relation.
-
-\code
-
-template< class Tag, class Relation >
-struct opposite_tag
-{
- typedef {OppositeTag} type;
-};
-
-\endcode
-
-\ingroup relation_group
- **/
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-// Implementation of const pair reference type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- opossite_tag,
- right_tag,
- left_tag
-)
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_OPPOSITE_TAG_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_by.hpp
deleted file mode 100644
index e1bfc7906b..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_by.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/pair_by.hpp
-/// \brief pair_by<member>(r) function
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_PAIR_BY_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_PAIR_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/support/pair_type_by.hpp>
-#include <boost/bimap/relation/detail/access_builder.hpp>
-
-#ifdef BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-/** \brief Gets a pair view of the relation.
-
-\ingroup relation_group
- **/
-
-template< class Tag, class Relation >
-BOOST_DEDUCED_TYPENAME result_of::pair_by<Tag,Relation>::type
- pair_by( Relation & rel );
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES
-
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-
-// Since it is very error-prone to directly write the hole bunch
-// of relation accesor. They are built from little macro blocks that
-// are both more readable, leading to self docummenting code and a
-// lot more easier to understand and maintain.
-// It is very important to note that the three building blocks have
-// to laid in the same namespace in order to work. There is also
-// important to keep them in order.
-// The forward declaration are not necessary but they help a lot to
-// the reader, as they undercover what is the signature of the
-// result code.
-// In the end, it is not quicker to do it in this way because you
-// write a lot. But this code has no complexity at all and almost
-// every word writed is for documentation.
-
-// Result of
-// -------------------------------------------------------------------------
-/*
- namespace result_of {
-
- template< class Tag, class Relation >
- struct pair_by<Tag,Relation>;
- {
- typedef -unspecified- type;
- };
-
- } // namespace result_of
-*/
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_RESULT_OF_BUILDER
-(
- pair_by,
- pair_type_by
-)
-
-
-
-// Implementation
-// -------------------------------------------------------------------------
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_IMPLEMENTATION_BUILDER
-(
- pair_by,
- Relation,
- rel,
- return rel.get_left_pair(),
- return rel.get_right_pair()
-)
-
-// Interface
-// --------------------------------------------------------------------------
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_INTERFACE_BUILDER
-(
- pair_by
-)
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_DOXIGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_PAIR_BY_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_type_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_type_by.hpp
deleted file mode 100644
index 9d9c1188ed..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/pair_type_by.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/pair_type_by.hpp
-/// \brief pair_type_by<tag,relation> metafunction
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_PAIR_TYPE_BY_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_PAIR_TYPE_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::relation::support::pair_type_by
-
-\brief Metafunction to obtain the view type indexed by one of the sides.
-
-\code
-
-template< class Tag, class Relation >
-struct pair_type_by
-{
- typedef {signature-compatible with std::pair} type;
-};
-
-\endcode
-
-See also member_at, pair_by().
-\ingroup relation_group
- **/
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-// Implementation of pair type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- pair_type_by,
- left_pair,
- right_pair
-)
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_PAIR_BY_TYPE_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/value_type_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/value_type_of.hpp
deleted file mode 100644
index 24ec2392e0..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/support/value_type_of.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/support/value_type_of.hpp
-/// \brief value_type_of<tag,relation> metafunction
-
-#ifndef BOOST_BIMAP_RELATION_SUPPORT_VALUE_TYPE_OF_HPP
-#define BOOST_BIMAP_RELATION_SUPPORT_VALUE_TYPE_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::relation::support::value_type_of
-
-\brief Metafunction to obtain the value type of one of the sides.
-
-\code
-
-template< class Tag, class Relation >
-struct value_type_of
-{
- typedef typename Relation::{side}_type type;
-};
-
-\endcode
-
-See also member_at, get().
-\ingroup relation_group
- **/
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-namespace support {
-
-// Metafunction value_type_of
-/*
-
- template< class Tag, class Relation >
- struct value_type_of
- {
- typedef -unspecified- type;
- };
-
-*/
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- value_type_of,
- left_value_type,
- right_value_type
-)
-
-// Add support for info tags to value_type_of
-
-template< class Tag, class SymmetricType >
-struct value_type_of
-<
- Tag, SymmetricType,
- BOOST_DEDUCED_TYPENAME enable_if
- <
- ::boost::bimaps::relation::support::is_tag_of_member_at_info
- <
- Tag,
- SymmetricType
- >
-
- >::type
->
-{
- typedef BOOST_DEDUCED_TYPENAME SymmetricType::info_type type;
-};
-
-} // namespace support
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_RELATION_SUPPORT_VALUE_TYPE_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/relation/symmetrical_base.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/relation/symmetrical_base.hpp
deleted file mode 100644
index cd1330651f..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/relation/symmetrical_base.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file relation/symmetrical_base.hpp
-/// \brief Base class for symmetrical types
-
-#ifndef BOOST_BIMAP_RELATION_SYMMETRICAL_BASE_HPP
-#define BOOST_BIMAP_RELATION_SYMMETRICAL_BASE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-// Boost.Bimap
-#include <boost/bimap/tags/tagged.hpp>
-#include <boost/bimap/tags/support/default_tagged.hpp>
-
-#include <boost/bimap/relation/member_at.hpp>
-
-
-namespace boost {
-namespace bimaps {
-namespace relation {
-
-/// \brief Base of symmetrical tagged types.
-/**
-
- **/
-
-template< class TA, class TB, bool force_mutable = false >
-class symmetrical_base
-{
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME tags::support::default_tagged
- <
- TA,
- member_at::left
-
- >::type tagged_left_type;
-
- typedef BOOST_DEDUCED_TYPENAME tags::support::default_tagged
- <
- TB,
- member_at::right
-
- >::type tagged_right_type;
-
- public:
-
- //@{
- /// The type stored in the relation
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c< force_mutable,
-
- BOOST_DEDUCED_TYPENAME ::boost::remove_const<
- BOOST_DEDUCED_TYPENAME tagged_left_type::value_type >::type,
- BOOST_DEDUCED_TYPENAME tagged_left_type::value_type
-
- >::type left_value_type;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c< force_mutable,
-
- BOOST_DEDUCED_TYPENAME ::boost::remove_const<
- BOOST_DEDUCED_TYPENAME tagged_right_type::value_type >::type,
- BOOST_DEDUCED_TYPENAME tagged_right_type::value_type
-
- >::type right_value_type;
- //@}
-
- //@{
- /// The tag of the member. By default it is \c member_at::{side}
- typedef BOOST_DEDUCED_TYPENAME tagged_left_type ::tag left_tag;
- typedef BOOST_DEDUCED_TYPENAME tagged_right_type::tag right_tag;
- //@}
-};
-
-
-
-} // namespace relation
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_RELATION_SYMMETRICAL_BASE_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/set_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/set_of.hpp
deleted file mode 100644
index e8ca09dd2c..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/set_of.hpp
+++ /dev/null
@@ -1,206 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file set_of.hpp
-/// \brief Include support for set constrains for the bimap container
-
-#ifndef BOOST_BIMAP_SET_OF_HPP
-#define BOOST_BIMAP_SET_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/user_interface_config.hpp>
-
-#include <functional>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/na.hpp>
-
-#include <boost/concept_check.hpp>
-
-#include <boost/bimap/detail/concept_tags.hpp>
-
-#include <boost/bimap/detail/generate_index_binder.hpp>
-#include <boost/bimap/detail/generate_view_binder.hpp>
-#include <boost/bimap/detail/generate_relation_binder.hpp>
-
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/multi_index/ordered_index.hpp>
-
-#include <boost/bimap/views/map_view.hpp>
-#include <boost/bimap/views/set_view.hpp>
-
-namespace boost {
-namespace bimaps {
-
-/// \brief Set Type Specification
-/**
-This struct is used to specify a set specification.
-It is not a container, it is just a metaprogramming facility to
-express the type of a set. Generally, this specification will
-be used in other place to create a container.
-It has the same syntax that an std::set instantiation, except
-that the allocator cannot be specified. The rationale behind
-this difference is that the allocator is not part of the set
-type specification, rather it is a container configuration
-parameter.
-The first parameter is the type of the objects in the set, and
-the second one is a Functor that compares them.
-Bimap binding metafunctions can be used with this class in
-the following way:
-
-\code
-using namespace support;
-
-BOOST_STATIC_ASSERT( is_set_type_of< set_of<Type> >::value )
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- set_of<Type,KeyCompare>::index_bind
- <
- KeyExtractor,
- Tag
-
- >::type,
-
- ordered_unique< tag<Tag>, KeyExtractor, KeyCompare >
-
- >::value
-)
-
-typedef bimap
-<
- set_of<Type>, RightKeyType
-
-> bimap_with_left_type_as_set;
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- set_of<Type>::map_view_bind
- <
- member_at::left,
- bimap_with_left_type_as_set
-
- >::type,
-
- map_view< member_at::left, bimap_with_left_type_as_set >
-
- >::value
-)
-
-\endcode
-
-See also set_of_relation.
- **/
-
-template
-<
- class KeyType,
- class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
->
-struct set_of : public ::boost::bimaps::detail::set_type_of_tag
-{
- /// User type, can be tagged
- typedef KeyType user_type;
-
- /// Type of the object that will be stored in the set
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
-
- /// Functor that compare two keys
- typedef KeyCompare key_compare;
-
- struct lazy_concept_checked
- {
- BOOST_CLASS_REQUIRE ( value_type,
- boost, AssignableConcept );
-
- BOOST_CLASS_REQUIRE4( key_compare, bool, value_type, value_type,
- boost, BinaryFunctionConcept );
-
- typedef set_of type;
- };
-
- BOOST_BIMAP_GENERATE_INDEX_BINDER_1CP(
-
- // binds to
- multi_index::ordered_unique,
-
- // with
- key_compare
- )
-
- BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER(
-
- // binds to
- views::map_view
- )
-
- BOOST_BIMAP_GENERATE_SET_VIEW_BINDER(
-
- // binds to
- views::set_view
- )
-
- typedef mpl::bool_<false> mutable_key;
-};
-
-
-/// \brief Set Of Relation Specification
-/**
-This struct is similar to set_of but it is bind logically to a
-relation. It is used in the bimap instantiation to specify the
-desired type of the main view. This struct implements internally
-a metafunction named bind_to that manages the quite complicated
-task of finding the right type of the set for the relation.
-
-\code
-template<class Relation>
-struct bind_to
-{
- typedef -unspecified- type;
-};
-\endcode
-
-See also set_of, is_set_type_of_relation.
- **/
-
-template< class KeyCompare = std::less< _relation > >
-struct set_of_relation : public ::boost::bimaps::detail::set_type_of_relation_tag
-{
- /// Functor that compare two keys
- typedef KeyCompare key_compare;
-
- BOOST_BIMAP_GENERATE_RELATION_BINDER_1CP(
-
- // binds to
- set_of,
-
- // with
- key_compare
- )
-
- typedef mpl::bool_<false> left_mutable_key;
- typedef mpl::bool_<false> right_mutable_key;
-};
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_SET_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/support/data_type_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/support/data_type_by.hpp
deleted file mode 100644
index 304597dbab..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/support/data_type_by.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file support/data_type_by.hpp
-/// \brief Metafunction to access the data types of a bimap
-
-#ifndef BOOST_BIMAP_SUPPORT_DATA_TYPE_BY_HPP
-#define BOOST_BIMAP_SUPPORT_DATA_TYPE_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::support::data_type_by
-
-\brief Metafunction to obtain the data type of one of the sides in a bimap
-
-The tag parameter can be either a user defined tag or \c member_at::{side}.
-This is the actual data type stored in the bimap.
-\code
-
-template< class Tag, class Bimap >
-struct data_type_by
-{
- typedef typename Bimap::{side}_data_type type;
-};
-
-\endcode
-
-The following holds:
-
-\code
-
-BOOST_STATIC_ASSERT
-(
- is_same< data_type_by< member_at::left, bimap<A,B> >::type, A >::value
-)
-
-\endcode
-
-See also member_at.
-\ingroup bimap_group
- **/
-
-namespace boost {
-namespace bimaps {
-namespace support {
-
-// Implementation of data type of metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- data_type_by,
- left_data_type,
- right_data_type
-)
-
-} // namespace support
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_SUPPORT_DATA_TYPE_BY_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/support/iterator_type_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/support/iterator_type_by.hpp
deleted file mode 100644
index e7cdb484b2..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/support/iterator_type_by.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file support/iterator_type_by.hpp
-/// \brief Metafunctions to access the iterator types of a bimap
-
-#ifndef BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP
-#define BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-#include <boost/bimap/relation/detail/static_access_builder.hpp>
-
-/** \struct boost::bimaps::support::iterator_type_by
-
-\brief Metafunction to obtain the iterator type of the map view by one of the sides.
-These metafunctions can be used outside the bimap framework for other bimap
-signature compatible classes.
-\code
-
-template< class Tag, class Bimap >
-struct iterator_type_by
-{
- typedef -unspecified- type;
-};
-
-template< class Tag, class Bimap >
-struct const_iterator_type_by
-{
- typedef -unspecified- type;
-};
-
-template< class Tag, class Bimap >
-struct reverse_iterator_type_by
-{
- typedef -unspecified- type;
-};
-
-template< class Tag, class Bimap >
-struct const_reverse_iterator_type_by
-{
- typedef -unspecified- type;
-};
-
-template< class Tag, class Bimap >
-struct local_iterator_type_by
-{
- typedef -unspecified- type;
-};
-
-template< class Tag, class Bimap >
-struct const_local_iterator_type_by
-{
- typedef -unspecified- type;
-};
-
-\endcode
-
-See also member_at.
-\ingroup bimap_group
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace support {
-
-// Implementation of iterator type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- iterator_type_by,
- left_iterator,
- right_iterator
-)
-
-// Implementation of const iterator type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- const_iterator_type_by,
- left_const_iterator,
- right_const_iterator
-)
-
-
-// Implementation of reverse iterator type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- reverse_iterator_type_by,
- left_reverse_iterator,
- right_reverse_iterator
-)
-
-// Implementation of const reverse iterator type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- const_reverse_iterator_type_by,
- left_const_reverse_iterator,
- right_const_reverse_iterator
-)
-
-
-// Implementation of local iterator type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- local_iterator_type_by,
- left_local_iterator,
- right_local_iterator
-)
-
-// Implementation of const local iterator type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- const_local_iterator_type_by,
- left_const_local_iterator,
- right_const_local_iterator
-)
-
-} // namespace support
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/support/key_type_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/support/key_type_by.hpp
deleted file mode 100644
index 581f3b221d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/support/key_type_by.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file support/key_type_by.hpp
-/// \brief Metafunction to access the set types of a bimap
-
-#ifndef BOOST_BIMAP_SUPPORT_KEY_TYPE_BY_HPP
-#define BOOST_BIMAP_SUPPORT_KEY_TYPE_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::support::key_type_by
-
-\brief Metafunction to obtain the key type of one of the sides in a bimap
-
-The tag parameter can be either a user defined tag or \c member_at::{side}.
-The returned type is one of the {SetType}_of definition classes.
-
-\code
-
-template< class Tag, class Bimap >
-struct key_type_by
-{
- typedef typename Bimap::{side}_key_type type;
-};
-
-\endcode
-
-See also member_at.
-\ingroup bimap_group
- **/
-
-
-namespace boost {
-namespace bimaps {
-namespace support {
-
-// Implementation of key type type of metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- key_type_by,
- left_key_type,
- right_key_type
-)
-
-
-} // namespace support
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_SUPPORT_KEY_TYPE_BY_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/support/lambda.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/support/lambda.hpp
deleted file mode 100644
index c8c44ecc2e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/support/lambda.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file support/lambda.hpp
-/// \brief Placeholders definition to help in bimap modify function
-
-#ifndef BOOST_BIMAP_SUPPORT_LAMBDA_HPP
-#define BOOST_BIMAP_SUPPORT_LAMBDA_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/lambda/lambda.hpp>
-
-namespace boost {
-namespace bimaps {
-
-namespace {
-
-/*
-boost::lambda::placeholder1_type & _first = boost::lambda::_1;
-boost::lambda::placeholder2_type & _second = boost::lambda::_2;
-
-boost::lambda::placeholder1_type & _left = boost::lambda::_1;
-boost::lambda::placeholder2_type & _right = boost::lambda::_2;
-*/
-
-boost::lambda::placeholder1_type & _key = boost::lambda::_1;
-boost::lambda::placeholder1_type & _data = boost::lambda::_1;
-
-}
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_SUPPORT_LAMBDA_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/support/map_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/support/map_by.hpp
deleted file mode 100644
index 360f05f15d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/support/map_by.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file support/map_by.hpp
-/// \brief map_by<tag>(b) function
-
-#ifndef BOOST_BIMAP_SUPPORT_MAP_BY_HPP
-#define BOOST_BIMAP_SUPPORT_MAP_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/support/map_type_by.hpp>
-#include <boost/bimap/relation/detail/access_builder.hpp>
-
-
-#ifdef BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace support {
-
-/** \brief Gets a map view of a bidirectional map
-
-Convertible to \c map_type_by<Tag,Bimap>::type
-Instead of using \c map_type_by<Tag,Bimap>::type this functions use
-\b Boost.call_traits to find the best way to return this value. To help
-the user of this function the following metafunction is provided
-\code
-
-namespace result_of {
-
-template< class Tag, class Bimap >
-struct map_by( Bimap & b );
-
-} // namespace result_of
-
-\endcode
-
-See also member_at, value_type_of.
-\ingroup bimap_group
- **/
-
-template< class Tag, class Bimap >
-BOOST_DEDUCED_TYPENAME result_of::map_by<Tag,Bimap>::type
- map_by( Bimap & b );
-
-} // namespace support
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES
-
-
-
-#ifndef BOOST_BIMAP_DOXIGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace support {
-
-// Since it is very error-prone to directly write the hole bunch
-// of relation accesor. They are built from little macro blocks that
-// are both more readable, leading to self docummenting code and a
-// lot more easier to understand and maintain.
-// It is very important to note that the three building blocks have
-// to laid in the same namespace in order to work. There is also
-// important to keep them in order.
-// The forward declaration are not necessary but they help a lot to
-// the reader, as they undercover what is the signature of the
-// result code.
-// In the end, it is not quicker to do it in this way because you
-// write a lot. But this code has no complexity at all and almost
-// every word writed is for documentation.
-
-// Result of
-// -------------------------------------------------------------------------
-/*
- namespace result_of {
-
- template< class Tag, class Bimap >
- struct map_by<Tag,Bimap>;
- {
- typedef -unspecified- type;
- };
-
- } // namespace result_of
-
-*/
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_RESULT_OF_BUILDER
-(
- map_by,
- map_type_by
-)
-
-// Implementation
-// -------------------------------------------------------------------------
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_IMPLEMENTATION_BUILDER
-(
- map_by,
- Bimap,
- b,
- return b.left,
- return b.right
-)
-
-// Interface
-// --------------------------------------------------------------------------
-
-BOOST_BIMAP_SYMMETRIC_ACCESS_INTERFACE_BUILDER
-(
- map_by
-)
-
-} // namespace support
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXIGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_SUPPORT_MAP_BY_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/support/map_type_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/support/map_type_by.hpp
deleted file mode 100644
index 5727a76070..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/support/map_type_by.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file support/map_type_by.hpp
-/// \brief Metafunction to access the map view types of a bimap
-
-#ifndef BOOST_BIMAP_SUPPORT_MAP_TYPE_BY_HPP
-#define BOOST_BIMAP_SUPPORT_MAP_TYPE_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::support::map_type_by
-
-\brief Metafunction to obtain the map view type of a bimap indexed by one of the sides.
-
-The tag parameter can be either a user defined tag or \c member_at::{side}.
-The returned type is signature-compatible with std::pair.
-
-\code
-
-template< class Tag, class Bimap >
-struct map_type_by
-{
- typedef typename Bimap::{side}_map_type type;
-};
-
-\endcode
-
-See also member_at.
-\ingroup bimap_group
- **/
-
-namespace boost {
-namespace bimaps {
-namespace support {
-
-// Implementation of map type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- map_type_by,
- left_map,
- right_map
-)
-
-
-
-} // namespace support
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_SUPPORT_MAP_TYPE_BY_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/support/value_type_by.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/support/value_type_by.hpp
deleted file mode 100644
index b65dfc674f..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/support/value_type_by.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file support/value_type_by.hpp
-/// \brief Metafunction to access the value types (std::pair compatibles) of a bimap
-
-#ifndef BOOST_BIMAP_SUPPORT_VALUE_TYPE_BY_HPP
-#define BOOST_BIMAP_SUPPORT_VALUE_TYPE_BY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/relation/detail/metadata_access_builder.hpp>
-
-/** \struct boost::bimaps::support::value_type_by
-
-\brief Metafunction to obtain the value type of a bimap indexed by one of the sides.
-
-The tag parameter can be either a user defined tag or \c member_at::{side}.
-The returned type is signature-compatible with std::pair.
-
-\code
-
-template< class Tag, class Bimap >
-struct value_type_by
-{
- typedef typename Bimap::{side}_value_type type;
-};
-
-\endcode
-
-See also member_at.
-\ingroup bimap_group
- **/
-
-namespace boost {
-namespace bimaps {
-namespace support {
-
-// Implementation of value type by metafunction
-
-BOOST_BIMAP_SYMMETRIC_METADATA_ACCESS_BUILDER
-(
- value_type_by,
- left_value_type,
- right_value_type
-)
-
-
-
-} // namespace support
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_SUPPORT_VALUE_TYPE_BY_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/apply_to_value_type.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/apply_to_value_type.hpp
deleted file mode 100644
index 0267b86f94..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/apply_to_value_type.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file tags/support/apply_to_value_type.hpp
-/// \brief Similar to mpl::apply but for tagged types.
-
-#ifndef BOOST_BIMAP_TAGS_SUPPORT_APPLY_TO_VALUE_TYPE_HPP
-#define BOOST_BIMAP_TAGS_SUPPORT_APPLY_TO_VALUE_TYPE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/tags/tagged.hpp>
-#include <boost/mpl/apply.hpp>
-
-/** \struct boost::bimaps::tags::support::apply_to_value_type
-\brief Higger order metafunction similar to mpl::apply but for tagged types.
-
-\code
-template< class Metafunction, class TaggedType >
-struct apply_to_value_type
-{
- typedef tagged
- <
- Metafuntion< value_type_of< TaggedType >::type >::type,
- tag_of< TaggedType >::type
-
- > type;
-};
-\endcode
-
-This higher order metafunctions is very useful, and it can be used with lambda
-expressions.
-
-See also tagged.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace tags {
-namespace support {
-
-template < class F, class TaggedType >
-struct apply_to_value_type;
-
-template < class F, class ValueType, class Tag >
-struct apply_to_value_type<F, tagged<ValueType,Tag> >
-{
- typedef BOOST_DEDUCED_TYPENAME mpl::apply< F, ValueType >::type new_value_type;
- typedef tagged< new_value_type, Tag > type;
-};
-
-} // namespace support
-} // namespace tags
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_TAGS_SUPPORT_APPLY_TO_VALUE_TYPE_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/default_tagged.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/default_tagged.hpp
deleted file mode 100644
index 806ca20926..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/default_tagged.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file tags/support/default_tagged.hpp
-/// \brief Weak tagging
-
-#ifndef BOOST_BIMAP_TAGS_SUPPORT_DEFAULT_TAGGED_HPP
-#define BOOST_BIMAP_TAGS_SUPPORT_DEFAULT_TAGGED_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/tags/tagged.hpp>
-
-/** \struct boost::bimaps::tags::support::default_tagged
-\brief Weak tagging metafunction
-
-\code
-template< class Type, class Tag >
-struct default_tagged
-{
- typedef {TaggedType} type;
-};
-\endcode
-
-If the type is not tagged, this metafunction returns a tagged type with the
-default tag. If it is tagged, the returns the type unchanged.
-
-See also tagged, overwrite_tagged.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace tags {
-namespace support {
-
-
-// Default Tagging
-// A metafunction that create a tagged type with a default tag value.
-
-template< class Type, class DefaultTag >
-struct default_tagged
-{
- typedef tagged<Type,DefaultTag> type;
-};
-
-template< class Type, class OldTag, class NewTag >
-struct default_tagged< tagged< Type, OldTag >, NewTag >
-{
- typedef tagged<Type,OldTag> type;
-};
-
-} // namespace support
-} // namespace tags
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_TAGS_SUPPORT_DEFAULT_TAGGED_HPP
-
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/is_tagged.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/is_tagged.hpp
deleted file mode 100644
index 62fcf81080..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/is_tagged.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file tags/support/is_tagged.hpp
-/// \brief type_traits extension
-
-#ifndef BOOST_BIMAP_TAGS_SUPPORT_IS_TAGGED_HPP
-#define BOOST_BIMAP_TAGS_SUPPORT_IS_TAGGED_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/bimap/tags/tagged.hpp>
-
-/** \struct boost::bimaps::tags::support::is_tagged
-\brief Type trait to check if a type is tagged.
-
-\code
-template< class Type >
-struct is_tagged
-{
- typedef {mpl::true_/mpl::false_} type;
-};
-\endcode
-
-See also tagged.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace tags {
-namespace support {
-
-
-// is_tagged metafunction
-
-template< class Type >
-struct is_tagged :
- ::boost::mpl::false_ {};
-
-template< class Type, class Tag >
-struct is_tagged< tagged< Type, Tag > > :
- ::boost::mpl::true_ {};
-
-} // namespace support
-} // namespace tags
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_TAGS_SUPPORT_IS_TAGGED_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/overwrite_tagged.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/overwrite_tagged.hpp
deleted file mode 100644
index f3c49cc620..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/overwrite_tagged.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file tags/support/overwrite_tagged.hpp
-/// \brief Hard tagging
-
-#ifndef BOOST_BIMAP_TAGS_SUPPORT_OVERWRITE_TAGGED_HPP
-#define BOOST_BIMAP_TAGS_SUPPORT_OVERWRITE_TAGGED_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/tags/tagged.hpp>
-
-/** \struct boost::bimaps::tags::support::overwrite_tagged
-\brief Hard tagging metafunction
-
-\code
-template< class Type, class Tag >
-struct overwrite_tagged
-{
- typedef {TaggedType} type;
-};
-\endcode
-
-If the type is not tagged, this metafunction returns a tagged type with the
-passed tag. If it is tagged it returns a new tagged type with the tag replaced
-by the one passed as a parameter.
-
-See also tagged, default_tagged.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace tags {
-namespace support {
-
-
-// Change the tag
-
-template< class Type, class NewTag >
-struct overwrite_tagged
-{
- typedef tagged<Type,NewTag> type;
-};
-
-template< class Type, class OldTag, class NewTag >
-struct overwrite_tagged< tagged< Type, OldTag >, NewTag >
-{
- typedef tagged<Type,NewTag> type;
-};
-
-
-} // namespace support
-} // namespace tags
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_TAGS_SUPPORT_OVERWRITE_TAGGED_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/tag_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/tag_of.hpp
deleted file mode 100644
index f2594f082c..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/tag_of.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file tags/support/tag_of.hpp
-/// \brief Safe way to access the tag of a type
-
-#ifndef BOOST_BIMAP_TAGS_SUPPORT_TAG_OF_HPP
-#define BOOST_BIMAP_TAGS_SUPPORT_TAG_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/tags/tagged.hpp>
-#include <boost/bimap/detail/debug/static_error.hpp>
-
-/** \struct boost::bimaps::tags::support::tag_of
-\brief Metafunction to obtain the tag of a type.
-
-\code
-template< class TaggedType >
-struct tag_of
-{
- typedef {Tag} type;
-};
-\endcode
-
-If the type is not tagged you will get a compile timer error with the following message:
-
-\verbatim
-USING_TAG_OF_WITH_AN_UNTAGGED_TYPE, TaggedType
-\endverbatim
-
-See also tagged, value_type_of.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace boost {
-namespace bimaps {
-namespace tags {
-namespace support {
-
-
-// tag_of metafunction
-
-template< class Type >
-struct tag_of
-{
- BOOST_BIMAP_STATIC_ERROR( USING_TAG_OF_WITH_AN_UNTAGGED_TYPE, (Type) );
-};
-
-template< class Type, class Tag >
-struct tag_of< tagged< Type, Tag > >
-{
- typedef Tag type;
-};
-
-
-} // namespace support
-} // namespace tags
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_TAGS_SUPPORT_TAG_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/value_type_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/value_type_of.hpp
deleted file mode 100644
index 4734c6b6ca..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/tags/support/value_type_of.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file tags/support/value_type_of.hpp
-/// \brief Consistent way to access the value type of a tagged or untagged type.
-
-#ifndef BOOST_BIMAP_TAGS_SUPPORT_VALUE_TYPE_OF_HPP
-#define BOOST_BIMAP_TAGS_SUPPORT_VALUE_TYPE_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/tags/tagged.hpp>
-
-/** \struct boost::bimaps::tags::support::value_type_of
-\brief Metafunction to work with tagged and untagged type uniformly
-
-\code
-template< class Type >
-struct value_type_of
-{
- typedef {UntaggedType} type;
-};
-\endcode
-
-If the type is tagged this metafunction returns Type::value_type, and if it is not
-tagged it return the same type. This allows to work consistently with tagged and
-untagged types.
-
-See also tagged, tag_of.
- **/
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-
-namespace boost {
-namespace bimaps {
-namespace tags {
-namespace support {
-
-
-// value_type_of metafunction
-
-template< class Type >
-struct value_type_of
-{
- typedef Type type;
-};
-
-template< class Type, class Tag >
-struct value_type_of< tagged< Type, Tag > >
-{
- typedef Type type;
-};
-
-
-} // namespace support
-} // namespace tags
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-#endif // BOOST_BIMAP_TAGS_SUPPORT_VALUE_TYPE_OF_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/tags/tagged.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/tags/tagged.hpp
deleted file mode 100644
index 4376d85bbb..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/tags/tagged.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file tags/tagged.hpp
-/// \brief Defines the tagged class
-
-#ifndef BOOST_BIMAP_TAGS_TAGGED_HPP
-#define BOOST_BIMAP_TAGS_TAGGED_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-
-/// \brief A light non-invasive idiom to tag a type.
-/**
-
-There are a lot of ways of tagging a type. The standard library for example
-defines tags (empty structs) that are then inherited by the tagged class. To
-support built-in types and other types that simple cannot inherit from the
-tag, the standard builds another level of indirection. An example of this is
-the type_traits metafunction. This approach is useful if the tags are intended
-to be used in the library internals, and if the user does not have to create
-new tagged types often.
-
-Boost.MultiIndex is an example of a library that defines a tagged idiom that
-is better suited to the user. As an option, in the indexed by declaration
-of a multi-index container a user can \b attach a tag to each index, so it
-can be referred by it instead of by the index number. It is a very user
-friendly way of specifying a tag but is very invasive from the library writer's
-point of view. Each index must now support this additional parameter. Maybe
-not in the case of the multi-index container, but in simpler classes
-the information of the tags is used by the father class rather than by the
-tagged types.
-
-\b tagged is a light non-invasive idiom to tag a type. It is very intuitive
-and user-friendly. With the use of the defined metafunctions the library
-writer can enjoy the coding too.
-
- **/
-
-namespace tags {
-
-/// \brief The tag holder
-/**
-
-The idea is to add a level of indirection to the type being tagged. With this
-class you wrapped a type and apply a tag to it. The only thing to remember is
-that if you write
-
-\code
-typedef tagged<type,tag> taggedType;
-\endcode
-
-Then instead to use directly the tagged type, in order to access it you have
-to write \c taggedType::value_type. The tag can be obtained using \c taggedType::tag.
-The idea is not to use this metadata directly but rather using the metafunctions
-that are defined in the support namespace. With this metafunctions you can work
-with tagged and untagged types in a consistent way. For example, the following
-code is valid:
-
-\code
-BOOST_STATIC_ASSERT( is_same< value_type_of<taggedType>, value_type_of<type> >::value );
-\endcode
-
-The are other useful metafunctions there too.
-See also value_type_of, tag_of, is_tagged, apply_to_value_type.
-
-\ingroup tagged_group
- **/
-template< class Type, class Tag >
-struct tagged
-{
- typedef Type value_type;
- typedef Tag tag;
-};
-
-} // namespace tags
-} // namespace bimaps
-} // namespace boost
-
-/** \namespace boost::bimaps::tags::support
-\brief Metafunctions to work with tagged types.
-
-This metafunctions aims to make easier the manage of tagged types. They are all mpl
-compatible metafunctions and can be used with lambda expressions.
-The metafunction value_type_of and tag_of get the data in a tagged type in a secure
-and consistent way.
-default_tagged and overwrite_tagged allows to work with the tag of a tagged type,
-and apply_to_value_type is a higher order metafunction that allow the user to change
-the type of a TaggedType.
- **/
-
-#endif // BOOST_BIMAP_TAGS_TAGGED_HPP
-
-
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/unconstrained_set_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/unconstrained_set_of.hpp
deleted file mode 100644
index 107e1a555e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/unconstrained_set_of.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file unconstrained_set_of.hpp
-/// \brief Include support for set constrains for the bimap container
-
-#ifndef BOOST_BIMAP_UNCONSTRAINED_SET_OF_HPP
-#define BOOST_BIMAP_UNCONSTRAINED_SET_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/user_interface_config.hpp>
-
-#include <boost/mpl/bool.hpp>
-
-#include <boost/concept_check.hpp>
-
-#include <boost/bimap/detail/concept_tags.hpp>
-
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/bimap/detail/generate_index_binder.hpp>
-#include <boost/bimap/detail/generate_view_binder.hpp>
-#include <boost/bimap/detail/generate_relation_binder.hpp>
-
-#include <boost/bimap/views/unconstrained_map_view.hpp>
-#include <boost/bimap/views/unconstrained_set_view.hpp>
-
-namespace boost {
-namespace bimaps {
-
-/// \brief Set Type Specification
-/**
-This struct is used to specify a set specification.
-It is not a container, it is just a metaprogramming facility to
-express the type of a set. Generally, this specification will
-be used in other place to create a container.
-The first parameter is the type of the objects in the set.
-
-\code
-
-using namespace support;
-
-BOOST_STATIC_ASSERT( is_set_type_of< unconstrained_set_of<Type> >::value )
-
-\endcode
-
-See also unconstrained_set_of_relation.
- **/
-
-template
-<
- class KeyType
->
-struct unconstrained_set_of : public ::boost::bimaps::detail::set_type_of_tag
-{
- /// User type, can be tagged
- typedef KeyType user_type;
-
- /// Type of the object that will be stored in the container
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
-
- struct lazy_concept_checked
- {
- BOOST_CLASS_REQUIRE ( value_type,
- boost, AssignableConcept );
-
- typedef unconstrained_set_of type;
- };
-
- BOOST_BIMAP_GENERATE_INDEX_BINDER_FAKE
-
- BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER(
-
- // binds to
- views::unconstrained_map_view
- )
-
- BOOST_BIMAP_GENERATE_SET_VIEW_BINDER(
-
- // binds to
- views::unconstrained_set_view
- )
-
- typedef mpl::bool_<true> mutable_key;
-};
-
-/// \brief Set Of Relation Specification
-/**
-This struct is similar to unconstrained_set_of but it is bind
-logically to a relation. It is used in the bimap instantiation to
-specify the desired type of the main view.
-
-See also unconstrained_set_of, is_set_type_of_relation.
- **/
-
-struct unconstrained_set_of_relation : public ::boost::bimaps::detail::set_type_of_relation_tag
-{
-
- BOOST_BIMAP_GENERATE_RELATION_BINDER_0CP(
-
- // binds to
- unconstrained_set_of
- )
-
- typedef mpl::bool_<true> left_mutable_key;
- typedef mpl::bool_<true> right_mutable_key;
-};
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-namespace detail {
-
-template<class T>
-struct is_unconstrained_set_of :
- ::boost::mpl::false_ {};
-
-template<class T>
-struct is_unconstrained_set_of< unconstrained_set_of<T> > :
- ::boost::mpl::true_ {};
-
-} // namespace detail
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-} // namespace bimaps
-} // namespace boost
-
-
-/** \struct boost::bimaps::detail::is_unconstrained_set_of
-\brief Trait to check if a type is unconstrained_set_of.
-\code
-template< class T >
-struct is_unconstrained_set_of;
-\endcode
- **/
-
-
-#endif // BOOST_BIMAP_UNCONSTRAINED_SET_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/unordered_multiset_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/unordered_multiset_of.hpp
deleted file mode 100644
index 1444a95272..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/unordered_multiset_of.hpp
+++ /dev/null
@@ -1,233 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file unordered_multiset_of.hpp
-/// \brief Include support for unordered_multiset constrains for the bimap container
-
-#ifndef BOOST_BIMAP_UNORDERED_MULTISET_OF_HPP
-#define BOOST_BIMAP_UNORDERED_MULTISET_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/user_interface_config.hpp>
-
-#include <cstdlib>
-#include <functional>
-#include <boost/functional/hash.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/concept_check.hpp>
-
-#include <boost/bimap/detail/concept_tags.hpp>
-
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/bimap/detail/generate_index_binder.hpp>
-#include <boost/bimap/detail/generate_view_binder.hpp>
-#include <boost/bimap/detail/generate_relation_binder.hpp>
-
-#include <boost/multi_index/hashed_index.hpp>
-
-#include <boost/bimap/views/unordered_multimap_view.hpp>
-#include <boost/bimap/views/unordered_multiset_view.hpp>
-
-namespace boost {
-namespace bimaps {
-
-
-/// \brief Set Type Specification
-/**
-This struct is used to specify an unordered_multiset specification.
-It is not a container, it is just a metaprogramming facility to
-express the type of a set. Generally, this specification will
-be used in other place to create a container.
-It has the same syntax that an tr1::unordered_multiset instantiation,
-except that the allocator cannot be specified. The rationale behind
-this difference is that the allocator is not part of the
-unordered_multiset type specification, rather it is a container
-configuration parameter.
-The first parameter is the type of the objects in the set, the
-second one is a Hash Functor that takes objects of this type, and
-the third one is a Functor that compares them for equality.
-Bimap binding metafunctions can be used with this class in
-the following way:
-
-\code
-using namespace support;
-
-BOOST_STATIC_ASSERT( is_set_type_of< unordered_multiset_of<Type> >::value )
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- compute_index_type
- <
- unordered_multiset_of<Type,HashFunctor,EqualKey>,
- KeyExtractor,
- Tag
-
- >::type
- ,
- hashed_nonunique< tag<Tag>, KeyExtractor, HashFunctor, EqualKey >
-
- >::value
-)
-
-typedef bimap
-<
- unordered_multiset_of<Type>, RightKeyType
-
-> bimap_with_left_type_as_unordered_multiset;
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- compute_map_view_type
- <
- member_at::left,
- bimap_with_left_type_as_unordered_multiset
-
- >::type,
-
- unordered_multimap_view
- <
- member_at::left,
- bimap_with_left_type_as_unordered_multiset
- >
-
- >::value
-)
-
-\endcode
-
-See also unordered_multiset_of_relation.
- **/
-
-template
-<
- class KeyType,
- class HashFunctor = hash< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >,
- class EqualKey = std::equal_to< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
->
-struct unordered_multiset_of : public ::boost::bimaps::detail::set_type_of_tag
-{
- /// User type, can be tagged
- typedef KeyType user_type;
-
- /// Type of the object that will be stored in the container
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
-
- /// Hash Functor that takes value_type objects
- typedef HashFunctor hasher;
-
- /// Functor that compare two value_type objects for equality
- typedef EqualKey key_equal;
-
- struct lazy_concept_checked
- {
- BOOST_CLASS_REQUIRE ( value_type,
- boost, AssignableConcept );
-
- BOOST_CLASS_REQUIRE3( hasher, std::size_t, value_type,
- boost, UnaryFunctionConcept );
-
- BOOST_CLASS_REQUIRE4( key_equal, bool, value_type, value_type,
- boost, BinaryFunctionConcept );
-
- typedef unordered_multiset_of type;
- };
-
- BOOST_BIMAP_GENERATE_INDEX_BINDER_2CP(
-
- // binds to
- multi_index::hashed_non_unique,
-
- // with
- hasher,
- key_equal
- )
-
- BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER(
-
- // binds to
- views::unordered_multimap_view
- )
-
- BOOST_BIMAP_GENERATE_SET_VIEW_BINDER(
-
- // binds to
- views::unordered_multiset_view
- )
-
- typedef mpl::bool_<false> mutable_key;
-};
-
-
-/// \brief Set Of Relation Specification
-/**
-This struct is similar to unordered_multiset_of but it is bind logically
-to a relation. It is used in the bimap instantiation to specify the
-desired type of the main view. This struct implements internally
-a metafunction named bind_to that manages the quite complicated
-task of finding the right type of the set for the relation.
-
-\code
-template<class Relation>
-struct bind_to
-{
- typedef -unspecified- type;
-};
-\endcode
-
-See also unordered_multiset_of, is_set_type_of_relation.
- **/
-
-template
-<
- class HashFunctor = hash< _relation >,
- class EqualKey = std::equal_to< _relation >
->
-struct unordered_multiset_of_relation : public ::boost::bimaps::detail::set_type_of_relation_tag
-{
- /// Hash Functor that takes value_type objects
- typedef HashFunctor hasher;
-
- /// Functor that compare two value_type objects for equality
- typedef EqualKey key_equal;
-
-
- BOOST_BIMAP_GENERATE_RELATION_BINDER_2CP(
-
- // binds to
- unordered_multiset_of,
-
- // with
- hasher,
- key_equal
- )
-
- typedef mpl::bool_<false> left_mutable_key;
- typedef mpl::bool_<false> right_mutable_key;
-};
-
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_UNORDERED_MULTISET_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/unordered_set_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/unordered_set_of.hpp
deleted file mode 100644
index d94c5b0762..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/unordered_set_of.hpp
+++ /dev/null
@@ -1,230 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file unordered_set_of.hpp
-/// \brief Include support for unordered_set constrains for the bimap container
-
-#ifndef BOOST_BIMAP_UNORDERED_SET_OF_HPP
-#define BOOST_BIMAP_UNORDERED_SET_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/user_interface_config.hpp>
-
-#include <functional>
-#include <boost/functional/hash.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/concept_check.hpp>
-
-#include <boost/bimap/detail/concept_tags.hpp>
-
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/bimap/detail/generate_index_binder.hpp>
-#include <boost/bimap/detail/generate_view_binder.hpp>
-#include <boost/bimap/detail/generate_relation_binder.hpp>
-
-#include <boost/multi_index/hashed_index.hpp>
-
-#include <boost/bimap/views/unordered_map_view.hpp>
-#include <boost/bimap/views/unordered_set_view.hpp>
-
-namespace boost {
-namespace bimaps {
-
-/// \brief Set Type Specification
-/**
-This struct is used to specify an unordered_set specification.
-It is not a container, it is just a metaprogramming facility to
-express the type of a set. Generally, this specification will
-be used in other place to create a container.
-It has the same syntax that an tr1::unordered_set instantiation,
-except that the allocator cannot be specified. The rationale behind
-this difference is that the allocator is not part of the
-unordered_set type specification, rather it is a container
-configuration parameter.
-The first parameter is the type of the objects in the set, the
-second one is a Hash Functor that takes objects of this type, and
-the third one is a Functor that compares them for equality.
-Bimap binding metafunctions can be used with this class in
-the following way:
-
-\code
-using namespace support;
-
-BOOST_STATIC_ASSERT( is_set_type_of< unordered_set_of<Type> >::value )
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- unordered_set_of<Type,HashFunctor,EqualKey>::index_bind
- <
- KeyExtractor,
- Tag
-
- >::type,
-
- hashed_unique< tag<Tag>, KeyExtractor, HashFunctor, EqualKey >
-
- >::value
-)
-
-typedef bimap
-<
- unordered_set_of<Type>, RightKeyType
-
-> bimap_with_left_type_as_unordered_set;
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- unordered_set_of<Type>::map_view_bind
- <
- member_at::left,
- bimap_with_left_type_as_unordered_set
-
- >::type,
-
- unordered_map_view
- <
- member_at::left,
- bimap_with_left_type_as_unordered_set
- >
-
- >::value
-)
-
-\endcode
-
-See also unordered_set_of_relation.
- **/
-
-template
-<
- class KeyType,
- class HashFunctor = hash< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >,
- class EqualKey = std::equal_to< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
->
-struct unordered_set_of : public ::boost::bimaps::detail::set_type_of_tag
-{
- /// User type, can be tagged
- typedef KeyType user_type;
-
- /// Type of the object that will be stored in the container
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
-
- /// Hash Functor that takes value_type objects
- typedef HashFunctor hasher;
-
- /// Functor that compare two value_type objects for equality
- typedef EqualKey key_equal;
-
- struct lazy_concept_checked
- {
- BOOST_CLASS_REQUIRE ( value_type,
- boost, AssignableConcept );
-
- BOOST_CLASS_REQUIRE3( hasher, std::size_t, value_type,
- boost, UnaryFunctionConcept );
-
- BOOST_CLASS_REQUIRE4( key_equal, bool, value_type, value_type,
- boost, BinaryFunctionConcept );
-
- typedef unordered_set_of type;
- };
-
- BOOST_BIMAP_GENERATE_INDEX_BINDER_2CP(
-
- // binds to
- multi_index::hashed_unique,
-
- // with
- hasher,
- key_equal
- )
-
- BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER(
-
- // binds to
- views::unordered_map_view
- )
-
- BOOST_BIMAP_GENERATE_SET_VIEW_BINDER(
-
- // binds to
- views::unordered_set_view
- )
-
- typedef mpl::bool_<false> mutable_key;
-};
-
-
-/// \brief Set Of Relation Specification
-/**
-This struct is similar to unordered_set_of but it is bind logically to
-a relation. It is used in the bimap instantiation to specify the
-desired type of the main view. This struct implements internally
-a metafunction named bind_to that manages the quite complicated
-task of finding the right type of the set for the relation.
-
-\code
-template<class Relation>
-struct bind_to
-{
- typedef -unspecified- type;
-};
-\endcode
-
-See also unordered_set_of, is_set_type_of_relation.
- **/
-
-template
-<
- class HashFunctor = hash< _relation >,
- class EqualKey = std::equal_to< _relation >
->
-struct unordered_set_of_relation : public ::boost::bimaps::detail::set_type_of_relation_tag
-{
- /// Hash Functor that takes value_type objects
- typedef HashFunctor hasher;
-
- /// Functor that compare two value_type objects for equality
- typedef EqualKey key_equal;
-
-
- BOOST_BIMAP_GENERATE_RELATION_BINDER_2CP(
-
- // binds to
- unordered_set_of,
-
- // with
- hasher,
- key_equal
- )
-
- typedef mpl::bool_<false> left_mutable_key;
- typedef mpl::bool_<false> right_mutable_key;
-};
-
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_UNORDERED_SET_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/vector_of.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/vector_of.hpp
deleted file mode 100644
index 4ed3427c09..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/vector_of.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file vector_of.hpp
-/// \brief Include support for vector constrains for the bimap container
-
-#ifndef BOOST_BIMAP_VECTOR_OF_HPP
-#define BOOST_BIMAP_VECTOR_OF_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/detail/user_interface_config.hpp>
-
-#include <boost/mpl/bool.hpp>
-
-#include <boost/concept_check.hpp>
-
-#include <boost/bimap/detail/concept_tags.hpp>
-
-#include <boost/bimap/tags/support/value_type_of.hpp>
-
-#include <boost/bimap/detail/generate_index_binder.hpp>
-#include <boost/bimap/detail/generate_view_binder.hpp>
-#include <boost/bimap/detail/generate_relation_binder.hpp>
-
-#include <boost/multi_index/random_access_index.hpp>
-
-#include <boost/bimap/views/vector_map_view.hpp>
-#include <boost/bimap/views/vector_set_view.hpp>
-
-namespace boost {
-namespace bimaps {
-
-
-/// \brief Set Type Specification
-/**
-This struct is used to specify a set specification.
-It is not a container, it is just a metaprogramming facility to
-express the type of a set. Generally, this specification will
-be used in other place to create a container.
-It has the same syntax that an std::vector instantiation, except
-that the allocator cannot be specified. The rationale behind
-this difference is that the allocator is not part of the set
-type specification, rather it is a container configuration
-parameter.
-The first parameter is the type of the objects in the set, and
-the second one is a Functor that compares them.
-Bimap binding metafunctions can be used with this class in
-the following way:
-
-\code
-using namespace support;
-
-BOOST_STATIC_ASSERT( is_set_type_of< vector_of<Type> >::value )
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- vector_of<Type>::index_bind
- <
- KeyExtractor,
- Tag
-
- >::type,
-
- random_access< tag<Tag>, KeyExtractor >
-
- >::value
-)
-
-typedef bimap
-<
- vector_of<Type>, RightKeyType
-
-> bimap_with_left_type_as_vector;
-
-BOOST_STATIC_ASSERT
-(
- is_same
- <
- vector_of<Type>::map_view_bind
- <
- member_at::left,
- bimap_with_left_type_as_vector
-
- >::type,
-
- vector_map_view< member_at::left, bimap_with_left_type_as_vector >
-
- >::value
-)
-
-\endcode
-
-See also vector_of_relation.
- **/
-
-template< class Type >
-struct vector_of : public ::boost::bimaps::detail::set_type_of_tag
-{
- /// User type, can be tagged
- typedef Type user_type;
-
- /// Type of the object that will be stored in the vector
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
-
-
- struct lazy_concept_checked
- {
- BOOST_CLASS_REQUIRE ( value_type,
- boost, AssignableConcept );
-
- typedef vector_of type;
- };
-
- BOOST_BIMAP_GENERATE_INDEX_BINDER_0CP_NO_EXTRACTOR(
-
- // binds to
- multi_index::random_access
- )
-
- BOOST_BIMAP_GENERATE_MAP_VIEW_BINDER(
-
- // binds to
- views::vector_map_view
- )
-
- BOOST_BIMAP_GENERATE_SET_VIEW_BINDER(
-
- // binds to
- views::vector_set_view
- )
-
- typedef mpl::bool_<true> mutable_key;
-};
-
-
-/// \brief Set Of Relation Specification
-/**
-This struct is similar to vector_of but it is bind logically to a
-relation. It is used in the bimap instantiation to specify the
-desired type of the main view. This struct implements internally
-a metafunction named bind_to that manages the quite complicated
-task of finding the right type of the set for the relation.
-
-\code
-template<class Relation>
-struct bind_to
-{
- typedef -unspecified- type;
-};
-\endcode
-
-See also vector_of, is_set_type_of_relation.
- **/
-
-struct vector_of_relation : public ::boost::bimaps::detail::set_type_of_relation_tag
-{
- BOOST_BIMAP_GENERATE_RELATION_BINDER_0CP(
-
- // binds to
- vector_of
- )
-
- typedef mpl::bool_<true> left_mutable_key;
- typedef mpl::bool_<true> right_mutable_key;
-};
-
-
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_VECTOR_OF_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/list_map_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/list_map_view.hpp
deleted file mode 100644
index 9b0cf6f0ef..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/list_map_view.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/list_map_view.hpp
-/// \brief View of a side of a bimap.
-
-#ifndef BOOST_BIMAP_VIEWS_LIST_MAP_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_LIST_MAP_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/list_map_adaptor.hpp>
-#include <boost/bimap/relation/support/pair_by.hpp>
-#include <boost/bimap/support/iterator_type_by.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-#include <boost/bimap/relation/support/data_extractor.hpp>
-#include <boost/bimap/relation/detail/to_mutable_relation_functor.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-#ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-template< class Tag, class BimapType >
-struct list_map_view_base
-{
- typedef ::boost::bimaps::container_adaptor::list_map_adaptor
- <
- BOOST_DEDUCED_TYPENAME BimapType::core_type::
- BOOST_NESTED_TEMPLATE index<Tag>::type,
- ::boost::bimaps::detail:: map_view_iterator<Tag,BimapType>,
- ::boost::bimaps::detail:: const_map_view_iterator<Tag,BimapType>,
- ::boost::bimaps::detail:: reverse_map_view_iterator<Tag,BimapType>,
- ::boost::bimaps::detail::const_reverse_map_view_iterator<Tag,BimapType>,
- ::boost::bimaps::container_adaptor::support::iterator_facade_to_base
- <
- ::boost::bimaps::detail:: map_view_iterator<Tag,BimapType>,
- ::boost::bimaps::detail::const_map_view_iterator<Tag,BimapType>
-
- >,
- ::boost::mpl::na,
- ::boost::mpl::na,
- ::boost::bimaps::relation::detail::
- pair_to_relation_functor<Tag, BOOST_DEDUCED_TYPENAME BimapType::relation >,
- ::boost::bimaps::relation::support::
- get_pair_functor<Tag, BOOST_DEDUCED_TYPENAME BimapType::relation >,
-
- BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::data_extractor
- <
- Tag,
- BOOST_DEDUCED_TYPENAME BimapType::relation
-
- >::type
-
- > type;
-};
-
-#endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
-
-/// \brief View of a side of a bimap.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core.
-
-See also const_list_map_view.
- **/
-template< class Tag, class BimapType >
-class list_map_view
-:
- public list_map_view_base<Tag,BimapType>::type,
- public ::boost::bimaps::detail::
- map_view_base< list_map_view<Tag,BimapType>,Tag,BimapType >
-
-{
- typedef BOOST_DEDUCED_TYPENAME list_map_view_base<Tag,BimapType>::type base_;
-
- BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(list_map_view,Tag,BimapType)
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME base_::value_type::info_type info_type;
-
- list_map_view(BOOST_DEDUCED_TYPENAME base_::base_type & c) :
- base_(c) {}
-
- list_map_view & operator=(const list_map_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-
- BOOST_BIMAP_VIEW_ASSIGN_IMPLEMENTATION(base_)
-
- BOOST_BIMAP_VIEW_FRONT_BACK_IMPLEMENTATION(base_)
-
- // Rearrange Operations
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator i)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(i)
- );
- }
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator first,
- BOOST_DEDUCED_TYPENAME base_::iterator last)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(first),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(last)
- );
- }
-};
-
-
-} // namespace views
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,TYPENAME) \
-typedef BOOST_DEDUCED_TYPENAME MAP_VIEW::TYPENAME \
- BOOST_PP_CAT(SIDE,BOOST_PP_CAT(_,TYPENAME));
-/*===========================================================================*/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(MAP_VIEW,SIDE) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,reverse_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_reverse_iterator) \
-/*===========================================================================*/
-
-namespace detail {
-
-template< class Tag, class BimapType >
-struct left_map_view_extra_typedefs< ::boost::bimaps::views::list_map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::list_map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,left)
-};
-
-template< class Tag, class BimapType >
-struct right_map_view_extra_typedefs< ::boost::bimaps::views::list_map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::list_map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,right)
-};
-
-} // namespace detail
-
-/*===========================================================================*/
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY
-/*===========================================================================*/
-
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_LIST_MAP_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/list_set_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/list_set_view.hpp
deleted file mode 100644
index cfa52ab19e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/list_set_view.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/list_set_view.hpp
-/// \brief View of a side of a bimap that is signature compatible with std::list.
-
-#ifndef BOOST_BIMAP_VIEWS_LIST_SET_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_LIST_SET_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/list_adaptor.hpp>
-#include <boost/bimap/detail/set_view_base.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a bimap that is signature compatible with std::list.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::list.
-
-See also const_list_set_view.
- **/
-
-template< class CoreIndex >
-class list_set_view
-:
- public BOOST_BIMAP_SEQUENCED_SET_VIEW_CONTAINER_ADAPTOR(
- list_adaptor,
- CoreIndex,
- reverse_iterator, const_reverse_iterator
- ),
-
- public ::boost::bimaps::detail::
- set_view_base< list_set_view< CoreIndex >, CoreIndex >
-{
- BOOST_BIMAP_SET_VIEW_BASE_FRIEND(list_set_view,CoreIndex)
-
- typedef BOOST_BIMAP_SEQUENCED_SET_VIEW_CONTAINER_ADAPTOR(
- list_adaptor,
- CoreIndex,
- reverse_iterator, const_reverse_iterator
-
- ) base_;
-
- public:
-
- list_set_view(BOOST_DEDUCED_TYPENAME base_::base_type & c) :
- base_(c) {}
-
- list_set_view & operator=(const list_set_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-
- BOOST_BIMAP_VIEW_ASSIGN_IMPLEMENTATION(base_)
-
- BOOST_BIMAP_VIEW_FRONT_BACK_IMPLEMENTATION(base_)
-
- // Rearrange Operations
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator i)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(i)
- );
- }
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator first,
- BOOST_DEDUCED_TYPENAME base_::iterator last)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(first),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(last)
- );
- }
-};
-
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_VIEWS_LIST_SET_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/map_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/map_view.hpp
deleted file mode 100644
index 80820aab81..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/map_view.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/map_view.hpp
-/// \brief View of a side of a bimap that is signature compatible with std::map.
-
-#ifndef BOOST_BIMAP_VIEWS_MAP_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_MAP_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/map_adaptor.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a side of a bimap that is signature compatible with std::map.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::map.
-
-See also const_map_view.
- **/
-
-template< class Tag, class BimapType >
-class map_view
-:
- public BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- map_adaptor,
- Tag,BimapType,
- reverse_map_view_iterator,const_reverse_map_view_iterator
- ),
- public ::boost::bimaps::detail::
- map_view_base< map_view<Tag,BimapType>,Tag,BimapType >,
- public ::boost::bimaps::detail::
- unique_map_view_access< map_view<Tag,BimapType>, Tag, BimapType>::type
-{
- typedef BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- map_adaptor,
- Tag,BimapType,
- reverse_map_view_iterator,const_reverse_map_view_iterator
-
- ) base_;
-
- BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(map_view,Tag,BimapType)
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::
- unique_map_view_access<
- map_view<Tag,BimapType>, Tag, BimapType
-
- >::type unique_map_view_access_;
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME base_::value_type::info_type info_type;
-
- map_view(BOOST_DEDUCED_TYPENAME base_::base_type & c) : base_(c) {}
-
- using unique_map_view_access_::at;
- using unique_map_view_access_::operator[];
-
- BOOST_BIMAP_MAP_VIEW_RANGE_IMPLEMENTATION(base_)
-
- map_view & operator=(const map_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-
- // It can be used enable_if here but the error message when there
- // is no info is very clear like this
-
- template< class CompatibleKey >
- const info_type & info_at(const CompatibleKey& k) const
- {
- BOOST_DEDUCED_TYPENAME base_::const_iterator iter = this->find(k);
- if( iter == this->end() )
- {
- ::boost::throw_exception(
- std::out_of_range("bimap<>: invalid key")
- );
- }
- return iter->info;
- }
-
- template< class CompatibleKey >
- info_type & info_at(const CompatibleKey& k)
- {
- BOOST_DEDUCED_TYPENAME base_::iterator iter = this->find(k);
- if( iter == this->end() )
- {
- ::boost::throw_exception(
- std::out_of_range("bimap<>: invalid key")
- );
- }
- return iter->info;
- }
-};
-
-} // namespace views
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,TYPENAME) \
-typedef BOOST_DEDUCED_TYPENAME MAP_VIEW::TYPENAME \
- BOOST_PP_CAT(SIDE,BOOST_PP_CAT(_,TYPENAME));
-/*===========================================================================*/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(MAP_VIEW,SIDE) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,reverse_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_reverse_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,key_compare)
-/*===========================================================================*/
-
-namespace detail {
-
-template< class Tag, class BimapType >
-struct left_map_view_extra_typedefs< ::boost::bimaps::views::map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,left)
-};
-
-template< class Tag, class BimapType >
-struct right_map_view_extra_typedefs< ::boost::bimaps::views::map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,right)
-};
-
-} // namespace detail
-
-/*===========================================================================*/
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY
-/*===========================================================================*/
-
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_MAP_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/multimap_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/multimap_view.hpp
deleted file mode 100644
index 7beb92095d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/multimap_view.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/multimap_view.hpp
-/// \brief View of a side of a bimap that is signature compatible with std::multimap.
-
-#ifndef BOOST_BIMAP_VIEWS_MULTIMAP_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_MULTIMAP_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/multimap_adaptor.hpp>
-#include <boost/bimap/detail/non_unique_views_helper.hpp>
-#include <boost/bimap/support/iterator_type_by.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a side of a bimap that is signature compatible with std::multimap.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::multimap.
-
-See also const_multimap_view.
- **/
-
-template< class Tag, class BimapType >
-class multimap_view
-:
- public BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- multimap_adaptor,
- Tag,BimapType,
- reverse_map_view_iterator,const_reverse_map_view_iterator
- ),
- public ::boost::bimaps::detail::
- map_view_base< multimap_view<Tag,BimapType>,Tag,BimapType >
-
-{
- typedef BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- multimap_adaptor,
- Tag,BimapType,
- reverse_map_view_iterator,const_reverse_map_view_iterator
-
- ) base_;
-
- BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(multimap_view,Tag,BimapType)
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME base_::value_type::info_type info_type;
-
- multimap_view(BOOST_DEDUCED_TYPENAME base_::base_type & c)
- : base_(c) {}
-
- BOOST_BIMAP_MAP_VIEW_RANGE_IMPLEMENTATION(base_)
-
- multimap_view & operator=(const multimap_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-
- BOOST_BIMAP_NON_UNIQUE_VIEW_INSERT_FUNCTIONS
-};
-
-
-} // namespace views
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,TYPENAME) \
-typedef BOOST_DEDUCED_TYPENAME MAP_VIEW::TYPENAME \
- BOOST_PP_CAT(SIDE,BOOST_PP_CAT(_,TYPENAME));
-/*===========================================================================*/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(MAP_VIEW,SIDE) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,reverse_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_reverse_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,key_compare)
-/*===========================================================================*/
-
-namespace detail {
-
-template< class Tag, class BimapType >
-struct left_map_view_extra_typedefs< ::boost::bimaps::views::multimap_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::multimap_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,left)
-};
-
-template< class Tag, class BimapType >
-struct right_map_view_extra_typedefs< ::boost::bimaps::views::multimap_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::multimap_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,right)
-};
-
-} // namespace detail
-
-/*===========================================================================*/
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY
-/*===========================================================================*/
-
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_MAP_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/multiset_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/multiset_view.hpp
deleted file mode 100644
index 6c93b484b9..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/multiset_view.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/multiset_view.hpp
-/// \brief View of a bimap that is signature compatible with std::multiset.
-
-#ifndef BOOST_BIMAP_VIEWS_MULTISET_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_MULTISET_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/multiset_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/comparison_adaptor.hpp>
-#include <boost/bimap/detail/non_unique_views_helper.hpp>
-#include <boost/bimap/detail/set_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a bimap that is signature compatible with std::multiset.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::multiset.
-
-See also const_multiset_view.
- **/
-
-template< class CoreIndex >
-class multiset_view
-:
- public BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- multiset_adaptor,
- CoreIndex,
- reverse_iterator,
- const_reverse_iterator
- ),
-
- public ::boost::bimaps::detail::
- set_view_base< multiset_view< CoreIndex >, CoreIndex >
-{
- BOOST_BIMAP_SET_VIEW_BASE_FRIEND(multiset_view, CoreIndex)
-
- typedef BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- multiset_adaptor,
- CoreIndex,
- reverse_iterator,
- const_reverse_iterator
-
- ) base_;
-
- public:
-
- multiset_view(BOOST_DEDUCED_TYPENAME base_::base_type & c) : base_(c) {}
-
- /*
- template< class LowerBounder, class UpperBounder >
- std::pair<BOOST_DEDUCED_TYPENAME base_::const_iterator,
- BOOST_DEDUCED_TYPENAME base_::const_iterator>
- range(LowerBounder lower,UpperBounder upper) const
- {
- return this->base().range(
-
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- LowerBounder,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( lower, this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() ),
-
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- UpperBounder,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( upper, this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
-
- );
- }
- */
-
- multiset_view & operator=(const multiset_view & v)
- {
- this->base() = v.base(); return *this;
- }
-
- BOOST_BIMAP_NON_UNIQUE_VIEW_INSERT_FUNCTIONS
-};
-
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_MULTISET_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/set_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/set_view.hpp
deleted file mode 100644
index de5e6da99d..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/set_view.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/set_view.hpp
-/// \brief View of a bimap that is signature compatible with std::set.
-
-#ifndef BOOST_BIMAP_VIEWS_SET_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_SET_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/set_adaptor.hpp>
-#include <boost/bimap/detail/set_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a bimap that is signature compatible with std::set.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::set.
-
-See also const_set_view.
- **/
-
-template< class CoreIndex >
-class set_view
-:
- public BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- set_adaptor,
- CoreIndex,
- reverse_iterator, const_reverse_iterator
- ),
-
- public ::boost::bimaps::detail::
- set_view_base< set_view< CoreIndex >, CoreIndex >
-{
- typedef BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- set_adaptor,
- CoreIndex,
- reverse_iterator, const_reverse_iterator
-
- ) base_;
-
- BOOST_BIMAP_SET_VIEW_BASE_FRIEND(set_view,CoreIndex)
-
- public:
-
- set_view(BOOST_DEDUCED_TYPENAME base_::base_type & c) : base_(c) {}
-
- /*
- template< class LowerBounder, class UpperBounder >
- std::pair<BOOST_DEDUCED_TYPENAME base_::const_iterator,
- BOOST_DEDUCED_TYPENAME base_::const_iterator>
- range(LowerBounder lower,UpperBounder upper) const
- {
- return this->base().range(
-
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- LowerBounder,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( lower, this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() ),
-
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- UpperBounder,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( upper, this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
-
- );
- }
- */
-
- set_view & operator=(const set_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-};
-
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_SET_VIEW_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_map_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_map_view.hpp
deleted file mode 100644
index 863c7df918..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_map_view.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/unconstrained_map_view.hpp
-/// \brief Unconstrained view of a side of a bimap.
-
-#ifndef BOOST_BIMAP_VIEWS_UNCONSTRAINED_MAP_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_UNCONSTRAINED_MAP_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief Unconstrained view of a side of a bimap.
-
-template< class Tag, class BimapType>
-class unconstrained_map_view
-{
- public:
- template< class T >
- unconstrained_map_view(const T &) {}
-
- typedef void iterator;
- typedef void const_iterator;
- typedef void reference;
- typedef void const_reference;
- typedef void info_type;
-};
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_UNCONSTRAINED_MAP_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_set_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_set_view.hpp
deleted file mode 100644
index 35cf2e55d4..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/unconstrained_set_view.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/unconstrained_set_view.hpp
-/// \brief Unconstrained view of a bimap.
-
-#ifndef BOOST_BIMAP_VIEWS_UNCONSTRAINED_SET_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_UNCONSTRAINED_SET_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief Unconstrained view of a bimap.
-
-template< class CoreIndex >
-class unconstrained_set_view
-{
- public:
- template< class T >
- unconstrained_set_view(const T &) {}
-
- typedef void iterator;
- typedef void const_iterator;
-};
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_UNCONSTRAINED_SET_VIEW_HPP
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_map_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_map_view.hpp
deleted file mode 100644
index c41fcbd9b4..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_map_view.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/unordered_map_view.hpp
-/// \brief View of a side of a bimap that is signature compatible with tr1::unordered_map.
-
-#ifndef BOOST_BIMAP_VIEWS_UNOREDERED_MAP_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_UNOREDERED_MAP_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <utility>
-
-#include <boost/bimap/container_adaptor/unordered_map_adaptor.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief Map View of a bimap, signature compatible with tr1::unordered_map.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a tr1::unordered_map.
-
-See also const_unordered_map_view.
- **/
-
-
-template< class Tag, class BimapType >
-class unordered_map_view
-:
- public BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- unordered_map_adaptor,
- Tag,BimapType,
- local_map_view_iterator,const_local_map_view_iterator
- ),
-
- public ::boost::bimaps::detail::map_view_base<
- unordered_map_view<Tag,BimapType>,Tag,BimapType >,
- public ::boost::bimaps::detail::
- unique_map_view_access<
- unordered_map_view<Tag,BimapType>, Tag, BimapType>::type
-
-{
- typedef BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- unordered_map_adaptor,
- Tag,BimapType,
- local_map_view_iterator,const_local_map_view_iterator
-
- ) base_;
-
- BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(unordered_map_view,Tag,BimapType)
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::detail::
- unique_map_view_access<
- unordered_map_view<Tag,BimapType>, Tag, BimapType
-
- >::type unique_map_view_access_;
-
- public:
-
- typedef std::pair<
- BOOST_DEDUCED_TYPENAME base_::iterator,
- BOOST_DEDUCED_TYPENAME base_::iterator
- > range_type;
-
- typedef std::pair<
- BOOST_DEDUCED_TYPENAME base_::const_iterator,
- BOOST_DEDUCED_TYPENAME base_::const_iterator
- > const_range_type;
-
- typedef BOOST_DEDUCED_TYPENAME base_::value_type::info_type info_type;
-
- unordered_map_view(BOOST_DEDUCED_TYPENAME base_::base_type & c)
- : base_(c) {}
-
- using unique_map_view_access_::at;
- using unique_map_view_access_::operator[];
-
- unordered_map_view & operator=(const unordered_map_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-
- // It can be used enable_if here but the error message when there
- // is no info is very clear like this
-
- template< class CompatibleKey >
- const info_type & info_at(const CompatibleKey& k) const
- {
- BOOST_DEDUCED_TYPENAME base_::const_iterator iter = this->find(k);
- if( iter == this->end() )
- {
- ::boost::throw_exception(
- std::out_of_range("bimap<>: invalid key")
- );
- }
- return iter->info;
- }
-
- template< class CompatibleKey >
- info_type & info_at(const CompatibleKey& k)
- {
- BOOST_DEDUCED_TYPENAME base_::iterator iter = this->find(k);
- if( iter == this->end() )
- {
- ::boost::throw_exception(
- std::out_of_range("bimap<>: invalid key")
- );
- }
- return iter->info;
- }
-};
-
-
-} // namespace views
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,TYPENAME) \
-typedef BOOST_DEDUCED_TYPENAME MAP_VIEW::TYPENAME \
- BOOST_PP_CAT(SIDE,BOOST_PP_CAT(_,TYPENAME));
-/*===========================================================================*/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(MAP_VIEW,SIDE) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,local_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_local_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,hasher) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,key_equal)
-/*===========================================================================*/
-
-namespace detail {
-
-template< class Tag, class BimapType >
-struct left_map_view_extra_typedefs< ::boost::bimaps::views::unordered_map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::unordered_map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,left)
-};
-
-template< class Tag, class BimapType >
-struct right_map_view_extra_typedefs< ::boost::bimaps::views::unordered_map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::unordered_map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,right)
-};
-
-} // namespace detail
-
-/*===========================================================================*/
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY
-/*===========================================================================*/
-
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_UNOREDERED_MAP_VIEW_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multimap_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multimap_view.hpp
deleted file mode 100644
index 17faf27322..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multimap_view.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/unordered_multimap_view.hpp
-/// \brief View of a side of a bimap that is signature compatible with tr1::unordered_multimap.
-
-#ifndef BOOST_BIMAP_VIEWS_UNOREDERED_MULTIMAP_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_UNOREDERED_MULTIMAP_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <utility>
-
-#include <boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp>
-#include <boost/bimap/detail/non_unique_views_helper.hpp>
-#include <boost/bimap/support/iterator_type_by.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a side of a bimap that is signature compatible with tr1::unordered_multimap.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a tr1::unordered_multimap.
-
-See also const_unordered_multimap_view.
- **/
-
-template< class Tag, class BimapType >
-class unordered_multimap_view
-:
- public BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- unordered_multimap_adaptor,
- Tag,BimapType,
- local_map_view_iterator,const_local_map_view_iterator
- ),
-
- public ::boost::bimaps::detail::map_view_base<
- unordered_multimap_view<Tag,BimapType>,Tag,BimapType >
-
-{
- typedef BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- unordered_multimap_adaptor,
- Tag,BimapType,
- local_map_view_iterator,const_local_map_view_iterator
-
- ) base_;
-
- BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(unordered_multimap_view,Tag,BimapType)
-
- public:
-
- typedef std::pair<
- BOOST_DEDUCED_TYPENAME base_::iterator,
- BOOST_DEDUCED_TYPENAME base_::iterator
- > range_type;
-
- typedef std::pair<
- BOOST_DEDUCED_TYPENAME base_::const_iterator,
- BOOST_DEDUCED_TYPENAME base_::const_iterator
- > const_range_type;
-
- typedef BOOST_DEDUCED_TYPENAME base_::value_type::info_type info_type;
-
- unordered_multimap_view(BOOST_DEDUCED_TYPENAME base_::base_type & c)
- : base_(c) {}
-
- BOOST_BIMAP_NON_UNIQUE_VIEW_INSERT_FUNCTIONS
-
- unordered_multimap_view & operator=(const unordered_multimap_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-};
-
-
-} // namespace views
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,TYPENAME) \
-typedef BOOST_DEDUCED_TYPENAME MAP_VIEW::TYPENAME \
- BOOST_PP_CAT(SIDE,BOOST_PP_CAT(_,TYPENAME));
-/*===========================================================================*/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(MAP_VIEW,SIDE) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,local_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_local_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_range_type) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,hasher) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,key_equal)
-/*===========================================================================*/
-
-namespace detail {
-
-template< class Tag, class BimapType >
-struct left_map_view_extra_typedefs< ::boost::bimaps::views::unordered_multimap_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::unordered_multimap_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,left)
-};
-
-template< class Tag, class BimapType >
-struct right_map_view_extra_typedefs< ::boost::bimaps::views::unordered_multimap_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::unordered_multimap_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,right)
-};
-
-} // namespace detail
-
-/*===========================================================================*/
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY
-/*===========================================================================*/
-
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_UNOREDERED_MULTIMAP_VIEW_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multiset_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multiset_view.hpp
deleted file mode 100644
index d1d137d0eb..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_multiset_view.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/unordered_multiset_view.hpp
-/// \brief View of a bimap that is signature compatible with tr1::unordered_multiset.
-
-#ifndef BOOST_BIMAP_VIEWS_UNORDERED_MULTISET_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_UNORDERED_MULTISET_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp>
-#include <boost/bimap/detail/non_unique_views_helper.hpp>
-#include <boost/bimap/detail/set_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a bimap that is signature compatible with std::unordered_multiset.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::unordered_multiset.
-
-See also const_unordered_multiset_view.
- **/
-
-template< class CoreIndex >
-class unordered_multiset_view
-:
- public BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- unordered_multiset_adaptor,
- CoreIndex,
- local_iterator,
- const_local_iterator
-
- ),
-
- public ::boost::bimaps::detail::
- set_view_base< unordered_multiset_view< CoreIndex >, CoreIndex >
-{
- BOOST_BIMAP_SET_VIEW_BASE_FRIEND(unordered_multiset_view,CoreIndex)
-
- typedef BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- unordered_multiset_adaptor,
- CoreIndex,
- local_iterator,
- const_local_iterator
-
- ) base_;
-
- public:
-
- unordered_multiset_view(BOOST_DEDUCED_TYPENAME base_::base_type & c)
- : base_(c) {}
-
- BOOST_BIMAP_NON_UNIQUE_VIEW_INSERT_FUNCTIONS
-
- unordered_multiset_view & operator=(const unordered_multiset_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-};
-
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_UNORDERED_MULTISET_VIEW_HPP
-
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_set_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_set_view.hpp
deleted file mode 100644
index c2a8ae3b5e..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/unordered_set_view.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/unordered_set_view.hpp
-/// \brief View of a bimap that is signature compatible with tr1::unordered_set.
-
-#ifndef BOOST_BIMAP_VIEWS_UNORDERED_SET_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_UNORDERED_SET_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/unordered_set_adaptor.hpp>
-#include <boost/bimap/detail/set_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a bimap that is signature compatible with std::unordered_set.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::unordered_set.
-
-See also const_unordered_set_view.
- **/
-
-template< class CoreIndex >
-class unordered_set_view
-:
- public BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- unordered_set_adaptor,
- CoreIndex,
- local_iterator,
- const_local_iterator
- ),
-
- public ::boost::bimaps::detail::
- set_view_base< unordered_set_view< CoreIndex >, CoreIndex >
-{
- BOOST_BIMAP_SET_VIEW_BASE_FRIEND(unordered_set_view,CoreIndex)
-
- typedef BOOST_BIMAP_SET_VIEW_CONTAINER_ADAPTOR(
- unordered_set_adaptor,
- CoreIndex,
- local_iterator,
- const_local_iterator
-
- ) base_;
-
- public:
-
- unordered_set_view(BOOST_DEDUCED_TYPENAME base_::base_type & c)
- : base_(c) {}
-
- unordered_set_view & operator=(const unordered_set_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-};
-
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_UNORDERED_SET_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/vector_map_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/vector_map_view.hpp
deleted file mode 100644
index a22bb57f39..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/vector_map_view.hpp
+++ /dev/null
@@ -1,340 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/vector_map_view.hpp
-/// \brief View of a side of a bimap.
-
-#ifndef BOOST_BIMAP_VIEWS_VECTOR_MAP_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_VECTOR_MAP_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/vector_map_adaptor.hpp>
-#include <boost/bimap/support/iterator_type_by.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-#include <boost/bimap/container_adaptor/detail/comparison_adaptor.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a side of a bimap.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core.
-
-See also const_map_view.
- **/
-template< class Tag, class BimapType >
-class vector_map_view
-:
- public BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- vector_map_adaptor,
- Tag,BimapType,
- reverse_map_view_iterator, const_reverse_map_view_iterator
- ),
-
- public ::boost::bimaps::detail::
- map_view_base< vector_map_view<Tag,BimapType>,Tag,BimapType >
-{
- typedef BOOST_BIMAP_MAP_VIEW_CONTAINER_ADAPTOR(
- vector_map_adaptor,
- Tag,BimapType,
- reverse_map_view_iterator, const_reverse_map_view_iterator
-
- ) base_;
-
- BOOST_BIMAP_MAP_VIEW_BASE_FRIEND(vector_map_view,Tag,BimapType)
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support::data_extractor
- <
- Tag,
- BOOST_DEDUCED_TYPENAME BimapType::relation
-
- >::type key_from_base_value;
-
- public:
-
- typedef BOOST_DEDUCED_TYPENAME base_::value_type::info_type info_type;
-
- vector_map_view(BOOST_DEDUCED_TYPENAME base_::base_type & c) :
- base_(c) {}
-
- vector_map_view & operator=(const vector_map_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference
- operator[](BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().operator[](n)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference
- at(BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().at(n)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference
- operator[](BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- const_cast<BOOST_DEDUCED_TYPENAME base_::base_type::value_type &>(
- this->base().operator[](n)
- ));
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference
- at(BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- const_cast<BOOST_DEDUCED_TYPENAME base_::base_type::value_type &>(
- this->base().at(n)
- ));
- }
-
- BOOST_BIMAP_VIEW_ASSIGN_IMPLEMENTATION(base_)
-
- BOOST_BIMAP_VIEW_FRONT_BACK_IMPLEMENTATION(base_)
-
- // Lists operations
-
- void splice(BOOST_DEDUCED_TYPENAME base_::iterator position, vector_map_view & x)
- {
- this->base().splice(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- x.base()
- );
- }
-
- void splice(BOOST_DEDUCED_TYPENAME base_::iterator position,
- vector_map_view & x,
- BOOST_DEDUCED_TYPENAME base_::iterator i)
- {
- this->base().splice(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- x.base(),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(i)
- );
- }
-
- void splice(BOOST_DEDUCED_TYPENAME base_::iterator position,
- vector_map_view & x,
- BOOST_DEDUCED_TYPENAME base_::iterator first,
- BOOST_DEDUCED_TYPENAME base_::iterator last)
- {
- this->base().splice(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- x.base(),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(first),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(last)
- );
- }
-
- void remove(BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type value)
- {
- this->base().remove(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()(value)
- );
- }
-
- template< class Predicate >
- void remove_if(Predicate pred)
- {
- this->base().remove_if(
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- Predicate,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- key_from_base_value
-
- >( pred, key_from_base_value() )
- );
- }
-
- void unique()
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::equal_to<BOOST_DEDUCED_TYPENAME base_::key_type>,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- key_from_base_value
-
- >(std::equal_to<BOOST_DEDUCED_TYPENAME base_::key_type>(),
- key_from_base_value() )
- );
- }
-
- template< class BinaryPredicate >
- void unique(BinaryPredicate binary_pred)
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- BinaryPredicate,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- key_from_base_value
-
- >( binary_pred, key_from_base_value() )
- );
- }
-
- void merge(vector_map_view & x)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<BOOST_DEDUCED_TYPENAME base_::key_type>,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- key_from_base_value
-
- >( std::less<BOOST_DEDUCED_TYPENAME base_::key_type>(),
- key_from_base_value() )
- );
- }
-
- template< class Compare >
- void merge(vector_map_view & x, Compare comp)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- key_from_base_value
-
- >( comp, key_from_base_value() )
- );
- }
-
- void sort()
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<BOOST_DEDUCED_TYPENAME base_::key_type>,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- key_from_base_value
-
- >( std::less<BOOST_DEDUCED_TYPENAME base_::key_type>(),
- key_from_base_value() )
- );
- }
-
- template< class Compare >
- void sort(Compare comp)
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- key_from_base_value
-
- >( comp, key_from_base_value() )
- );
- }
-
- void reverse()
- {
- this->base().reverse();
- }
-
- // Rearrange Operations
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator i)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(i)
- );
- }
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator first,
- BOOST_DEDUCED_TYPENAME base_::iterator last)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(first),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(last)
- );
- }
-
-};
-
-
-} // namespace views
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,TYPENAME) \
-typedef BOOST_DEDUCED_TYPENAME MAP_VIEW::TYPENAME \
- BOOST_PP_CAT(SIDE,BOOST_PP_CAT(_,TYPENAME));
-/*===========================================================================*/
-
-/*===========================================================================*/
-#define BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(MAP_VIEW,SIDE) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,reverse_iterator) \
- BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF(MAP_VIEW,SIDE,const_reverse_iterator)
-/*===========================================================================*/
-
-namespace detail {
-
-template< class Tag, class BimapType >
-struct left_map_view_extra_typedefs< ::boost::bimaps::views::vector_map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::vector_map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,left)
-};
-
-template< class Tag, class BimapType >
-struct right_map_view_extra_typedefs< ::boost::bimaps::views::vector_map_view<Tag,BimapType> >
-{
- private: typedef ::boost::bimaps::views::vector_map_view<Tag,BimapType> map_view_;
- public : BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY(map_view_,right)
-};
-
-} // namespace detail
-
-/*===========================================================================*/
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEF
-#undef BOOST_BIMAP_MAP_VIEW_EXTRA_TYPEDEFS_BODY
-/*===========================================================================*/
-
-} // namespace bimaps
-} // namespace boost
-
-#endif // BOOST_BIMAP_VIEWS_VECTOR_MAP_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/views/vector_set_view.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/views/vector_set_view.hpp
deleted file mode 100644
index 207ca7d2a1..0000000000
--- a/contrib/restricted/boost/bimap/include/boost/bimap/views/vector_set_view.hpp
+++ /dev/null
@@ -1,313 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/// \file views/vector_set_view.hpp
-/// \brief View of a side of a bimap that is signature compatible with std::vector.
-
-#ifndef BOOST_BIMAP_VIEWS_VECTOR_SET_VIEW_HPP
-#define BOOST_BIMAP_VIEWS_VECTOR_SET_VIEW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/bimap/container_adaptor/vector_adaptor.hpp>
-#include <boost/bimap/container_adaptor/detail/comparison_adaptor.hpp>
-#include <boost/bimap/detail/set_view_base.hpp>
-#include <boost/bimap/detail/map_view_base.hpp>
-
-namespace boost {
-namespace bimaps {
-namespace views {
-
-/// \brief View of a bimap that is signature compatible with std::vector.
-/**
-
-This class uses container_adaptor and iterator_adaptor to wrapped a index of the
-multi_index bimap core so it can be used as a std::vector.
-
-See also const_set_view.
- **/
-
-template< class CoreIndex >
-class vector_set_view
-:
- public BOOST_BIMAP_SEQUENCED_SET_VIEW_CONTAINER_ADAPTOR(
- vector_adaptor,
- CoreIndex,
- reverse_iterator, const_reverse_iterator
- ),
-
- public ::boost::bimaps::detail::
- set_view_base< vector_set_view< CoreIndex >, CoreIndex >
-{
- BOOST_BIMAP_SET_VIEW_BASE_FRIEND(vector_set_view,CoreIndex)
-
- typedef BOOST_BIMAP_SEQUENCED_SET_VIEW_CONTAINER_ADAPTOR(
- vector_adaptor,
- CoreIndex,
- reverse_iterator, const_reverse_iterator
-
- ) base_;
-
- public:
-
- vector_set_view(BOOST_DEDUCED_TYPENAME base_::base_type & c) :
- base_(c) {}
-
- vector_set_view & operator=(const vector_set_view & v)
- {
- this->base() = v.base();
- return *this;
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference
- operator[](BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().operator[](n)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::const_reference
- at(BOOST_DEDUCED_TYPENAME base_::size_type n) const
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- this->base().at(n)
- );
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference
- operator[](BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- const_cast<BOOST_DEDUCED_TYPENAME base_::base_type::value_type &>(
- this->base().operator[](n)
- ));
- }
-
- BOOST_DEDUCED_TYPENAME base_::reference
- at(BOOST_DEDUCED_TYPENAME base_::size_type n)
- {
- return this->template functor<BOOST_DEDUCED_TYPENAME base_::value_from_base>()(
- const_cast<BOOST_DEDUCED_TYPENAME base_::base_type::value_type &>(
- this->base().at(n)
- ));
- }
-
- BOOST_BIMAP_VIEW_ASSIGN_IMPLEMENTATION(base_)
-
- BOOST_BIMAP_VIEW_FRONT_BACK_IMPLEMENTATION(base_)
-
- // List operations
-
- void splice(BOOST_DEDUCED_TYPENAME base_::iterator position,
- vector_set_view & x)
- {
- this->base().splice(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- x.base()
- );
- }
-
- void splice(BOOST_DEDUCED_TYPENAME base_::iterator position,
- vector_set_view & x,
- BOOST_DEDUCED_TYPENAME base_::iterator i)
- {
- this->base().splice(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- x.base(),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(i)
- );
- }
-
- void splice(BOOST_DEDUCED_TYPENAME base_::iterator position,
- vector_set_view & x,
- BOOST_DEDUCED_TYPENAME base_::iterator first,
- BOOST_DEDUCED_TYPENAME base_::iterator last)
- {
- this->base().splice(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- x.base(),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(first),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(last)
- );
- }
-
- void remove(BOOST_DEDUCED_TYPENAME ::boost::call_traits<
- BOOST_DEDUCED_TYPENAME base_::value_type >::param_type value)
- {
- this->base().remove(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_to_base>()(value)
- );
- }
-
- template<typename Predicate>
- void remove_if(Predicate pred)
- {
- this->base().remove_if(
- ::boost::bimaps::container_adaptor::detail::unary_check_adaptor
- <
- Predicate,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( pred, this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
- );
- }
-
- void unique()
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::equal_to<BOOST_DEDUCED_TYPENAME base_::value_type>,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >(
- std::equal_to<BOOST_DEDUCED_TYPENAME base_::value_type>(),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- )
- );
- }
-
- template< class BinaryPredicate >
- void unique(BinaryPredicate binary_pred)
- {
- this->base().unique(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- BinaryPredicate,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( binary_pred,
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- )
- );
- }
-
- void merge(vector_set_view & x)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >(
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>(),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- )
- );
- }
-
- template< class Compare >
- void merge(vector_set_view & x, Compare comp)
- {
- this->base().merge(x.base(),
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( comp, this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
- );
- }
-
- void sort()
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >(
- std::less<BOOST_DEDUCED_TYPENAME base_::value_type>(),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>()
- )
- );
- }
-
- template< class Compare >
- void sort(Compare comp)
- {
- this->base().sort(
- ::boost::bimaps::container_adaptor::detail::comparison_adaptor
- <
- Compare,
- BOOST_DEDUCED_TYPENAME base_::base_type::value_type,
- BOOST_DEDUCED_TYPENAME base_::value_from_base
-
- >( comp, this->template functor<
- BOOST_DEDUCED_TYPENAME base_::value_from_base>() )
- );
- }
-
- void reverse()
- {
- this->base().reverse();
- }
-
- // Rearrange Operations
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator i)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(i)
- );
- }
-
- void relocate(BOOST_DEDUCED_TYPENAME base_::iterator position,
- BOOST_DEDUCED_TYPENAME base_::iterator first,
- BOOST_DEDUCED_TYPENAME base_::iterator last)
- {
- this->base().relocate(
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(position),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(first),
- this->template functor<
- BOOST_DEDUCED_TYPENAME base_::iterator_to_base>()(last)
- );
- }
-
-};
-
-
-} // namespace views
-} // namespace bimaps
-} // namespace boost
-
-
-#endif // BOOST_BIMAP_VIEWS_VECTOR_SET_VIEW_HPP
-
diff --git a/contrib/restricted/boost/bimap/ya.make b/contrib/restricted/boost/bimap/ya.make
deleted file mode 100644
index b176871ede..0000000000
--- a/contrib/restricted/boost/bimap/ya.make
+++ /dev/null
@@ -1,43 +0,0 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
-
-LIBRARY()
-
-LICENSE(BSL-1.0)
-
-LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-
-OWNER(
- g:cpp-contrib
- g:taxi-common
-)
-
-VERSION(1.81.0)
-
-ORIGINAL_SOURCE(https://github.com/boostorg/bimap/archive/boost-1.81.0.tar.gz)
-
-PEERDIR(
- contrib/restricted/boost/concept_check
- contrib/restricted/boost/config
- contrib/restricted/boost/container_hash
- contrib/restricted/boost/core
- contrib/restricted/boost/iterator
- contrib/restricted/boost/lambda
- contrib/restricted/boost/mpl
- contrib/restricted/boost/multi_index
- contrib/restricted/boost/preprocessor
- contrib/restricted/boost/serialization
- contrib/restricted/boost/static_assert
- contrib/restricted/boost/throw_exception
- contrib/restricted/boost/type_traits
- contrib/restricted/boost/utility
-)
-
-ADDINCL(
- GLOBAL contrib/restricted/boost/bimap/include
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_UTIL()
-
-END()