Boost logo

Boost-Commit :

From: bdawes_at_[hidden]
Date: 2007-11-25 13:08:45


Author: bemandawes
Date: 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
New Revision: 41369
URL: http://svn.boost.org/trac/boost/changeset/41369

Log:
Full merge from trunk at revision 41356 of entire boost-root tree.
Added:
   branches/release/boost/archive/array/
      - copied from r41356, /trunk/boost/archive/array/
   branches/release/boost/archive/array/iarchive.hpp
      - copied unchanged from r41356, /trunk/boost/archive/array/iarchive.hpp
   branches/release/boost/archive/array/oarchive.hpp
      - copied unchanged from r41356, /trunk/boost/archive/array/oarchive.hpp
   branches/release/boost/archive/detail/dynamically_initialized.hpp
      - copied unchanged from r41356, /trunk/boost/archive/detail/dynamically_initialized.hpp
   branches/release/boost/archive/detail/polymorphic_iarchive_dispatch.hpp
      - copied unchanged from r41356, /trunk/boost/archive/detail/polymorphic_iarchive_dispatch.hpp
   branches/release/boost/archive/detail/polymorphic_oarchive_dispatch.hpp
      - copied unchanged from r41356, /trunk/boost/archive/detail/polymorphic_oarchive_dispatch.hpp
   branches/release/boost/archive/detail/register_archive.hpp
      - copied unchanged from r41356, /trunk/boost/archive/detail/register_archive.hpp
   branches/release/boost/archive/shared_ptr_helper.hpp
      - copied unchanged from r41356, /trunk/boost/archive/shared_ptr_helper.hpp
   branches/release/boost/asio/
      - copied from r41356, /trunk/boost/asio/
   branches/release/boost/asio.hpp
      - copied unchanged from r41356, /trunk/boost/asio.hpp
   branches/release/boost/asio/basic_datagram_socket.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_datagram_socket.hpp
   branches/release/boost/asio/basic_deadline_timer.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_deadline_timer.hpp
   branches/release/boost/asio/basic_io_object.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_io_object.hpp
   branches/release/boost/asio/basic_socket.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_socket.hpp
   branches/release/boost/asio/basic_socket_acceptor.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_socket_acceptor.hpp
   branches/release/boost/asio/basic_socket_iostream.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_socket_iostream.hpp
   branches/release/boost/asio/basic_socket_streambuf.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_socket_streambuf.hpp
   branches/release/boost/asio/basic_stream_socket.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_stream_socket.hpp
   branches/release/boost/asio/basic_streambuf.hpp
      - copied unchanged from r41356, /trunk/boost/asio/basic_streambuf.hpp
   branches/release/boost/asio/buffer.hpp
      - copied unchanged from r41356, /trunk/boost/asio/buffer.hpp
   branches/release/boost/asio/buffered_read_stream.hpp
      - copied unchanged from r41356, /trunk/boost/asio/buffered_read_stream.hpp
   branches/release/boost/asio/buffered_read_stream_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/buffered_read_stream_fwd.hpp
   branches/release/boost/asio/buffered_stream.hpp
      - copied unchanged from r41356, /trunk/boost/asio/buffered_stream.hpp
   branches/release/boost/asio/buffered_stream_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/buffered_stream_fwd.hpp
   branches/release/boost/asio/buffered_write_stream.hpp
      - copied unchanged from r41356, /trunk/boost/asio/buffered_write_stream.hpp
   branches/release/boost/asio/buffered_write_stream_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/buffered_write_stream_fwd.hpp
   branches/release/boost/asio/completion_condition.hpp
      - copied unchanged from r41356, /trunk/boost/asio/completion_condition.hpp
   branches/release/boost/asio/datagram_socket_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/datagram_socket_service.hpp
   branches/release/boost/asio/deadline_timer.hpp
      - copied unchanged from r41356, /trunk/boost/asio/deadline_timer.hpp
   branches/release/boost/asio/deadline_timer_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/deadline_timer_service.hpp
   branches/release/boost/asio/detail/
      - copied from r41356, /trunk/boost/asio/detail/
   branches/release/boost/asio/detail/bind_handler.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/bind_handler.hpp
   branches/release/boost/asio/detail/buffer_resize_guard.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/buffer_resize_guard.hpp
   branches/release/boost/asio/detail/buffered_stream_storage.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/buffered_stream_storage.hpp
   branches/release/boost/asio/detail/call_stack.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/call_stack.hpp
   branches/release/boost/asio/detail/const_buffers_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/const_buffers_iterator.hpp
   branches/release/boost/asio/detail/consuming_buffers.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/consuming_buffers.hpp
   branches/release/boost/asio/detail/deadline_timer_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/deadline_timer_service.hpp
   branches/release/boost/asio/detail/dev_poll_reactor.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/dev_poll_reactor.hpp
   branches/release/boost/asio/detail/dev_poll_reactor_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/dev_poll_reactor_fwd.hpp
   branches/release/boost/asio/detail/epoll_reactor.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/epoll_reactor.hpp
   branches/release/boost/asio/detail/epoll_reactor_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/epoll_reactor_fwd.hpp
   branches/release/boost/asio/detail/event.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/event.hpp
   branches/release/boost/asio/detail/fd_set_adapter.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/fd_set_adapter.hpp
   branches/release/boost/asio/detail/handler_alloc_helpers.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/handler_alloc_helpers.hpp
   branches/release/boost/asio/detail/handler_invoke_helpers.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/handler_invoke_helpers.hpp
   branches/release/boost/asio/detail/handler_queue.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/handler_queue.hpp
   branches/release/boost/asio/detail/hash_map.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/hash_map.hpp
   branches/release/boost/asio/detail/io_control.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/io_control.hpp
   branches/release/boost/asio/detail/kqueue_reactor.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/kqueue_reactor.hpp
   branches/release/boost/asio/detail/kqueue_reactor_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/kqueue_reactor_fwd.hpp
   branches/release/boost/asio/detail/local_free_on_block_exit.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/local_free_on_block_exit.hpp
   branches/release/boost/asio/detail/mutex.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/mutex.hpp
   branches/release/boost/asio/detail/noncopyable.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/noncopyable.hpp
   branches/release/boost/asio/detail/null_event.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/null_event.hpp
   branches/release/boost/asio/detail/null_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/null_mutex.hpp
   branches/release/boost/asio/detail/null_signal_blocker.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/null_signal_blocker.hpp
   branches/release/boost/asio/detail/null_thread.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/null_thread.hpp
   branches/release/boost/asio/detail/null_tss_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/null_tss_ptr.hpp
   branches/release/boost/asio/detail/old_win_sdk_compat.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/old_win_sdk_compat.hpp
   branches/release/boost/asio/detail/pipe_select_interrupter.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/pipe_select_interrupter.hpp
   branches/release/boost/asio/detail/pop_options.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/pop_options.hpp
   branches/release/boost/asio/detail/posix_event.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/posix_event.hpp
   branches/release/boost/asio/detail/posix_fd_set_adapter.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/posix_fd_set_adapter.hpp
   branches/release/boost/asio/detail/posix_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/posix_mutex.hpp
   branches/release/boost/asio/detail/posix_signal_blocker.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/posix_signal_blocker.hpp
   branches/release/boost/asio/detail/posix_thread.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/posix_thread.hpp
   branches/release/boost/asio/detail/posix_tss_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/posix_tss_ptr.hpp
   branches/release/boost/asio/detail/push_options.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/push_options.hpp
   branches/release/boost/asio/detail/reactive_socket_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/reactive_socket_service.hpp
   branches/release/boost/asio/detail/reactor_op_queue.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/reactor_op_queue.hpp
   branches/release/boost/asio/detail/resolver_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/resolver_service.hpp
   branches/release/boost/asio/detail/scoped_lock.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/scoped_lock.hpp
   branches/release/boost/asio/detail/select_interrupter.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/select_interrupter.hpp
   branches/release/boost/asio/detail/select_reactor.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/select_reactor.hpp
   branches/release/boost/asio/detail/select_reactor_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/select_reactor_fwd.hpp
   branches/release/boost/asio/detail/service_base.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/service_base.hpp
   branches/release/boost/asio/detail/service_id.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/service_id.hpp
   branches/release/boost/asio/detail/service_registry.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/service_registry.hpp
   branches/release/boost/asio/detail/service_registry_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/service_registry_fwd.hpp
   branches/release/boost/asio/detail/signal_blocker.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/signal_blocker.hpp
   branches/release/boost/asio/detail/signal_init.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/signal_init.hpp
   branches/release/boost/asio/detail/socket_holder.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/socket_holder.hpp
   branches/release/boost/asio/detail/socket_ops.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/socket_ops.hpp
   branches/release/boost/asio/detail/socket_option.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/socket_option.hpp
   branches/release/boost/asio/detail/socket_select_interrupter.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/socket_select_interrupter.hpp
   branches/release/boost/asio/detail/socket_types.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/socket_types.hpp
   branches/release/boost/asio/detail/strand_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/strand_service.hpp
   branches/release/boost/asio/detail/task_io_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/task_io_service.hpp
   branches/release/boost/asio/detail/task_io_service_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/task_io_service_fwd.hpp
   branches/release/boost/asio/detail/thread.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/thread.hpp
   branches/release/boost/asio/detail/throw_error.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/throw_error.hpp
   branches/release/boost/asio/detail/timer_queue.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/timer_queue.hpp
   branches/release/boost/asio/detail/timer_queue_base.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/timer_queue_base.hpp
   branches/release/boost/asio/detail/tss_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/tss_ptr.hpp
   branches/release/boost/asio/detail/win_event.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_event.hpp
   branches/release/boost/asio/detail/win_fd_set_adapter.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_fd_set_adapter.hpp
   branches/release/boost/asio/detail/win_iocp_io_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_iocp_io_service.hpp
   branches/release/boost/asio/detail/win_iocp_io_service_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_iocp_io_service_fwd.hpp
   branches/release/boost/asio/detail/win_iocp_operation.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_iocp_operation.hpp
   branches/release/boost/asio/detail/win_iocp_socket_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_iocp_socket_service.hpp
   branches/release/boost/asio/detail/win_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_mutex.hpp
   branches/release/boost/asio/detail/win_signal_blocker.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_signal_blocker.hpp
   branches/release/boost/asio/detail/win_thread.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_thread.hpp
   branches/release/boost/asio/detail/win_tss_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/win_tss_ptr.hpp
   branches/release/boost/asio/detail/wince_thread.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/wince_thread.hpp
   branches/release/boost/asio/detail/winsock_init.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/winsock_init.hpp
   branches/release/boost/asio/detail/wrapped_handler.hpp
      - copied unchanged from r41356, /trunk/boost/asio/detail/wrapped_handler.hpp
   branches/release/boost/asio/error.hpp
      - copied unchanged from r41356, /trunk/boost/asio/error.hpp
   branches/release/boost/asio/handler_alloc_hook.hpp
      - copied unchanged from r41356, /trunk/boost/asio/handler_alloc_hook.hpp
   branches/release/boost/asio/handler_invoke_hook.hpp
      - copied unchanged from r41356, /trunk/boost/asio/handler_invoke_hook.hpp
   branches/release/boost/asio/impl/
      - copied from r41356, /trunk/boost/asio/impl/
   branches/release/boost/asio/impl/io_service.ipp
      - copied unchanged from r41356, /trunk/boost/asio/impl/io_service.ipp
   branches/release/boost/asio/impl/read.ipp
      - copied unchanged from r41356, /trunk/boost/asio/impl/read.ipp
   branches/release/boost/asio/impl/read_until.ipp
      - copied unchanged from r41356, /trunk/boost/asio/impl/read_until.ipp
   branches/release/boost/asio/impl/write.ipp
      - copied unchanged from r41356, /trunk/boost/asio/impl/write.ipp
   branches/release/boost/asio/io_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/io_service.hpp
   branches/release/boost/asio/ip/
      - copied from r41356, /trunk/boost/asio/ip/
   branches/release/boost/asio/ip/address.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/address.hpp
   branches/release/boost/asio/ip/address_v4.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/address_v4.hpp
   branches/release/boost/asio/ip/address_v6.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/address_v6.hpp
   branches/release/boost/asio/ip/basic_endpoint.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/basic_endpoint.hpp
   branches/release/boost/asio/ip/basic_resolver.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/basic_resolver.hpp
   branches/release/boost/asio/ip/basic_resolver_entry.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/basic_resolver_entry.hpp
   branches/release/boost/asio/ip/basic_resolver_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/basic_resolver_iterator.hpp
   branches/release/boost/asio/ip/basic_resolver_query.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/basic_resolver_query.hpp
   branches/release/boost/asio/ip/detail/
      - copied from r41356, /trunk/boost/asio/ip/detail/
   branches/release/boost/asio/ip/detail/socket_option.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/detail/socket_option.hpp
   branches/release/boost/asio/ip/host_name.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/host_name.hpp
   branches/release/boost/asio/ip/multicast.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/multicast.hpp
   branches/release/boost/asio/ip/resolver_query_base.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/resolver_query_base.hpp
   branches/release/boost/asio/ip/resolver_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/resolver_service.hpp
   branches/release/boost/asio/ip/tcp.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/tcp.hpp
   branches/release/boost/asio/ip/udp.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/udp.hpp
   branches/release/boost/asio/ip/unicast.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/unicast.hpp
   branches/release/boost/asio/ip/v6_only.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ip/v6_only.hpp
   branches/release/boost/asio/is_read_buffered.hpp
      - copied unchanged from r41356, /trunk/boost/asio/is_read_buffered.hpp
   branches/release/boost/asio/is_write_buffered.hpp
      - copied unchanged from r41356, /trunk/boost/asio/is_write_buffered.hpp
   branches/release/boost/asio/placeholders.hpp
      - copied unchanged from r41356, /trunk/boost/asio/placeholders.hpp
   branches/release/boost/asio/read.hpp
      - copied unchanged from r41356, /trunk/boost/asio/read.hpp
   branches/release/boost/asio/read_until.hpp
      - copied unchanged from r41356, /trunk/boost/asio/read_until.hpp
   branches/release/boost/asio/socket_acceptor_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/socket_acceptor_service.hpp
   branches/release/boost/asio/socket_base.hpp
      - copied unchanged from r41356, /trunk/boost/asio/socket_base.hpp
   branches/release/boost/asio/ssl/
      - copied from r41356, /trunk/boost/asio/ssl/
   branches/release/boost/asio/ssl.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl.hpp
   branches/release/boost/asio/ssl/basic_context.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/basic_context.hpp
   branches/release/boost/asio/ssl/context.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/context.hpp
   branches/release/boost/asio/ssl/context_base.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/context_base.hpp
   branches/release/boost/asio/ssl/context_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/context_service.hpp
   branches/release/boost/asio/ssl/detail/
      - copied from r41356, /trunk/boost/asio/ssl/detail/
   branches/release/boost/asio/ssl/detail/openssl_context_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/detail/openssl_context_service.hpp
   branches/release/boost/asio/ssl/detail/openssl_init.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/detail/openssl_init.hpp
   branches/release/boost/asio/ssl/detail/openssl_operation.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/detail/openssl_operation.hpp
   branches/release/boost/asio/ssl/detail/openssl_stream_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/detail/openssl_stream_service.hpp
   branches/release/boost/asio/ssl/detail/openssl_types.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/detail/openssl_types.hpp
   branches/release/boost/asio/ssl/stream.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/stream.hpp
   branches/release/boost/asio/ssl/stream_base.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/stream_base.hpp
   branches/release/boost/asio/ssl/stream_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/ssl/stream_service.hpp
   branches/release/boost/asio/strand.hpp
      - copied unchanged from r41356, /trunk/boost/asio/strand.hpp
   branches/release/boost/asio/stream_socket_service.hpp
      - copied unchanged from r41356, /trunk/boost/asio/stream_socket_service.hpp
   branches/release/boost/asio/streambuf.hpp
      - copied unchanged from r41356, /trunk/boost/asio/streambuf.hpp
   branches/release/boost/asio/time_traits.hpp
      - copied unchanged from r41356, /trunk/boost/asio/time_traits.hpp
   branches/release/boost/asio/version.hpp
      - copied unchanged from r41356, /trunk/boost/asio/version.hpp
   branches/release/boost/asio/write.hpp
      - copied unchanged from r41356, /trunk/boost/asio/write.hpp
   branches/release/boost/bimap/
      - copied from r41356, /trunk/boost/bimap/
   branches/release/boost/bimap.hpp
      - copied unchanged from r41356, /trunk/boost/bimap.hpp
   branches/release/boost/bimap/bimap.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/bimap.hpp
   branches/release/boost/bimap/container_adaptor/
      - copied from r41356, /trunk/boost/bimap/container_adaptor/
   branches/release/boost/bimap/container_adaptor/associative_container_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/associative_container_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/container_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/container_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/detail/
      - copied from r41356, /trunk/boost/bimap/container_adaptor/detail/
   branches/release/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/detail/functor_bag.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/detail/functor_bag.hpp
   branches/release/boost/bimap/container_adaptor/detail/identity_converters.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/detail/identity_converters.hpp
   branches/release/boost/bimap/container_adaptor/detail/key_extractor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/detail/key_extractor.hpp
   branches/release/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp
   branches/release/boost/bimap/container_adaptor/list_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/list_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/list_map_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/list_map_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/map_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/map_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/multimap_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/multimap_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/multiset_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/multiset_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/sequence_container_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/sequence_container_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/set_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/set_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/support/
      - copied from r41356, /trunk/boost/bimap/container_adaptor/support/
   branches/release/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp
   branches/release/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/unordered_map_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/unordered_map_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/unordered_set_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/unordered_set_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/vector_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/vector_adaptor.hpp
   branches/release/boost/bimap/container_adaptor/vector_map_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/container_adaptor/vector_map_adaptor.hpp
   branches/release/boost/bimap/detail/
      - copied from r41356, /trunk/boost/bimap/detail/
   branches/release/boost/bimap/detail/bimap_core.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/bimap_core.hpp
   branches/release/boost/bimap/detail/concept_tags.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/concept_tags.hpp
   branches/release/boost/bimap/detail/debug/
      - copied from r41356, /trunk/boost/bimap/detail/debug/
   branches/release/boost/bimap/detail/debug/static_error.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/debug/static_error.hpp
   branches/release/boost/bimap/detail/generate_index_binder.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/generate_index_binder.hpp
   branches/release/boost/bimap/detail/generate_relation_binder.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/generate_relation_binder.hpp
   branches/release/boost/bimap/detail/generate_view_binder.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/generate_view_binder.hpp
   branches/release/boost/bimap/detail/is_set_type_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/is_set_type_of.hpp
   branches/release/boost/bimap/detail/manage_additional_parameters.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/manage_additional_parameters.hpp
   branches/release/boost/bimap/detail/manage_bimap_key.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/manage_bimap_key.hpp
   branches/release/boost/bimap/detail/map_view_base.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/map_view_base.hpp
   branches/release/boost/bimap/detail/map_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/map_view_iterator.hpp
   branches/release/boost/bimap/detail/modifier_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/modifier_adaptor.hpp
   branches/release/boost/bimap/detail/non_unique_views_helper.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/non_unique_views_helper.hpp
   branches/release/boost/bimap/detail/set_view_base.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/set_view_base.hpp
   branches/release/boost/bimap/detail/set_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/set_view_iterator.hpp
   branches/release/boost/bimap/detail/test/
      - copied from r41356, /trunk/boost/bimap/detail/test/
   branches/release/boost/bimap/detail/test/check_metadata.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/test/check_metadata.hpp
   branches/release/boost/bimap/detail/user_interface_config.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/detail/user_interface_config.hpp
   branches/release/boost/bimap/list_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/list_of.hpp
   branches/release/boost/bimap/multiset_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/multiset_of.hpp
   branches/release/boost/bimap/property_map/
      - copied from r41356, /trunk/boost/bimap/property_map/
   branches/release/boost/bimap/property_map/set_support.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/property_map/set_support.hpp
   branches/release/boost/bimap/property_map/unordered_set_support.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/property_map/unordered_set_support.hpp
   branches/release/boost/bimap/relation/
      - copied from r41356, /trunk/boost/bimap/relation/
   branches/release/boost/bimap/relation/detail/
      - copied from r41356, /trunk/boost/bimap/relation/detail/
   branches/release/boost/bimap/relation/detail/access_builder.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/detail/access_builder.hpp
   branches/release/boost/bimap/relation/detail/metadata_access_builder.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/detail/metadata_access_builder.hpp
   branches/release/boost/bimap/relation/detail/mutant.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/detail/mutant.hpp
   branches/release/boost/bimap/relation/detail/static_access_builder.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/detail/static_access_builder.hpp
   branches/release/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
   branches/release/boost/bimap/relation/member_at.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/member_at.hpp
   branches/release/boost/bimap/relation/mutant_relation.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/mutant_relation.hpp
   branches/release/boost/bimap/relation/pair_layout.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/pair_layout.hpp
   branches/release/boost/bimap/relation/structured_pair.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/structured_pair.hpp
   branches/release/boost/bimap/relation/support/
      - copied from r41356, /trunk/boost/bimap/relation/support/
   branches/release/boost/bimap/relation/support/data_extractor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/data_extractor.hpp
   branches/release/boost/bimap/relation/support/get.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/get.hpp
   branches/release/boost/bimap/relation/support/get_pair_functor.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/get_pair_functor.hpp
   branches/release/boost/bimap/relation/support/is_tag_of_member_at.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/is_tag_of_member_at.hpp
   branches/release/boost/bimap/relation/support/member_with_tag.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/member_with_tag.hpp
   branches/release/boost/bimap/relation/support/opposite_tag.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/opposite_tag.hpp
   branches/release/boost/bimap/relation/support/pair_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/pair_by.hpp
   branches/release/boost/bimap/relation/support/pair_type_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/pair_type_by.hpp
   branches/release/boost/bimap/relation/support/value_type_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/support/value_type_of.hpp
   branches/release/boost/bimap/relation/symmetrical_base.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/relation/symmetrical_base.hpp
   branches/release/boost/bimap/set_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/set_of.hpp
   branches/release/boost/bimap/support/
      - copied from r41356, /trunk/boost/bimap/support/
   branches/release/boost/bimap/support/data_type_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/support/data_type_by.hpp
   branches/release/boost/bimap/support/iterator_type_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/support/iterator_type_by.hpp
   branches/release/boost/bimap/support/key_type_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/support/key_type_by.hpp
   branches/release/boost/bimap/support/lambda.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/support/lambda.hpp
   branches/release/boost/bimap/support/map_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/support/map_by.hpp
   branches/release/boost/bimap/support/map_type_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/support/map_type_by.hpp
   branches/release/boost/bimap/support/value_type_by.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/support/value_type_by.hpp
   branches/release/boost/bimap/tags/
      - copied from r41356, /trunk/boost/bimap/tags/
   branches/release/boost/bimap/tags/support/
      - copied from r41356, /trunk/boost/bimap/tags/support/
   branches/release/boost/bimap/tags/support/apply_to_value_type.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/tags/support/apply_to_value_type.hpp
   branches/release/boost/bimap/tags/support/default_tagged.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/tags/support/default_tagged.hpp
   branches/release/boost/bimap/tags/support/is_tagged.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/tags/support/is_tagged.hpp
   branches/release/boost/bimap/tags/support/overwrite_tagged.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/tags/support/overwrite_tagged.hpp
   branches/release/boost/bimap/tags/support/tag_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/tags/support/tag_of.hpp
   branches/release/boost/bimap/tags/support/value_type_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/tags/support/value_type_of.hpp
   branches/release/boost/bimap/tags/tagged.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/tags/tagged.hpp
   branches/release/boost/bimap/unconstrained_set_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/unconstrained_set_of.hpp
   branches/release/boost/bimap/unordered_multiset_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/unordered_multiset_of.hpp
   branches/release/boost/bimap/unordered_set_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/unordered_set_of.hpp
   branches/release/boost/bimap/vector_of.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/vector_of.hpp
   branches/release/boost/bimap/views/
      - copied from r41356, /trunk/boost/bimap/views/
   branches/release/boost/bimap/views/list_map_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/list_map_view.hpp
   branches/release/boost/bimap/views/list_set_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/list_set_view.hpp
   branches/release/boost/bimap/views/map_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/map_view.hpp
   branches/release/boost/bimap/views/multimap_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/multimap_view.hpp
   branches/release/boost/bimap/views/multiset_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/multiset_view.hpp
   branches/release/boost/bimap/views/set_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/set_view.hpp
   branches/release/boost/bimap/views/unconstrained_map_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/unconstrained_map_view.hpp
   branches/release/boost/bimap/views/unconstrained_set_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/unconstrained_set_view.hpp
   branches/release/boost/bimap/views/unordered_map_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/unordered_map_view.hpp
   branches/release/boost/bimap/views/unordered_multimap_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/unordered_multimap_view.hpp
   branches/release/boost/bimap/views/unordered_multiset_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/unordered_multiset_view.hpp
   branches/release/boost/bimap/views/unordered_set_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/unordered_set_view.hpp
   branches/release/boost/bimap/views/vector_map_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/vector_map_view.hpp
   branches/release/boost/bimap/views/vector_set_view.hpp
      - copied unchanged from r41356, /trunk/boost/bimap/views/vector_set_view.hpp
   branches/release/boost/circular_buffer/
      - copied from r41356, /trunk/boost/circular_buffer/
   branches/release/boost/circular_buffer.hpp
      - copied unchanged from r41356, /trunk/boost/circular_buffer.hpp
   branches/release/boost/circular_buffer/base.hpp
      - copied unchanged from r41356, /trunk/boost/circular_buffer/base.hpp
   branches/release/boost/circular_buffer/debug.hpp
      - copied unchanged from r41356, /trunk/boost/circular_buffer/debug.hpp
   branches/release/boost/circular_buffer/details.hpp
      - copied unchanged from r41356, /trunk/boost/circular_buffer/details.hpp
   branches/release/boost/circular_buffer/space_optimized.hpp
      - copied unchanged from r41356, /trunk/boost/circular_buffer/space_optimized.hpp
   branches/release/boost/circular_buffer_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/circular_buffer_fwd.hpp
   branches/release/boost/concept/
      - copied from r41356, /trunk/boost/concept/
   branches/release/boost/concept/assert.hpp
      - copied unchanged from r41356, /trunk/boost/concept/assert.hpp
   branches/release/boost/concept/detail/
      - copied from r41356, /trunk/boost/concept/detail/
   branches/release/boost/concept/detail/borland.hpp
      - copied unchanged from r41356, /trunk/boost/concept/detail/borland.hpp
   branches/release/boost/concept/detail/concept_def.hpp
      - copied unchanged from r41356, /trunk/boost/concept/detail/concept_def.hpp
   branches/release/boost/concept/detail/concept_undef.hpp
      - copied unchanged from r41356, /trunk/boost/concept/detail/concept_undef.hpp
   branches/release/boost/concept/detail/general.hpp
      - copied unchanged from r41356, /trunk/boost/concept/detail/general.hpp
   branches/release/boost/concept/detail/has_constraints.hpp
      - copied unchanged from r41356, /trunk/boost/concept/detail/has_constraints.hpp
   branches/release/boost/concept/detail/msvc.hpp
      - copied unchanged from r41356, /trunk/boost/concept/detail/msvc.hpp
   branches/release/boost/concept/requires.hpp
      - copied unchanged from r41356, /trunk/boost/concept/requires.hpp
   branches/release/boost/concept/usage.hpp
      - copied unchanged from r41356, /trunk/boost/concept/usage.hpp
   branches/release/boost/concept_check/
      - copied from r41356, /trunk/boost/concept_check/
   branches/release/boost/concept_check/borland.hpp
      - copied unchanged from r41356, /trunk/boost/concept_check/borland.hpp
   branches/release/boost/concept_check/general.hpp
      - copied unchanged from r41356, /trunk/boost/concept_check/general.hpp
   branches/release/boost/concept_check/has_constraints.hpp
      - copied unchanged from r41356, /trunk/boost/concept_check/has_constraints.hpp
   branches/release/boost/concept_check/msvc.hpp
      - copied unchanged from r41356, /trunk/boost/concept_check/msvc.hpp
   branches/release/boost/date_time.hpp
      - copied unchanged from r41356, /trunk/boost/date_time.hpp
   branches/release/boost/function_types/
      - copied from r41356, /trunk/boost/function_types/
   branches/release/boost/function_types/components.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/components.hpp
   branches/release/boost/function_types/config/
      - copied from r41356, /trunk/boost/function_types/config/
   branches/release/boost/function_types/config/cc_names.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/config/cc_names.hpp
   branches/release/boost/function_types/config/compiler.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/config/compiler.hpp
   branches/release/boost/function_types/config/config.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/config/config.hpp
   branches/release/boost/function_types/detail/
      - copied from r41356, /trunk/boost/function_types/detail/
   branches/release/boost/function_types/detail/class_transform.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/class_transform.hpp
   branches/release/boost/function_types/detail/classifier.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier.hpp
   branches/release/boost/function_types/detail/classifier_impl/
      - copied from r41356, /trunk/boost/function_types/detail/classifier_impl/
   branches/release/boost/function_types/detail/classifier_impl/arity10_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity10_0.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity10_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity10_1.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity20_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity20_0.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity20_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity20_1.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity30_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity30_0.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity30_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity30_1.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity40_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity40_0.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity40_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity40_1.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity50_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity50_0.hpp
   branches/release/boost/function_types/detail/classifier_impl/arity50_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/arity50_1.hpp
   branches/release/boost/function_types/detail/classifier_impl/master.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/classifier_impl/master.hpp
   branches/release/boost/function_types/detail/components_as_mpl_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_as_mpl_sequence.hpp
   branches/release/boost/function_types/detail/components_impl/
      - copied from r41356, /trunk/boost/function_types/detail/components_impl/
   branches/release/boost/function_types/detail/components_impl/arity10_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity10_0.hpp
   branches/release/boost/function_types/detail/components_impl/arity10_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity10_1.hpp
   branches/release/boost/function_types/detail/components_impl/arity20_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity20_0.hpp
   branches/release/boost/function_types/detail/components_impl/arity20_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity20_1.hpp
   branches/release/boost/function_types/detail/components_impl/arity30_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity30_0.hpp
   branches/release/boost/function_types/detail/components_impl/arity30_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity30_1.hpp
   branches/release/boost/function_types/detail/components_impl/arity40_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity40_0.hpp
   branches/release/boost/function_types/detail/components_impl/arity40_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity40_1.hpp
   branches/release/boost/function_types/detail/components_impl/arity50_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity50_0.hpp
   branches/release/boost/function_types/detail/components_impl/arity50_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/arity50_1.hpp
   branches/release/boost/function_types/detail/components_impl/master.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/components_impl/master.hpp
   branches/release/boost/function_types/detail/cv_traits.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/cv_traits.hpp
   branches/release/boost/function_types/detail/encoding/
      - copied from r41356, /trunk/boost/function_types/detail/encoding/
   branches/release/boost/function_types/detail/encoding/aliases_def.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/encoding/aliases_def.hpp
   branches/release/boost/function_types/detail/encoding/aliases_undef.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/encoding/aliases_undef.hpp
   branches/release/boost/function_types/detail/encoding/def.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/encoding/def.hpp
   branches/release/boost/function_types/detail/encoding/undef.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/encoding/undef.hpp
   branches/release/boost/function_types/detail/pp_arity_loop.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_arity_loop.hpp
   branches/release/boost/function_types/detail/pp_cc_loop/
      - copied from r41356, /trunk/boost/function_types/detail/pp_cc_loop/
   branches/release/boost/function_types/detail/pp_cc_loop/master.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_cc_loop/master.hpp
   branches/release/boost/function_types/detail/pp_cc_loop/preprocessed.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_cc_loop/preprocessed.hpp
   branches/release/boost/function_types/detail/pp_loop.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_loop.hpp
   branches/release/boost/function_types/detail/pp_retag_default_cc/
      - copied from r41356, /trunk/boost/function_types/detail/pp_retag_default_cc/
   branches/release/boost/function_types/detail/pp_retag_default_cc/master.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_retag_default_cc/master.hpp
   branches/release/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
   branches/release/boost/function_types/detail/pp_tags/
      - copied from r41356, /trunk/boost/function_types/detail/pp_tags/
   branches/release/boost/function_types/detail/pp_tags/cc_tag.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_tags/cc_tag.hpp
   branches/release/boost/function_types/detail/pp_tags/master.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_tags/master.hpp
   branches/release/boost/function_types/detail/pp_tags/preprocessed.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_tags/preprocessed.hpp
   branches/release/boost/function_types/detail/pp_variate_loop/
      - copied from r41356, /trunk/boost/function_types/detail/pp_variate_loop/
   branches/release/boost/function_types/detail/pp_variate_loop/master.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_variate_loop/master.hpp
   branches/release/boost/function_types/detail/pp_variate_loop/preprocessed.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/pp_variate_loop/preprocessed.hpp
   branches/release/boost/function_types/detail/retag_default_cc.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/retag_default_cc.hpp
   branches/release/boost/function_types/detail/synthesize.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize.hpp
   branches/release/boost/function_types/detail/synthesize_impl/
      - copied from r41356, /trunk/boost/function_types/detail/synthesize_impl/
   branches/release/boost/function_types/detail/synthesize_impl/arity10_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity10_0.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity10_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity10_1.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity20_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity20_0.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity20_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity20_1.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity30_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity30_0.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity30_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity30_1.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity40_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity40_0.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity40_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity40_1.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity50_0.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity50_0.hpp
   branches/release/boost/function_types/detail/synthesize_impl/arity50_1.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/arity50_1.hpp
   branches/release/boost/function_types/detail/synthesize_impl/master.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/synthesize_impl/master.hpp
   branches/release/boost/function_types/detail/to_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/detail/to_sequence.hpp
   branches/release/boost/function_types/function_arity.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/function_arity.hpp
   branches/release/boost/function_types/function_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/function_pointer.hpp
   branches/release/boost/function_types/function_reference.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/function_reference.hpp
   branches/release/boost/function_types/function_type.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/function_type.hpp
   branches/release/boost/function_types/is_callable_builtin.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_callable_builtin.hpp
   branches/release/boost/function_types/is_function.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_function.hpp
   branches/release/boost/function_types/is_function_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_function_pointer.hpp
   branches/release/boost/function_types/is_function_reference.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_function_reference.hpp
   branches/release/boost/function_types/is_member_function_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_member_function_pointer.hpp
   branches/release/boost/function_types/is_member_object_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_member_object_pointer.hpp
   branches/release/boost/function_types/is_member_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_member_pointer.hpp
   branches/release/boost/function_types/is_nonmember_callable_builtin.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/is_nonmember_callable_builtin.hpp
   branches/release/boost/function_types/member_function_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/member_function_pointer.hpp
   branches/release/boost/function_types/member_object_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/member_object_pointer.hpp
   branches/release/boost/function_types/parameter_types.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/parameter_types.hpp
   branches/release/boost/function_types/property_tags.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/property_tags.hpp
   branches/release/boost/function_types/result_type.hpp
      - copied unchanged from r41356, /trunk/boost/function_types/result_type.hpp
   branches/release/boost/functional/hash/deque.hpp
      - copied unchanged from r41356, /trunk/boost/functional/hash/deque.hpp
   branches/release/boost/functional/hash/list.hpp
      - copied unchanged from r41356, /trunk/boost/functional/hash/list.hpp
   branches/release/boost/functional/hash/map.hpp
      - copied unchanged from r41356, /trunk/boost/functional/hash/map.hpp
   branches/release/boost/functional/hash/pair.hpp
      - copied unchanged from r41356, /trunk/boost/functional/hash/pair.hpp
   branches/release/boost/functional/hash/set.hpp
      - copied unchanged from r41356, /trunk/boost/functional/hash/set.hpp
   branches/release/boost/functional/hash/vector.hpp
      - copied unchanged from r41356, /trunk/boost/functional/hash/vector.hpp
   branches/release/boost/fusion/
      - copied from r41356, /trunk/boost/fusion/
   branches/release/boost/fusion/adapted/
      - copied from r41356, /trunk/boost/fusion/adapted/
   branches/release/boost/fusion/adapted.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted.hpp
   branches/release/boost/fusion/adapted/array/
      - copied from r41356, /trunk/boost/fusion/adapted/array/
   branches/release/boost/fusion/adapted/array.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array.hpp
   branches/release/boost/fusion/adapted/array/array_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/array_iterator.hpp
   branches/release/boost/fusion/adapted/array/detail/
      - copied from r41356, /trunk/boost/fusion/adapted/array/detail/
   branches/release/boost/fusion/adapted/array/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/at_impl.hpp
   branches/release/boost/fusion/adapted/array/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/begin_impl.hpp
   branches/release/boost/fusion/adapted/array/detail/category_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/category_of_impl.hpp
   branches/release/boost/fusion/adapted/array/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/end_impl.hpp
   branches/release/boost/fusion/adapted/array/detail/is_sequence_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/is_sequence_impl.hpp
   branches/release/boost/fusion/adapted/array/detail/is_view_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/is_view_impl.hpp
   branches/release/boost/fusion/adapted/array/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/size_impl.hpp
   branches/release/boost/fusion/adapted/array/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/detail/value_at_impl.hpp
   branches/release/boost/fusion/adapted/array/tag_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/array/tag_of.hpp
   branches/release/boost/fusion/adapted/boost_tuple/
      - copied from r41356, /trunk/boost/fusion/adapted/boost_tuple/
   branches/release/boost/fusion/adapted/boost_tuple.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple.hpp
   branches/release/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/
      - copied from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/
   branches/release/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp
   branches/release/boost/fusion/adapted/boost_tuple/tag_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/boost_tuple/tag_of.hpp
   branches/release/boost/fusion/adapted/mpl/
      - copied from r41356, /trunk/boost/fusion/adapted/mpl/
   branches/release/boost/fusion/adapted/mpl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/
      - copied from r41356, /trunk/boost/fusion/adapted/mpl/detail/
   branches/release/boost/fusion/adapted/mpl/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/at_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/begin_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/category_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/category_of_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/empty_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/empty_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/end_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/has_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/has_key_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/is_view_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/is_view_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/size_impl.hpp
   branches/release/boost/fusion/adapted/mpl/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/detail/value_at_impl.hpp
   branches/release/boost/fusion/adapted/mpl/mpl_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/mpl/mpl_iterator.hpp
   branches/release/boost/fusion/adapted/std_pair/
      - copied from r41356, /trunk/boost/fusion/adapted/std_pair/
   branches/release/boost/fusion/adapted/std_pair.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/
      - copied from r41356, /trunk/boost/fusion/adapted/std_pair/detail/
   branches/release/boost/fusion/adapted/std_pair/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/at_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/begin_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/end_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/size_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/detail/value_at_impl.hpp
   branches/release/boost/fusion/adapted/std_pair/std_pair_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/std_pair_iterator.hpp
   branches/release/boost/fusion/adapted/std_pair/tag_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/std_pair/tag_of.hpp
   branches/release/boost/fusion/adapted/struct/
      - copied from r41356, /trunk/boost/fusion/adapted/struct/
   branches/release/boost/fusion/adapted/struct.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct.hpp
   branches/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
   branches/release/boost/fusion/adapted/struct/adapt_struct.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/adapt_struct.hpp
   branches/release/boost/fusion/adapted/struct/detail/
      - copied from r41356, /trunk/boost/fusion/adapted/struct/detail/
   branches/release/boost/fusion/adapted/struct/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/at_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/at_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/at_key_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/begin_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/category_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/category_of_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/end_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/has_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/has_key_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/is_view_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/is_view_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/size_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/value_at_impl.hpp
   branches/release/boost/fusion/adapted/struct/detail/value_at_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/detail/value_at_key_impl.hpp
   branches/release/boost/fusion/adapted/struct/extension.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/extension.hpp
   branches/release/boost/fusion/adapted/struct/struct_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/struct/struct_iterator.hpp
   branches/release/boost/fusion/adapted/variant/
      - copied from r41356, /trunk/boost/fusion/adapted/variant/
   branches/release/boost/fusion/adapted/variant.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant.hpp
   branches/release/boost/fusion/adapted/variant/detail/
      - copied from r41356, /trunk/boost/fusion/adapted/variant/detail/
   branches/release/boost/fusion/adapted/variant/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/detail/begin_impl.hpp
   branches/release/boost/fusion/adapted/variant/detail/category_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/detail/category_of_impl.hpp
   branches/release/boost/fusion/adapted/variant/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/detail/end_impl.hpp
   branches/release/boost/fusion/adapted/variant/detail/is_sequence_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/detail/is_sequence_impl.hpp
   branches/release/boost/fusion/adapted/variant/detail/is_view_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/detail/is_view_impl.hpp
   branches/release/boost/fusion/adapted/variant/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/detail/size_impl.hpp
   branches/release/boost/fusion/adapted/variant/tag_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/tag_of.hpp
   branches/release/boost/fusion/adapted/variant/variant_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/adapted/variant/variant_iterator.hpp
   branches/release/boost/fusion/algorithm/
      - copied from r41356, /trunk/boost/fusion/algorithm/
   branches/release/boost/fusion/algorithm.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm.hpp
   branches/release/boost/fusion/algorithm/iteration/
      - copied from r41356, /trunk/boost/fusion/algorithm/iteration/
   branches/release/boost/fusion/algorithm/iteration.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/iteration.hpp
   branches/release/boost/fusion/algorithm/iteration/accumulate.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/iteration/accumulate.hpp
   branches/release/boost/fusion/algorithm/iteration/detail/
      - copied from r41356, /trunk/boost/fusion/algorithm/iteration/detail/
   branches/release/boost/fusion/algorithm/iteration/detail/fold.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/iteration/detail/fold.hpp
   branches/release/boost/fusion/algorithm/iteration/detail/for_each.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/iteration/detail/for_each.hpp
   branches/release/boost/fusion/algorithm/iteration/ext_/
      - copied from r41356, /trunk/boost/fusion/algorithm/iteration/ext_/
   branches/release/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp
   branches/release/boost/fusion/algorithm/iteration/fold.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/iteration/fold.hpp
   branches/release/boost/fusion/algorithm/iteration/for_each.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/iteration/for_each.hpp
   branches/release/boost/fusion/algorithm/query/
      - copied from r41356, /trunk/boost/fusion/algorithm/query/
   branches/release/boost/fusion/algorithm/query.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query.hpp
   branches/release/boost/fusion/algorithm/query/all.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/all.hpp
   branches/release/boost/fusion/algorithm/query/any.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/any.hpp
   branches/release/boost/fusion/algorithm/query/count.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/count.hpp
   branches/release/boost/fusion/algorithm/query/count_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/count_if.hpp
   branches/release/boost/fusion/algorithm/query/detail/
      - copied from r41356, /trunk/boost/fusion/algorithm/query/detail/
   branches/release/boost/fusion/algorithm/query/detail/all.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/detail/all.hpp
   branches/release/boost/fusion/algorithm/query/detail/any.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/detail/any.hpp
   branches/release/boost/fusion/algorithm/query/detail/assoc_find.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/detail/assoc_find.hpp
   branches/release/boost/fusion/algorithm/query/detail/count.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/detail/count.hpp
   branches/release/boost/fusion/algorithm/query/detail/count_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/detail/count_if.hpp
   branches/release/boost/fusion/algorithm/query/detail/find_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/detail/find_if.hpp
   branches/release/boost/fusion/algorithm/query/ext_/
      - copied from r41356, /trunk/boost/fusion/algorithm/query/ext_/
   branches/release/boost/fusion/algorithm/query/ext_/find_if_s.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/ext_/find_if_s.hpp
   branches/release/boost/fusion/algorithm/query/find.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/find.hpp
   branches/release/boost/fusion/algorithm/query/find_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/find_if.hpp
   branches/release/boost/fusion/algorithm/query/none.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/query/none.hpp
   branches/release/boost/fusion/algorithm/transformation/
      - copied from r41356, /trunk/boost/fusion/algorithm/transformation/
   branches/release/boost/fusion/algorithm/transformation.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation.hpp
   branches/release/boost/fusion/algorithm/transformation/clear.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/clear.hpp
   branches/release/boost/fusion/algorithm/transformation/detail/
      - copied from r41356, /trunk/boost/fusion/algorithm/transformation/detail/
   branches/release/boost/fusion/algorithm/transformation/detail/replace.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/detail/replace.hpp
   branches/release/boost/fusion/algorithm/transformation/detail/replace_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/detail/replace_if.hpp
   branches/release/boost/fusion/algorithm/transformation/erase.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/erase.hpp
   branches/release/boost/fusion/algorithm/transformation/erase_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/erase_key.hpp
   branches/release/boost/fusion/algorithm/transformation/filter.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/filter.hpp
   branches/release/boost/fusion/algorithm/transformation/filter_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/filter_if.hpp
   branches/release/boost/fusion/algorithm/transformation/insert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/insert.hpp
   branches/release/boost/fusion/algorithm/transformation/insert_range.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/insert_range.hpp
   branches/release/boost/fusion/algorithm/transformation/join.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/join.hpp
   branches/release/boost/fusion/algorithm/transformation/pop_back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/pop_back.hpp
   branches/release/boost/fusion/algorithm/transformation/pop_front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/pop_front.hpp
   branches/release/boost/fusion/algorithm/transformation/push_back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/push_back.hpp
   branches/release/boost/fusion/algorithm/transformation/push_front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/push_front.hpp
   branches/release/boost/fusion/algorithm/transformation/remove.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/remove.hpp
   branches/release/boost/fusion/algorithm/transformation/remove_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/remove_if.hpp
   branches/release/boost/fusion/algorithm/transformation/replace.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/replace.hpp
   branches/release/boost/fusion/algorithm/transformation/replace_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/replace_if.hpp
   branches/release/boost/fusion/algorithm/transformation/reverse.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/reverse.hpp
   branches/release/boost/fusion/algorithm/transformation/transform.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/transform.hpp
   branches/release/boost/fusion/algorithm/transformation/zip.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/algorithm/transformation/zip.hpp
   branches/release/boost/fusion/container/
      - copied from r41356, /trunk/boost/fusion/container/
   branches/release/boost/fusion/container.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container.hpp
   branches/release/boost/fusion/container/deque/
      - copied from r41356, /trunk/boost/fusion/container/deque/
   branches/release/boost/fusion/container/deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque.hpp
   branches/release/boost/fusion/container/deque/back_extended_deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/back_extended_deque.hpp
   branches/release/boost/fusion/container/deque/convert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/convert.hpp
   branches/release/boost/fusion/container/deque/deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/deque.hpp
   branches/release/boost/fusion/container/deque/deque_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/deque_fwd.hpp
   branches/release/boost/fusion/container/deque/deque_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/deque_iterator.hpp
   branches/release/boost/fusion/container/deque/detail/
      - copied from r41356, /trunk/boost/fusion/container/deque/detail/
   branches/release/boost/fusion/container/deque/detail/as_deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/as_deque.hpp
   branches/release/boost/fusion/container/deque/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/at_impl.hpp
   branches/release/boost/fusion/container/deque/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/begin_impl.hpp
   branches/release/boost/fusion/container/deque/detail/convert_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/convert_impl.hpp
   branches/release/boost/fusion/container/deque/detail/deque_forward_ctor.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/deque_forward_ctor.hpp
   branches/release/boost/fusion/container/deque/detail/deque_initial_size.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/deque_initial_size.hpp
   branches/release/boost/fusion/container/deque/detail/deque_keyed_values.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/deque_keyed_values.hpp
   branches/release/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp
   branches/release/boost/fusion/container/deque/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/end_impl.hpp
   branches/release/boost/fusion/container/deque/detail/keyed_element.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/keyed_element.hpp
   branches/release/boost/fusion/container/deque/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/detail/value_at_impl.hpp
   branches/release/boost/fusion/container/deque/front_extended_deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/front_extended_deque.hpp
   branches/release/boost/fusion/container/deque/limits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/deque/limits.hpp
   branches/release/boost/fusion/container/ext_/
      - copied from r41356, /trunk/boost/fusion/container/ext_/
   branches/release/boost/fusion/container/ext_/tree.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/ext_/tree.hpp
   branches/release/boost/fusion/container/generation/
      - copied from r41356, /trunk/boost/fusion/container/generation/
   branches/release/boost/fusion/container/generation.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation.hpp
   branches/release/boost/fusion/container/generation/cons_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/cons_tie.hpp
   branches/release/boost/fusion/container/generation/deque_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/deque_tie.hpp
   branches/release/boost/fusion/container/generation/ignore.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/ignore.hpp
   branches/release/boost/fusion/container/generation/list_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/list_tie.hpp
   branches/release/boost/fusion/container/generation/make_cons.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/make_cons.hpp
   branches/release/boost/fusion/container/generation/make_deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/make_deque.hpp
   branches/release/boost/fusion/container/generation/make_list.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/make_list.hpp
   branches/release/boost/fusion/container/generation/make_map.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/make_map.hpp
   branches/release/boost/fusion/container/generation/make_set.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/make_set.hpp
   branches/release/boost/fusion/container/generation/make_vector.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/make_vector.hpp
   branches/release/boost/fusion/container/generation/map_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/map_tie.hpp
   branches/release/boost/fusion/container/generation/pair_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/pair_tie.hpp
   branches/release/boost/fusion/container/generation/vector_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/generation/vector_tie.hpp
   branches/release/boost/fusion/container/list/
      - copied from r41356, /trunk/boost/fusion/container/list/
   branches/release/boost/fusion/container/list.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list.hpp
   branches/release/boost/fusion/container/list/cons.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/cons.hpp
   branches/release/boost/fusion/container/list/cons_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/cons_iterator.hpp
   branches/release/boost/fusion/container/list/convert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/convert.hpp
   branches/release/boost/fusion/container/list/detail/
      - copied from r41356, /trunk/boost/fusion/container/list/detail/
   branches/release/boost/fusion/container/list/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/at_impl.hpp
   branches/release/boost/fusion/container/list/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/begin_impl.hpp
   branches/release/boost/fusion/container/list/detail/build_cons.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/build_cons.hpp
   branches/release/boost/fusion/container/list/detail/convert_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/convert_impl.hpp
   branches/release/boost/fusion/container/list/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/deref_impl.hpp
   branches/release/boost/fusion/container/list/detail/empty_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/empty_impl.hpp
   branches/release/boost/fusion/container/list/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/end_impl.hpp
   branches/release/boost/fusion/container/list/detail/equal_to_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/equal_to_impl.hpp
   branches/release/boost/fusion/container/list/detail/list_forward_ctor.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/list_forward_ctor.hpp
   branches/release/boost/fusion/container/list/detail/list_to_cons.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/list_to_cons.hpp
   branches/release/boost/fusion/container/list/detail/list_to_cons_call.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/list_to_cons_call.hpp
   branches/release/boost/fusion/container/list/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/next_impl.hpp
   branches/release/boost/fusion/container/list/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/value_at_impl.hpp
   branches/release/boost/fusion/container/list/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/detail/value_of_impl.hpp
   branches/release/boost/fusion/container/list/limits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/limits.hpp
   branches/release/boost/fusion/container/list/list.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/list.hpp
   branches/release/boost/fusion/container/list/list_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/list/list_fwd.hpp
   branches/release/boost/fusion/container/map/
      - copied from r41356, /trunk/boost/fusion/container/map/
   branches/release/boost/fusion/container/map.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map.hpp
   branches/release/boost/fusion/container/map/convert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/convert.hpp
   branches/release/boost/fusion/container/map/detail/
      - copied from r41356, /trunk/boost/fusion/container/map/detail/
   branches/release/boost/fusion/container/map/detail/as_map.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/as_map.hpp
   branches/release/boost/fusion/container/map/detail/at_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/at_key_impl.hpp
   branches/release/boost/fusion/container/map/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/begin_impl.hpp
   branches/release/boost/fusion/container/map/detail/convert_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/convert_impl.hpp
   branches/release/boost/fusion/container/map/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/end_impl.hpp
   branches/release/boost/fusion/container/map/detail/lookup_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/lookup_key.hpp
   branches/release/boost/fusion/container/map/detail/map_forward_ctor.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/map_forward_ctor.hpp
   branches/release/boost/fusion/container/map/detail/map_lookup.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/map_lookup.hpp
   branches/release/boost/fusion/container/map/detail/value_at_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/detail/value_at_key_impl.hpp
   branches/release/boost/fusion/container/map/limits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/limits.hpp
   branches/release/boost/fusion/container/map/map.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/map.hpp
   branches/release/boost/fusion/container/map/map_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/map/map_fwd.hpp
   branches/release/boost/fusion/container/set/
      - copied from r41356, /trunk/boost/fusion/container/set/
   branches/release/boost/fusion/container/set.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set.hpp
   branches/release/boost/fusion/container/set/convert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/convert.hpp
   branches/release/boost/fusion/container/set/detail/
      - copied from r41356, /trunk/boost/fusion/container/set/detail/
   branches/release/boost/fusion/container/set/detail/as_set.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/as_set.hpp
   branches/release/boost/fusion/container/set/detail/at_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/at_key_impl.hpp
   branches/release/boost/fusion/container/set/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/begin_impl.hpp
   branches/release/boost/fusion/container/set/detail/convert_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/convert_impl.hpp
   branches/release/boost/fusion/container/set/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/end_impl.hpp
   branches/release/boost/fusion/container/set/detail/lookup_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/lookup_key.hpp
   branches/release/boost/fusion/container/set/detail/set_forward_ctor.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/set_forward_ctor.hpp
   branches/release/boost/fusion/container/set/detail/set_lookup.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/set_lookup.hpp
   branches/release/boost/fusion/container/set/detail/value_at_key_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/detail/value_at_key_impl.hpp
   branches/release/boost/fusion/container/set/limits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/limits.hpp
   branches/release/boost/fusion/container/set/set.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/set.hpp
   branches/release/boost/fusion/container/set/set_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/set/set_fwd.hpp
   branches/release/boost/fusion/container/vector/
      - copied from r41356, /trunk/boost/fusion/container/vector/
   branches/release/boost/fusion/container/vector.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector.hpp
   branches/release/boost/fusion/container/vector/convert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/convert.hpp
   branches/release/boost/fusion/container/vector/detail/
      - copied from r41356, /trunk/boost/fusion/container/vector/detail/
   branches/release/boost/fusion/container/vector/detail/advance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/advance_impl.hpp
   branches/release/boost/fusion/container/vector/detail/as_vector.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/as_vector.hpp
   branches/release/boost/fusion/container/vector/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/at_impl.hpp
   branches/release/boost/fusion/container/vector/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/begin_impl.hpp
   branches/release/boost/fusion/container/vector/detail/convert_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/convert_impl.hpp
   branches/release/boost/fusion/container/vector/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/deref_impl.hpp
   branches/release/boost/fusion/container/vector/detail/distance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/distance_impl.hpp
   branches/release/boost/fusion/container/vector/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/end_impl.hpp
   branches/release/boost/fusion/container/vector/detail/equal_to_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/equal_to_impl.hpp
   branches/release/boost/fusion/container/vector/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/next_impl.hpp
   branches/release/boost/fusion/container/vector/detail/prior_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/prior_impl.hpp
   branches/release/boost/fusion/container/vector/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/value_at_impl.hpp
   branches/release/boost/fusion/container/vector/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/value_of_impl.hpp
   branches/release/boost/fusion/container/vector/detail/vector_forward_ctor.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/vector_forward_ctor.hpp
   branches/release/boost/fusion/container/vector/detail/vector_n.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/vector_n.hpp
   branches/release/boost/fusion/container/vector/detail/vector_n_chooser.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/detail/vector_n_chooser.hpp
   branches/release/boost/fusion/container/vector/limits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/limits.hpp
   branches/release/boost/fusion/container/vector/vector.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector.hpp
   branches/release/boost/fusion/container/vector/vector10.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector10.hpp
   branches/release/boost/fusion/container/vector/vector20.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector20.hpp
   branches/release/boost/fusion/container/vector/vector30.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector30.hpp
   branches/release/boost/fusion/container/vector/vector40.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector40.hpp
   branches/release/boost/fusion/container/vector/vector50.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector50.hpp
   branches/release/boost/fusion/container/vector/vector_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector_fwd.hpp
   branches/release/boost/fusion/container/vector/vector_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/container/vector/vector_iterator.hpp
   branches/release/boost/fusion/functional/
      - copied from r41356, /trunk/boost/fusion/functional/
   branches/release/boost/fusion/functional.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional.hpp
   branches/release/boost/fusion/functional/adapter/
      - copied from r41356, /trunk/boost/fusion/functional/adapter/
   branches/release/boost/fusion/functional/adapter.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter.hpp
   branches/release/boost/fusion/functional/adapter/detail/
      - copied from r41356, /trunk/boost/fusion/functional/adapter/detail/
   branches/release/boost/fusion/functional/adapter/detail/access.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/detail/access.hpp
   branches/release/boost/fusion/functional/adapter/detail/pow2_explode.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/detail/pow2_explode.hpp
   branches/release/boost/fusion/functional/adapter/detail/pt_def.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/detail/pt_def.hpp
   branches/release/boost/fusion/functional/adapter/detail/pt_undef.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/detail/pt_undef.hpp
   branches/release/boost/fusion/functional/adapter/fused.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/fused.hpp
   branches/release/boost/fusion/functional/adapter/fused_function_object.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/fused_function_object.hpp
   branches/release/boost/fusion/functional/adapter/fused_procedure.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/fused_procedure.hpp
   branches/release/boost/fusion/functional/adapter/limits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/limits.hpp
   branches/release/boost/fusion/functional/adapter/unfused_generic.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/unfused_generic.hpp
   branches/release/boost/fusion/functional/adapter/unfused_lvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/unfused_lvalue_args.hpp
   branches/release/boost/fusion/functional/adapter/unfused_rvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/unfused_rvalue_args.hpp
   branches/release/boost/fusion/functional/adapter/unfused_typed.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/adapter/unfused_typed.hpp
   branches/release/boost/fusion/functional/generation/
      - copied from r41356, /trunk/boost/fusion/functional/generation/
   branches/release/boost/fusion/functional/generation.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation.hpp
   branches/release/boost/fusion/functional/generation/detail/
      - copied from r41356, /trunk/boost/fusion/functional/generation/detail/
   branches/release/boost/fusion/functional/generation/detail/gen_make_adapter.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation/detail/gen_make_adapter.hpp
   branches/release/boost/fusion/functional/generation/make_fused.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation/make_fused.hpp
   branches/release/boost/fusion/functional/generation/make_fused_function_object.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation/make_fused_function_object.hpp
   branches/release/boost/fusion/functional/generation/make_fused_procedure.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation/make_fused_procedure.hpp
   branches/release/boost/fusion/functional/generation/make_unfused_generic.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation/make_unfused_generic.hpp
   branches/release/boost/fusion/functional/generation/make_unfused_lvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation/make_unfused_lvalue_args.hpp
   branches/release/boost/fusion/functional/generation/make_unfused_rvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/generation/make_unfused_rvalue_args.hpp
   branches/release/boost/fusion/functional/invocation/
      - copied from r41356, /trunk/boost/fusion/functional/invocation/
   branches/release/boost/fusion/functional/invocation.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/invocation.hpp
   branches/release/boost/fusion/functional/invocation/detail/
      - copied from r41356, /trunk/boost/fusion/functional/invocation/detail/
   branches/release/boost/fusion/functional/invocation/detail/that_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/invocation/detail/that_ptr.hpp
   branches/release/boost/fusion/functional/invocation/invoke.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/invocation/invoke.hpp
   branches/release/boost/fusion/functional/invocation/invoke_function_object.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/invocation/invoke_function_object.hpp
   branches/release/boost/fusion/functional/invocation/invoke_procedure.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/invocation/invoke_procedure.hpp
   branches/release/boost/fusion/functional/invocation/limits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/functional/invocation/limits.hpp
   branches/release/boost/fusion/include/
      - copied from r41356, /trunk/boost/fusion/include/
   branches/release/boost/fusion/include/accumulate.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/accumulate.hpp
   branches/release/boost/fusion/include/adapt_struct.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/adapt_struct.hpp
   branches/release/boost/fusion/include/adapted.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/adapted.hpp
   branches/release/boost/fusion/include/adapter.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/adapter.hpp
   branches/release/boost/fusion/include/advance.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/advance.hpp
   branches/release/boost/fusion/include/algorithm.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/algorithm.hpp
   branches/release/boost/fusion/include/all.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/all.hpp
   branches/release/boost/fusion/include/any.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/any.hpp
   branches/release/boost/fusion/include/array.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/array.hpp
   branches/release/boost/fusion/include/as_deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/as_deque.hpp
   branches/release/boost/fusion/include/as_list.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/as_list.hpp
   branches/release/boost/fusion/include/as_map.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/as_map.hpp
   branches/release/boost/fusion/include/as_set.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/as_set.hpp
   branches/release/boost/fusion/include/as_vector.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/as_vector.hpp
   branches/release/boost/fusion/include/at.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/at.hpp
   branches/release/boost/fusion/include/at_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/at_key.hpp
   branches/release/boost/fusion/include/back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/back.hpp
   branches/release/boost/fusion/include/begin.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/begin.hpp
   branches/release/boost/fusion/include/boost_tuple.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/boost_tuple.hpp
   branches/release/boost/fusion/include/category_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/category_of.hpp
   branches/release/boost/fusion/include/clear.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/clear.hpp
   branches/release/boost/fusion/include/comparison.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/comparison.hpp
   branches/release/boost/fusion/include/cons.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/cons.hpp
   branches/release/boost/fusion/include/cons_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/cons_tie.hpp
   branches/release/boost/fusion/include/container.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/container.hpp
   branches/release/boost/fusion/include/convert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/convert.hpp
   branches/release/boost/fusion/include/count.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/count.hpp
   branches/release/boost/fusion/include/count_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/count_if.hpp
   branches/release/boost/fusion/include/deduce.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/deduce.hpp
   branches/release/boost/fusion/include/deduce_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/deduce_sequence.hpp
   branches/release/boost/fusion/include/deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/deque.hpp
   branches/release/boost/fusion/include/deque_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/deque_fwd.hpp
   branches/release/boost/fusion/include/deque_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/deque_tie.hpp
   branches/release/boost/fusion/include/deref.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/deref.hpp
   branches/release/boost/fusion/include/distance.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/distance.hpp
   branches/release/boost/fusion/include/empty.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/empty.hpp
   branches/release/boost/fusion/include/end.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/end.hpp
   branches/release/boost/fusion/include/equal_to.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/equal_to.hpp
   branches/release/boost/fusion/include/erase.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/erase.hpp
   branches/release/boost/fusion/include/erase_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/erase_key.hpp
   branches/release/boost/fusion/include/filter.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/filter.hpp
   branches/release/boost/fusion/include/filter_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/filter_if.hpp
   branches/release/boost/fusion/include/filter_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/filter_view.hpp
   branches/release/boost/fusion/include/find.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/find.hpp
   branches/release/boost/fusion/include/find_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/find_if.hpp
   branches/release/boost/fusion/include/fold.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/fold.hpp
   branches/release/boost/fusion/include/for_each.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/for_each.hpp
   branches/release/boost/fusion/include/front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/front.hpp
   branches/release/boost/fusion/include/functional.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/functional.hpp
   branches/release/boost/fusion/include/fused.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/fused.hpp
   branches/release/boost/fusion/include/fused_function_object.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/fused_function_object.hpp
   branches/release/boost/fusion/include/fused_procedure.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/fused_procedure.hpp
   branches/release/boost/fusion/include/generation.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/generation.hpp
   branches/release/boost/fusion/include/greater.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/greater.hpp
   branches/release/boost/fusion/include/greater_equal.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/greater_equal.hpp
   branches/release/boost/fusion/include/has_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/has_key.hpp
   branches/release/boost/fusion/include/ignore.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/ignore.hpp
   branches/release/boost/fusion/include/in.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/in.hpp
   branches/release/boost/fusion/include/insert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/insert.hpp
   branches/release/boost/fusion/include/insert_range.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/insert_range.hpp
   branches/release/boost/fusion/include/intrinsic.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/intrinsic.hpp
   branches/release/boost/fusion/include/invocation.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/invocation.hpp
   branches/release/boost/fusion/include/invoke.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/invoke.hpp
   branches/release/boost/fusion/include/invoke_function_object.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/invoke_function_object.hpp
   branches/release/boost/fusion/include/invoke_procedure.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/invoke_procedure.hpp
   branches/release/boost/fusion/include/io.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/io.hpp
   branches/release/boost/fusion/include/is_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/is_iterator.hpp
   branches/release/boost/fusion/include/is_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/is_sequence.hpp
   branches/release/boost/fusion/include/is_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/is_view.hpp
   branches/release/boost/fusion/include/iteration.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/iteration.hpp
   branches/release/boost/fusion/include/iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/iterator.hpp
   branches/release/boost/fusion/include/iterator_base.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/iterator_base.hpp
   branches/release/boost/fusion/include/iterator_facade.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/iterator_facade.hpp
   branches/release/boost/fusion/include/iterator_range.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/iterator_range.hpp
   branches/release/boost/fusion/include/join.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/join.hpp
   branches/release/boost/fusion/include/joint_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/joint_view.hpp
   branches/release/boost/fusion/include/less.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/less.hpp
   branches/release/boost/fusion/include/less_equal.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/less_equal.hpp
   branches/release/boost/fusion/include/list.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/list.hpp
   branches/release/boost/fusion/include/list_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/list_fwd.hpp
   branches/release/boost/fusion/include/list_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/list_tie.hpp
   branches/release/boost/fusion/include/make_cons.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_cons.hpp
   branches/release/boost/fusion/include/make_deque.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_deque.hpp
   branches/release/boost/fusion/include/make_fused.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_fused.hpp
   branches/release/boost/fusion/include/make_fused_function_object.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_fused_function_object.hpp
   branches/release/boost/fusion/include/make_fused_procedure.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_fused_procedure.hpp
   branches/release/boost/fusion/include/make_list.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_list.hpp
   branches/release/boost/fusion/include/make_map.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_map.hpp
   branches/release/boost/fusion/include/make_set.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_set.hpp
   branches/release/boost/fusion/include/make_tuple.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_tuple.hpp
   branches/release/boost/fusion/include/make_unfused_generic.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_unfused_generic.hpp
   branches/release/boost/fusion/include/make_unfused_lvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_unfused_lvalue_args.hpp
   branches/release/boost/fusion/include/make_unfused_rvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_unfused_rvalue_args.hpp
   branches/release/boost/fusion/include/make_vector.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/make_vector.hpp
   branches/release/boost/fusion/include/map.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/map.hpp
   branches/release/boost/fusion/include/map_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/map_fwd.hpp
   branches/release/boost/fusion/include/map_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/map_tie.hpp
   branches/release/boost/fusion/include/mpl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/mpl.hpp
   branches/release/boost/fusion/include/next.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/next.hpp
   branches/release/boost/fusion/include/none.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/none.hpp
   branches/release/boost/fusion/include/not_equal_to.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/not_equal_to.hpp
   branches/release/boost/fusion/include/out.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/out.hpp
   branches/release/boost/fusion/include/pair.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/pair.hpp
   branches/release/boost/fusion/include/pair_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/pair_tie.hpp
   branches/release/boost/fusion/include/pop_back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/pop_back.hpp
   branches/release/boost/fusion/include/pop_front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/pop_front.hpp
   branches/release/boost/fusion/include/prior.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/prior.hpp
   branches/release/boost/fusion/include/push_back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/push_back.hpp
   branches/release/boost/fusion/include/push_front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/push_front.hpp
   branches/release/boost/fusion/include/query.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/query.hpp
   branches/release/boost/fusion/include/remove.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/remove.hpp
   branches/release/boost/fusion/include/remove_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/remove_if.hpp
   branches/release/boost/fusion/include/repetetive_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/repetetive_view.hpp
   branches/release/boost/fusion/include/replace.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/replace.hpp
   branches/release/boost/fusion/include/replace_if.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/replace_if.hpp
   branches/release/boost/fusion/include/reverse.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/reverse.hpp
   branches/release/boost/fusion/include/reverse_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/reverse_view.hpp
   branches/release/boost/fusion/include/sequence.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/sequence.hpp
   branches/release/boost/fusion/include/sequence_base.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/sequence_base.hpp
   branches/release/boost/fusion/include/sequence_facade.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/sequence_facade.hpp
   branches/release/boost/fusion/include/set.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/set.hpp
   branches/release/boost/fusion/include/set_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/set_fwd.hpp
   branches/release/boost/fusion/include/single_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/single_view.hpp
   branches/release/boost/fusion/include/size.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/size.hpp
   branches/release/boost/fusion/include/std_pair.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/std_pair.hpp
   branches/release/boost/fusion/include/struct.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/struct.hpp
   branches/release/boost/fusion/include/support.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/support.hpp
   branches/release/boost/fusion/include/swap.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/swap.hpp
   branches/release/boost/fusion/include/tag_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/tag_of.hpp
   branches/release/boost/fusion/include/tag_of_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/tag_of_fwd.hpp
   branches/release/boost/fusion/include/transform.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/transform.hpp
   branches/release/boost/fusion/include/transform_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/transform_view.hpp
   branches/release/boost/fusion/include/transformation.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/transformation.hpp
   branches/release/boost/fusion/include/tuple.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/tuple.hpp
   branches/release/boost/fusion/include/tuple_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/tuple_fwd.hpp
   branches/release/boost/fusion/include/tuple_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/tuple_tie.hpp
   branches/release/boost/fusion/include/unfused_generic.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/unfused_generic.hpp
   branches/release/boost/fusion/include/unfused_lvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/unfused_lvalue_args.hpp
   branches/release/boost/fusion/include/unfused_rvalue_args.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/unfused_rvalue_args.hpp
   branches/release/boost/fusion/include/unfused_typed.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/unfused_typed.hpp
   branches/release/boost/fusion/include/unused.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/unused.hpp
   branches/release/boost/fusion/include/utility.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/utility.hpp
   branches/release/boost/fusion/include/value_at.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/value_at.hpp
   branches/release/boost/fusion/include/value_at_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/value_at_key.hpp
   branches/release/boost/fusion/include/value_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/value_of.hpp
   branches/release/boost/fusion/include/variant.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/variant.hpp
   branches/release/boost/fusion/include/vector.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector.hpp
   branches/release/boost/fusion/include/vector10.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector10.hpp
   branches/release/boost/fusion/include/vector20.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector20.hpp
   branches/release/boost/fusion/include/vector30.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector30.hpp
   branches/release/boost/fusion/include/vector40.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector40.hpp
   branches/release/boost/fusion/include/vector50.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector50.hpp
   branches/release/boost/fusion/include/vector_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector_fwd.hpp
   branches/release/boost/fusion/include/vector_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/vector_tie.hpp
   branches/release/boost/fusion/include/view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/view.hpp
   branches/release/boost/fusion/include/void.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/void.hpp
   branches/release/boost/fusion/include/zip.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/zip.hpp
   branches/release/boost/fusion/include/zip_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/include/zip_view.hpp
   branches/release/boost/fusion/iterator/
      - copied from r41356, /trunk/boost/fusion/iterator/
   branches/release/boost/fusion/iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator.hpp
   branches/release/boost/fusion/iterator/advance.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/advance.hpp
   branches/release/boost/fusion/iterator/deref.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/deref.hpp
   branches/release/boost/fusion/iterator/detail/
      - copied from r41356, /trunk/boost/fusion/iterator/detail/
   branches/release/boost/fusion/iterator/detail/adapt_deref_traits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/detail/adapt_deref_traits.hpp
   branches/release/boost/fusion/iterator/detail/adapt_value_traits.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/detail/adapt_value_traits.hpp
   branches/release/boost/fusion/iterator/detail/advance.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/detail/advance.hpp
   branches/release/boost/fusion/iterator/detail/distance.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/detail/distance.hpp
   branches/release/boost/fusion/iterator/distance.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/distance.hpp
   branches/release/boost/fusion/iterator/equal_to.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/equal_to.hpp
   branches/release/boost/fusion/iterator/iterator_facade.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/iterator_facade.hpp
   branches/release/boost/fusion/iterator/mpl/
      - copied from r41356, /trunk/boost/fusion/iterator/mpl/
   branches/release/boost/fusion/iterator/mpl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/mpl.hpp
   branches/release/boost/fusion/iterator/mpl/convert_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/mpl/convert_iterator.hpp
   branches/release/boost/fusion/iterator/mpl/fusion_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/mpl/fusion_iterator.hpp
   branches/release/boost/fusion/iterator/next.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/next.hpp
   branches/release/boost/fusion/iterator/prior.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/prior.hpp
   branches/release/boost/fusion/iterator/value_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/iterator/value_of.hpp
   branches/release/boost/fusion/mpl/
      - copied from r41356, /trunk/boost/fusion/mpl/
   branches/release/boost/fusion/mpl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl.hpp
   branches/release/boost/fusion/mpl/at.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/at.hpp
   branches/release/boost/fusion/mpl/back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/back.hpp
   branches/release/boost/fusion/mpl/begin.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/begin.hpp
   branches/release/boost/fusion/mpl/clear.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/clear.hpp
   branches/release/boost/fusion/mpl/detail/
      - copied from r41356, /trunk/boost/fusion/mpl/detail/
   branches/release/boost/fusion/mpl/detail/clear.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/detail/clear.hpp
   branches/release/boost/fusion/mpl/empty.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/empty.hpp
   branches/release/boost/fusion/mpl/end.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/end.hpp
   branches/release/boost/fusion/mpl/erase.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/erase.hpp
   branches/release/boost/fusion/mpl/erase_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/erase_key.hpp
   branches/release/boost/fusion/mpl/front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/front.hpp
   branches/release/boost/fusion/mpl/has_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/has_key.hpp
   branches/release/boost/fusion/mpl/insert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/insert.hpp
   branches/release/boost/fusion/mpl/insert_range.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/insert_range.hpp
   branches/release/boost/fusion/mpl/pop_back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/pop_back.hpp
   branches/release/boost/fusion/mpl/pop_front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/pop_front.hpp
   branches/release/boost/fusion/mpl/push_back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/push_back.hpp
   branches/release/boost/fusion/mpl/push_front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/push_front.hpp
   branches/release/boost/fusion/mpl/size.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/mpl/size.hpp
   branches/release/boost/fusion/sequence/
      - copied from r41356, /trunk/boost/fusion/sequence/
   branches/release/boost/fusion/sequence.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence.hpp
   branches/release/boost/fusion/sequence/comparison/
      - copied from r41356, /trunk/boost/fusion/sequence/comparison/
   branches/release/boost/fusion/sequence/comparison.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison.hpp
   branches/release/boost/fusion/sequence/comparison/detail/
      - copied from r41356, /trunk/boost/fusion/sequence/comparison/detail/
   branches/release/boost/fusion/sequence/comparison/detail/enable_comparison.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/detail/enable_comparison.hpp
   branches/release/boost/fusion/sequence/comparison/detail/equal_to.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/detail/equal_to.hpp
   branches/release/boost/fusion/sequence/comparison/detail/greater.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/detail/greater.hpp
   branches/release/boost/fusion/sequence/comparison/detail/greater_equal.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/detail/greater_equal.hpp
   branches/release/boost/fusion/sequence/comparison/detail/less.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/detail/less.hpp
   branches/release/boost/fusion/sequence/comparison/detail/less_equal.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/detail/less_equal.hpp
   branches/release/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
   branches/release/boost/fusion/sequence/comparison/equal_to.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/equal_to.hpp
   branches/release/boost/fusion/sequence/comparison/greater.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/greater.hpp
   branches/release/boost/fusion/sequence/comparison/greater_equal.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/greater_equal.hpp
   branches/release/boost/fusion/sequence/comparison/less.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/less.hpp
   branches/release/boost/fusion/sequence/comparison/less_equal.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/less_equal.hpp
   branches/release/boost/fusion/sequence/comparison/not_equal_to.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/comparison/not_equal_to.hpp
   branches/release/boost/fusion/sequence/convert.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/convert.hpp
   branches/release/boost/fusion/sequence/intrinsic/
      - copied from r41356, /trunk/boost/fusion/sequence/intrinsic/
   branches/release/boost/fusion/sequence/intrinsic.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic.hpp
   branches/release/boost/fusion/sequence/intrinsic/at.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/at.hpp
   branches/release/boost/fusion/sequence/intrinsic/at_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/at_key.hpp
   branches/release/boost/fusion/sequence/intrinsic/back.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/back.hpp
   branches/release/boost/fusion/sequence/intrinsic/begin.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/begin.hpp
   branches/release/boost/fusion/sequence/intrinsic/empty.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/empty.hpp
   branches/release/boost/fusion/sequence/intrinsic/end.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/end.hpp
   branches/release/boost/fusion/sequence/intrinsic/ext_/
      - copied from r41356, /trunk/boost/fusion/sequence/intrinsic/ext_/
   branches/release/boost/fusion/sequence/intrinsic/ext_/segments.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/ext_/segments.hpp
   branches/release/boost/fusion/sequence/intrinsic/ext_/size_s.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/ext_/size_s.hpp
   branches/release/boost/fusion/sequence/intrinsic/front.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/front.hpp
   branches/release/boost/fusion/sequence/intrinsic/has_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/has_key.hpp
   branches/release/boost/fusion/sequence/intrinsic/size.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/size.hpp
   branches/release/boost/fusion/sequence/intrinsic/swap.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/swap.hpp
   branches/release/boost/fusion/sequence/intrinsic/value_at.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/value_at.hpp
   branches/release/boost/fusion/sequence/intrinsic/value_at_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/intrinsic/value_at_key.hpp
   branches/release/boost/fusion/sequence/io/
      - copied from r41356, /trunk/boost/fusion/sequence/io/
   branches/release/boost/fusion/sequence/io.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/io.hpp
   branches/release/boost/fusion/sequence/io/detail/
      - copied from r41356, /trunk/boost/fusion/sequence/io/detail/
   branches/release/boost/fusion/sequence/io/detail/in.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/io/detail/in.hpp
   branches/release/boost/fusion/sequence/io/detail/manip.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/io/detail/manip.hpp
   branches/release/boost/fusion/sequence/io/detail/out.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/io/detail/out.hpp
   branches/release/boost/fusion/sequence/io/in.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/io/in.hpp
   branches/release/boost/fusion/sequence/io/out.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/io/out.hpp
   branches/release/boost/fusion/sequence/sequence_facade.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/sequence_facade.hpp
   branches/release/boost/fusion/sequence/utility.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/sequence/utility.hpp
   branches/release/boost/fusion/support/
      - copied from r41356, /trunk/boost/fusion/support/
   branches/release/boost/fusion/support.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support.hpp
   branches/release/boost/fusion/support/category_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/category_of.hpp
   branches/release/boost/fusion/support/deduce.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/deduce.hpp
   branches/release/boost/fusion/support/deduce_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/deduce_sequence.hpp
   branches/release/boost/fusion/support/detail/
      - copied from r41356, /trunk/boost/fusion/support/detail/
   branches/release/boost/fusion/support/detail/access.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/detail/access.hpp
   branches/release/boost/fusion/support/detail/as_fusion_element.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/detail/as_fusion_element.hpp
   branches/release/boost/fusion/support/detail/category_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/detail/category_of.hpp
   branches/release/boost/fusion/support/detail/is_mpl_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/detail/is_mpl_sequence.hpp
   branches/release/boost/fusion/support/detail/is_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/detail/is_view.hpp
   branches/release/boost/fusion/support/detail/mpl_iterator_category.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/detail/mpl_iterator_category.hpp
   branches/release/boost/fusion/support/detail/unknown_key.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/detail/unknown_key.hpp
   branches/release/boost/fusion/support/ext_/
      - copied from r41356, /trunk/boost/fusion/support/ext_/
   branches/release/boost/fusion/support/ext_/is_segmented.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/ext_/is_segmented.hpp
   branches/release/boost/fusion/support/is_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/is_iterator.hpp
   branches/release/boost/fusion/support/is_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/is_sequence.hpp
   branches/release/boost/fusion/support/is_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/is_view.hpp
   branches/release/boost/fusion/support/iterator_base.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/iterator_base.hpp
   branches/release/boost/fusion/support/pair.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/pair.hpp
   branches/release/boost/fusion/support/sequence_base.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/sequence_base.hpp
   branches/release/boost/fusion/support/tag_of.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/tag_of.hpp
   branches/release/boost/fusion/support/tag_of_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/tag_of_fwd.hpp
   branches/release/boost/fusion/support/unused.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/unused.hpp
   branches/release/boost/fusion/support/void.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/support/void.hpp
   branches/release/boost/fusion/tuple/
      - copied from r41356, /trunk/boost/fusion/tuple/
   branches/release/boost/fusion/tuple.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/tuple.hpp
   branches/release/boost/fusion/tuple/detail/
      - copied from r41356, /trunk/boost/fusion/tuple/detail/
   branches/release/boost/fusion/tuple/detail/tuple_forward_ctor.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/tuple/detail/tuple_forward_ctor.hpp
   branches/release/boost/fusion/tuple/make_tuple.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/tuple/make_tuple.hpp
   branches/release/boost/fusion/tuple/tuple.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/tuple/tuple.hpp
   branches/release/boost/fusion/tuple/tuple_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/tuple/tuple_fwd.hpp
   branches/release/boost/fusion/tuple/tuple_tie.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/tuple/tuple_tie.hpp
   branches/release/boost/fusion/view/
      - copied from r41356, /trunk/boost/fusion/view/
   branches/release/boost/fusion/view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view.hpp
   branches/release/boost/fusion/view/detail/
      - copied from r41356, /trunk/boost/fusion/view/detail/
   branches/release/boost/fusion/view/detail/strictest_traversal.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/detail/strictest_traversal.hpp
   branches/release/boost/fusion/view/ext_/
      - copied from r41356, /trunk/boost/fusion/view/ext_/
   branches/release/boost/fusion/view/ext_/multiple_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/ext_/multiple_view.hpp
   branches/release/boost/fusion/view/ext_/segmented_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/ext_/segmented_iterator.hpp
   branches/release/boost/fusion/view/ext_/segmented_iterator_range.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/ext_/segmented_iterator_range.hpp
   branches/release/boost/fusion/view/filter_view/
      - copied from r41356, /trunk/boost/fusion/view/filter_view/
   branches/release/boost/fusion/view/filter_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view.hpp
   branches/release/boost/fusion/view/filter_view/detail/
      - copied from r41356, /trunk/boost/fusion/view/filter_view/detail/
   branches/release/boost/fusion/view/filter_view/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/detail/begin_impl.hpp
   branches/release/boost/fusion/view/filter_view/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/detail/deref_impl.hpp
   branches/release/boost/fusion/view/filter_view/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/detail/end_impl.hpp
   branches/release/boost/fusion/view/filter_view/detail/equal_to_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/detail/equal_to_impl.hpp
   branches/release/boost/fusion/view/filter_view/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/detail/next_impl.hpp
   branches/release/boost/fusion/view/filter_view/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/detail/size_impl.hpp
   branches/release/boost/fusion/view/filter_view/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/detail/value_of_impl.hpp
   branches/release/boost/fusion/view/filter_view/filter_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/filter_view.hpp
   branches/release/boost/fusion/view/filter_view/filter_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/filter_view/filter_view_iterator.hpp
   branches/release/boost/fusion/view/iterator_range/
      - copied from r41356, /trunk/boost/fusion/view/iterator_range/
   branches/release/boost/fusion/view/iterator_range.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/iterator_range.hpp
   branches/release/boost/fusion/view/iterator_range/detail/
      - copied from r41356, /trunk/boost/fusion/view/iterator_range/detail/
   branches/release/boost/fusion/view/iterator_range/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/iterator_range/detail/at_impl.hpp
   branches/release/boost/fusion/view/iterator_range/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/iterator_range/detail/begin_impl.hpp
   branches/release/boost/fusion/view/iterator_range/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/iterator_range/detail/end_impl.hpp
   branches/release/boost/fusion/view/iterator_range/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/iterator_range/detail/value_at_impl.hpp
   branches/release/boost/fusion/view/iterator_range/iterator_range.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/iterator_range/iterator_range.hpp
   branches/release/boost/fusion/view/joint_view/
      - copied from r41356, /trunk/boost/fusion/view/joint_view/
   branches/release/boost/fusion/view/joint_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view.hpp
   branches/release/boost/fusion/view/joint_view/detail/
      - copied from r41356, /trunk/boost/fusion/view/joint_view/detail/
   branches/release/boost/fusion/view/joint_view/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view/detail/begin_impl.hpp
   branches/release/boost/fusion/view/joint_view/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view/detail/deref_impl.hpp
   branches/release/boost/fusion/view/joint_view/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view/detail/end_impl.hpp
   branches/release/boost/fusion/view/joint_view/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view/detail/next_impl.hpp
   branches/release/boost/fusion/view/joint_view/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view/detail/value_of_impl.hpp
   branches/release/boost/fusion/view/joint_view/joint_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view/joint_view.hpp
   branches/release/boost/fusion/view/joint_view/joint_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/joint_view/joint_view_iterator.hpp
   branches/release/boost/fusion/view/repetitive_view/
      - copied from r41356, /trunk/boost/fusion/view/repetitive_view/
   branches/release/boost/fusion/view/repetitive_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view.hpp
   branches/release/boost/fusion/view/repetitive_view/detail/
      - copied from r41356, /trunk/boost/fusion/view/repetitive_view/detail/
   branches/release/boost/fusion/view/repetitive_view/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/detail/begin_impl.hpp
   branches/release/boost/fusion/view/repetitive_view/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/detail/deref_impl.hpp
   branches/release/boost/fusion/view/repetitive_view/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/detail/end_impl.hpp
   branches/release/boost/fusion/view/repetitive_view/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/detail/next_impl.hpp
   branches/release/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp
   branches/release/boost/fusion/view/repetitive_view/repetitive_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/repetitive_view.hpp
   branches/release/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp
   branches/release/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp
   branches/release/boost/fusion/view/reverse_view/
      - copied from r41356, /trunk/boost/fusion/view/reverse_view/
   branches/release/boost/fusion/view/reverse_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view.hpp
   branches/release/boost/fusion/view/reverse_view/detail/
      - copied from r41356, /trunk/boost/fusion/view/reverse_view/detail/
   branches/release/boost/fusion/view/reverse_view/detail/advance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/advance_impl.hpp
   branches/release/boost/fusion/view/reverse_view/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/begin_impl.hpp
   branches/release/boost/fusion/view/reverse_view/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/deref_impl.hpp
   branches/release/boost/fusion/view/reverse_view/detail/distance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/distance_impl.hpp
   branches/release/boost/fusion/view/reverse_view/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/end_impl.hpp
   branches/release/boost/fusion/view/reverse_view/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/next_impl.hpp
   branches/release/boost/fusion/view/reverse_view/detail/prior_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/prior_impl.hpp
   branches/release/boost/fusion/view/reverse_view/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/detail/value_of_impl.hpp
   branches/release/boost/fusion/view/reverse_view/reverse_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/reverse_view.hpp
   branches/release/boost/fusion/view/reverse_view/reverse_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/reverse_view/reverse_view_iterator.hpp
   branches/release/boost/fusion/view/single_view/
      - copied from r41356, /trunk/boost/fusion/view/single_view/
   branches/release/boost/fusion/view/single_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view.hpp
   branches/release/boost/fusion/view/single_view/detail/
      - copied from r41356, /trunk/boost/fusion/view/single_view/detail/
   branches/release/boost/fusion/view/single_view/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view/detail/begin_impl.hpp
   branches/release/boost/fusion/view/single_view/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view/detail/deref_impl.hpp
   branches/release/boost/fusion/view/single_view/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view/detail/end_impl.hpp
   branches/release/boost/fusion/view/single_view/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view/detail/next_impl.hpp
   branches/release/boost/fusion/view/single_view/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view/detail/value_of_impl.hpp
   branches/release/boost/fusion/view/single_view/single_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view/single_view.hpp
   branches/release/boost/fusion/view/single_view/single_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/single_view/single_view_iterator.hpp
   branches/release/boost/fusion/view/transform_view/
      - copied from r41356, /trunk/boost/fusion/view/transform_view/
   branches/release/boost/fusion/view/transform_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view.hpp
   branches/release/boost/fusion/view/transform_view/detail/
      - copied from r41356, /trunk/boost/fusion/view/transform_view/detail/
   branches/release/boost/fusion/view/transform_view/detail/advance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/advance_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/apply_transform_result.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/apply_transform_result.hpp
   branches/release/boost/fusion/view/transform_view/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/at_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/begin_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/deref_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/distance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/distance_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/end_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/equal_to_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/equal_to_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/next_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/prior_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/prior_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/value_at_impl.hpp
   branches/release/boost/fusion/view/transform_view/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/detail/value_of_impl.hpp
   branches/release/boost/fusion/view/transform_view/transform_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/transform_view.hpp
   branches/release/boost/fusion/view/transform_view/transform_view_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/transform_view_fwd.hpp
   branches/release/boost/fusion/view/transform_view/transform_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/transform_view/transform_view_iterator.hpp
   branches/release/boost/fusion/view/zip_view/
      - copied from r41356, /trunk/boost/fusion/view/zip_view/
   branches/release/boost/fusion/view/zip_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view.hpp
   branches/release/boost/fusion/view/zip_view/detail/
      - copied from r41356, /trunk/boost/fusion/view/zip_view/detail/
   branches/release/boost/fusion/view/zip_view/detail/advance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/advance_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/at_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/begin_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/begin_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/deref_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/deref_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/distance_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/distance_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/end_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/end_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/equal_to_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/equal_to_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/next_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/next_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/prior_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/prior_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/size_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/size_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/value_at_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/value_at_impl.hpp
   branches/release/boost/fusion/view/zip_view/detail/value_of_impl.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/detail/value_of_impl.hpp
   branches/release/boost/fusion/view/zip_view/zip_view.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/zip_view.hpp
   branches/release/boost/fusion/view/zip_view/zip_view_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/zip_view_iterator.hpp
   branches/release/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp
   branches/release/boost/gil/
      - copied from r41356, /trunk/boost/gil/
   branches/release/boost/gil/algorithm.hpp
      - copied unchanged from r41356, /trunk/boost/gil/algorithm.hpp
   branches/release/boost/gil/bit_aligned_pixel_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/gil/bit_aligned_pixel_iterator.hpp
   branches/release/boost/gil/bit_aligned_pixel_reference.hpp
      - copied unchanged from r41356, /trunk/boost/gil/bit_aligned_pixel_reference.hpp
   branches/release/boost/gil/channel.hpp
      - copied unchanged from r41356, /trunk/boost/gil/channel.hpp
   branches/release/boost/gil/channel_algorithm.hpp
      - copied unchanged from r41356, /trunk/boost/gil/channel_algorithm.hpp
   branches/release/boost/gil/cmyk.hpp
      - copied unchanged from r41356, /trunk/boost/gil/cmyk.hpp
   branches/release/boost/gil/color_base.hpp
      - copied unchanged from r41356, /trunk/boost/gil/color_base.hpp
   branches/release/boost/gil/color_base_algorithm.hpp
      - copied unchanged from r41356, /trunk/boost/gil/color_base_algorithm.hpp
   branches/release/boost/gil/color_convert.hpp
      - copied unchanged from r41356, /trunk/boost/gil/color_convert.hpp
   branches/release/boost/gil/deprecated.hpp
      - copied unchanged from r41356, /trunk/boost/gil/deprecated.hpp
   branches/release/boost/gil/device_n.hpp
      - copied unchanged from r41356, /trunk/boost/gil/device_n.hpp
   branches/release/boost/gil/extension/
      - copied from r41356, /trunk/boost/gil/extension/
   branches/release/boost/gil/extension/dynamic_image/
      - copied from r41356, /trunk/boost/gil/extension/dynamic_image/
   branches/release/boost/gil/extension/dynamic_image/algorithm.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/algorithm.hpp
   branches/release/boost/gil/extension/dynamic_image/any_image.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/any_image.hpp
   branches/release/boost/gil/extension/dynamic_image/any_image_view.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/any_image_view.hpp
   branches/release/boost/gil/extension/dynamic_image/apply_operation.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/apply_operation.hpp
   branches/release/boost/gil/extension/dynamic_image/apply_operation_base.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/apply_operation_base.hpp
   branches/release/boost/gil/extension/dynamic_image/dynamic_at_c.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/dynamic_at_c.hpp
   branches/release/boost/gil/extension/dynamic_image/dynamic_image_all.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/dynamic_image_all.hpp
   branches/release/boost/gil/extension/dynamic_image/image_view_factory.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/image_view_factory.hpp
   branches/release/boost/gil/extension/dynamic_image/reduce.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/reduce.hpp
   branches/release/boost/gil/extension/dynamic_image/variant.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/dynamic_image/variant.hpp
   branches/release/boost/gil/extension/io/
      - copied from r41356, /trunk/boost/gil/extension/io/
   branches/release/boost/gil/extension/io/dynamic_io.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/dynamic_io.hpp
   branches/release/boost/gil/extension/io/io_error.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/io_error.hpp
   branches/release/boost/gil/extension/io/jpeg_dynamic_io.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/jpeg_dynamic_io.hpp
   branches/release/boost/gil/extension/io/jpeg_io.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/jpeg_io.hpp
   branches/release/boost/gil/extension/io/jpeg_io_private.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/jpeg_io_private.hpp
   branches/release/boost/gil/extension/io/png_dynamic_io.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/png_dynamic_io.hpp
   branches/release/boost/gil/extension/io/png_io.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/png_io.hpp
   branches/release/boost/gil/extension/io/png_io_private.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/png_io_private.hpp
   branches/release/boost/gil/extension/io/tiff_dynamic_io.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/tiff_dynamic_io.hpp
   branches/release/boost/gil/extension/io/tiff_io.hpp
      - copied unchanged from r41356, /trunk/boost/gil/extension/io/tiff_io.hpp
   branches/release/boost/gil/gil_all.hpp
      - copied unchanged from r41356, /trunk/boost/gil/gil_all.hpp
   branches/release/boost/gil/gil_concept.hpp
      - copied unchanged from r41356, /trunk/boost/gil/gil_concept.hpp
   branches/release/boost/gil/gil_config.hpp
      - copied unchanged from r41356, /trunk/boost/gil/gil_config.hpp
   branches/release/boost/gil/gray.hpp
      - copied unchanged from r41356, /trunk/boost/gil/gray.hpp
   branches/release/boost/gil/image.hpp
      - copied unchanged from r41356, /trunk/boost/gil/image.hpp
   branches/release/boost/gil/image_view.hpp
      - copied unchanged from r41356, /trunk/boost/gil/image_view.hpp
   branches/release/boost/gil/image_view_factory.hpp
      - copied unchanged from r41356, /trunk/boost/gil/image_view_factory.hpp
   branches/release/boost/gil/iterator_from_2d.hpp
      - copied unchanged from r41356, /trunk/boost/gil/iterator_from_2d.hpp
   branches/release/boost/gil/locator.hpp
      - copied unchanged from r41356, /trunk/boost/gil/locator.hpp
   branches/release/boost/gil/metafunctions.hpp
      - copied unchanged from r41356, /trunk/boost/gil/metafunctions.hpp
   branches/release/boost/gil/packed_pixel.hpp
      - copied unchanged from r41356, /trunk/boost/gil/packed_pixel.hpp
   branches/release/boost/gil/pixel.hpp
      - copied unchanged from r41356, /trunk/boost/gil/pixel.hpp
   branches/release/boost/gil/pixel_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/gil/pixel_iterator.hpp
   branches/release/boost/gil/pixel_iterator_adaptor.hpp
      - copied unchanged from r41356, /trunk/boost/gil/pixel_iterator_adaptor.hpp
   branches/release/boost/gil/planar_pixel_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/gil/planar_pixel_iterator.hpp
   branches/release/boost/gil/planar_pixel_reference.hpp
      - copied unchanged from r41356, /trunk/boost/gil/planar_pixel_reference.hpp
   branches/release/boost/gil/position_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/gil/position_iterator.hpp
   branches/release/boost/gil/rgb.hpp
      - copied unchanged from r41356, /trunk/boost/gil/rgb.hpp
   branches/release/boost/gil/rgba.hpp
      - copied unchanged from r41356, /trunk/boost/gil/rgba.hpp
   branches/release/boost/gil/step_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/gil/step_iterator.hpp
   branches/release/boost/gil/typedefs.hpp
      - copied unchanged from r41356, /trunk/boost/gil/typedefs.hpp
   branches/release/boost/gil/utilities.hpp
      - copied unchanged from r41356, /trunk/boost/gil/utilities.hpp
   branches/release/boost/gil/virtual_locator.hpp
      - copied unchanged from r41356, /trunk/boost/gil/virtual_locator.hpp
   branches/release/boost/graph/boyer_myrvold_planar_test.hpp
      - copied unchanged from r41356, /trunk/boost/graph/boyer_myrvold_planar_test.hpp
   branches/release/boost/graph/chrobak_payne_drawing.hpp
      - copied unchanged from r41356, /trunk/boost/graph/chrobak_payne_drawing.hpp
   branches/release/boost/graph/graphml.hpp
      - copied unchanged from r41356, /trunk/boost/graph/graphml.hpp
   branches/release/boost/graph/howard_cycle_ratio.hpp
      - copied unchanged from r41356, /trunk/boost/graph/howard_cycle_ratio.hpp
   branches/release/boost/graph/is_kuratowski_subgraph.hpp
      - copied unchanged from r41356, /trunk/boost/graph/is_kuratowski_subgraph.hpp
   branches/release/boost/graph/is_straight_line_drawing.hpp
      - copied unchanged from r41356, /trunk/boost/graph/is_straight_line_drawing.hpp
   branches/release/boost/graph/kolmogorov_max_flow.hpp
      - copied unchanged from r41356, /trunk/boost/graph/kolmogorov_max_flow.hpp
   branches/release/boost/graph/make_biconnected_planar.hpp
      - copied unchanged from r41356, /trunk/boost/graph/make_biconnected_planar.hpp
   branches/release/boost/graph/make_connected.hpp
      - copied unchanged from r41356, /trunk/boost/graph/make_connected.hpp
   branches/release/boost/graph/make_maximal_planar.hpp
      - copied unchanged from r41356, /trunk/boost/graph/make_maximal_planar.hpp
   branches/release/boost/graph/planar_canonical_ordering.hpp
      - copied unchanged from r41356, /trunk/boost/graph/planar_canonical_ordering.hpp
   branches/release/boost/graph/planar_detail/
      - copied from r41356, /trunk/boost/graph/planar_detail/
   branches/release/boost/graph/planar_detail/add_edge_visitors.hpp
      - copied unchanged from r41356, /trunk/boost/graph/planar_detail/add_edge_visitors.hpp
   branches/release/boost/graph/planar_detail/boyer_myrvold_impl.hpp
      - copied unchanged from r41356, /trunk/boost/graph/planar_detail/boyer_myrvold_impl.hpp
   branches/release/boost/graph/planar_detail/bucket_sort.hpp
      - copied unchanged from r41356, /trunk/boost/graph/planar_detail/bucket_sort.hpp
   branches/release/boost/graph/planar_detail/face_handles.hpp
      - copied unchanged from r41356, /trunk/boost/graph/planar_detail/face_handles.hpp
   branches/release/boost/graph/planar_detail/face_iterators.hpp
      - copied unchanged from r41356, /trunk/boost/graph/planar_detail/face_iterators.hpp
   branches/release/boost/graph/planar_face_traversal.hpp
      - copied unchanged from r41356, /trunk/boost/graph/planar_face_traversal.hpp
   branches/release/boost/graph/write_dimacs.hpp
      - copied unchanged from r41356, /trunk/boost/graph/write_dimacs.hpp
   branches/release/boost/interprocess/
      - copied from r41356, /trunk/boost/interprocess/
   branches/release/boost/interprocess/allocators/
      - copied from r41356, /trunk/boost/interprocess/allocators/
   branches/release/boost/interprocess/allocators/adaptive_pool.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/adaptive_pool.hpp
   branches/release/boost/interprocess/allocators/allocation_type.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/allocation_type.hpp
   branches/release/boost/interprocess/allocators/allocator.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/allocator.hpp
   branches/release/boost/interprocess/allocators/cached_adaptive_pool.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/cached_adaptive_pool.hpp
   branches/release/boost/interprocess/allocators/cached_node_allocator.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/cached_node_allocator.hpp
   branches/release/boost/interprocess/allocators/detail/
      - copied from r41356, /trunk/boost/interprocess/allocators/detail/
   branches/release/boost/interprocess/allocators/detail/adaptive_node_pool.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/detail/adaptive_node_pool.hpp
   branches/release/boost/interprocess/allocators/detail/node_pool.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/detail/node_pool.hpp
   branches/release/boost/interprocess/allocators/detail/node_tools.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/detail/node_tools.hpp
   branches/release/boost/interprocess/allocators/node_allocator.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/node_allocator.hpp
   branches/release/boost/interprocess/allocators/private_adaptive_pool.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/private_adaptive_pool.hpp
   branches/release/boost/interprocess/allocators/private_node_allocator.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/allocators/private_node_allocator.hpp
   branches/release/boost/interprocess/containers/
      - copied from r41356, /trunk/boost/interprocess/containers/
   branches/release/boost/interprocess/containers/deque.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/deque.hpp
   branches/release/boost/interprocess/containers/detail/
      - copied from r41356, /trunk/boost/interprocess/containers/detail/
   branches/release/boost/interprocess/containers/detail/flat_tree.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/detail/flat_tree.hpp
   branches/release/boost/interprocess/containers/detail/node_alloc_holder.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/detail/node_alloc_holder.hpp
   branches/release/boost/interprocess/containers/detail/tree.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/detail/tree.hpp
   branches/release/boost/interprocess/containers/flat_map.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/flat_map.hpp
   branches/release/boost/interprocess/containers/flat_set.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/flat_set.hpp
   branches/release/boost/interprocess/containers/list.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/list.hpp
   branches/release/boost/interprocess/containers/map.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/map.hpp
   branches/release/boost/interprocess/containers/set.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/set.hpp
   branches/release/boost/interprocess/containers/slist.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/slist.hpp
   branches/release/boost/interprocess/containers/string.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/string.hpp
   branches/release/boost/interprocess/containers/vector.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/containers/vector.hpp
   branches/release/boost/interprocess/creation_tags.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/creation_tags.hpp
   branches/release/boost/interprocess/detail/
      - copied from r41356, /trunk/boost/interprocess/detail/
   branches/release/boost/interprocess/detail/algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/algorithms.hpp
   branches/release/boost/interprocess/detail/atomic.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/atomic.hpp
   branches/release/boost/interprocess/detail/cast_tags.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/cast_tags.hpp
   branches/release/boost/interprocess/detail/config_begin.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/config_begin.hpp
   branches/release/boost/interprocess/detail/config_end.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/config_end.hpp
   branches/release/boost/interprocess/detail/file_wrapper.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/file_wrapper.hpp
   branches/release/boost/interprocess/detail/in_place_interface.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/in_place_interface.hpp
   branches/release/boost/interprocess/detail/interprocess_tester.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/interprocess_tester.hpp
   branches/release/boost/interprocess/detail/iterators.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/iterators.hpp
   branches/release/boost/interprocess/detail/managed_memory_impl.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/managed_memory_impl.hpp
   branches/release/boost/interprocess/detail/managed_open_or_create_impl.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/managed_open_or_create_impl.hpp
   branches/release/boost/interprocess/detail/math_functions.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/math_functions.hpp
   branches/release/boost/interprocess/detail/min_max.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/min_max.hpp
   branches/release/boost/interprocess/detail/move.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/move.hpp
   branches/release/boost/interprocess/detail/move_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/move_iterator.hpp
   branches/release/boost/interprocess/detail/mpl.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/mpl.hpp
   branches/release/boost/interprocess/detail/named_proxy.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/named_proxy.hpp
   branches/release/boost/interprocess/detail/os_file_functions.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/os_file_functions.hpp
   branches/release/boost/interprocess/detail/os_thread_functions.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/os_thread_functions.hpp
   branches/release/boost/interprocess/detail/pointer_type.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/pointer_type.hpp
   branches/release/boost/interprocess/detail/posix_time_types_wrk.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/posix_time_types_wrk.hpp
   branches/release/boost/interprocess/detail/ptime_wrk.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/ptime_wrk.hpp
   branches/release/boost/interprocess/detail/segment_manager_helper.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/segment_manager_helper.hpp
   branches/release/boost/interprocess/detail/tmp_dir_helpers.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/tmp_dir_helpers.hpp
   branches/release/boost/interprocess/detail/type_traits.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/type_traits.hpp
   branches/release/boost/interprocess/detail/utilities.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/utilities.hpp
   branches/release/boost/interprocess/detail/version_type.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/version_type.hpp
   branches/release/boost/interprocess/detail/win32_api.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/win32_api.hpp
   branches/release/boost/interprocess/detail/workaround.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/detail/workaround.hpp
   branches/release/boost/interprocess/errors.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/errors.hpp
   branches/release/boost/interprocess/exceptions.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/exceptions.hpp
   branches/release/boost/interprocess/file_mapping.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/file_mapping.hpp
   branches/release/boost/interprocess/indexes/
      - copied from r41356, /trunk/boost/interprocess/indexes/
   branches/release/boost/interprocess/indexes/flat_map_index.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/indexes/flat_map_index.hpp
   branches/release/boost/interprocess/indexes/iset_index.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/indexes/iset_index.hpp
   branches/release/boost/interprocess/indexes/iunordered_set_index.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/indexes/iunordered_set_index.hpp
   branches/release/boost/interprocess/indexes/map_index.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/indexes/map_index.hpp
   branches/release/boost/interprocess/indexes/null_index.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/indexes/null_index.hpp
   branches/release/boost/interprocess/indexes/unordered_map_index.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/indexes/unordered_map_index.hpp
   branches/release/boost/interprocess/interprocess_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/interprocess_fwd.hpp
   branches/release/boost/interprocess/ipc/
      - copied from r41356, /trunk/boost/interprocess/ipc/
   branches/release/boost/interprocess/ipc/message_queue.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/ipc/message_queue.hpp
   branches/release/boost/interprocess/managed_external_buffer.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/managed_external_buffer.hpp
   branches/release/boost/interprocess/managed_heap_memory.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/managed_heap_memory.hpp
   branches/release/boost/interprocess/managed_mapped_file.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/managed_mapped_file.hpp
   branches/release/boost/interprocess/managed_shared_memory.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/managed_shared_memory.hpp
   branches/release/boost/interprocess/managed_windows_shared_memory.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/managed_windows_shared_memory.hpp
   branches/release/boost/interprocess/mapped_region.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/mapped_region.hpp
   branches/release/boost/interprocess/mem_algo/
      - copied from r41356, /trunk/boost/interprocess/mem_algo/
   branches/release/boost/interprocess/mem_algo/detail/
      - copied from r41356, /trunk/boost/interprocess/mem_algo/detail/
   branches/release/boost/interprocess/mem_algo/detail/mem_algo_common.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/mem_algo/detail/mem_algo_common.hpp
   branches/release/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp
   branches/release/boost/interprocess/mem_algo/rbtree_best_fit.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/mem_algo/rbtree_best_fit.hpp
   branches/release/boost/interprocess/mem_algo/simple_seq_fit.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/mem_algo/simple_seq_fit.hpp
   branches/release/boost/interprocess/offset_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/offset_ptr.hpp
   branches/release/boost/interprocess/segment_manager.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/segment_manager.hpp
   branches/release/boost/interprocess/shared_memory_object.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/shared_memory_object.hpp
   branches/release/boost/interprocess/smart_ptr/
      - copied from r41356, /trunk/boost/interprocess/smart_ptr/
   branches/release/boost/interprocess/smart_ptr/deleter.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/deleter.hpp
   branches/release/boost/interprocess/smart_ptr/detail/
      - copied from r41356, /trunk/boost/interprocess/smart_ptr/detail/
   branches/release/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp
   branches/release/boost/interprocess/smart_ptr/detail/shared_count.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/detail/shared_count.hpp
   branches/release/boost/interprocess/smart_ptr/detail/sp_counted_base.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/detail/sp_counted_base.hpp
   branches/release/boost/interprocess/smart_ptr/detail/sp_counted_base_atomic.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/detail/sp_counted_base_atomic.hpp
   branches/release/boost/interprocess/smart_ptr/detail/sp_counted_impl.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/detail/sp_counted_impl.hpp
   branches/release/boost/interprocess/smart_ptr/enable_shared_from_this.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/enable_shared_from_this.hpp
   branches/release/boost/interprocess/smart_ptr/intrusive_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/intrusive_ptr.hpp
   branches/release/boost/interprocess/smart_ptr/scoped_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/scoped_ptr.hpp
   branches/release/boost/interprocess/smart_ptr/shared_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/shared_ptr.hpp
   branches/release/boost/interprocess/smart_ptr/unique_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/unique_ptr.hpp
   branches/release/boost/interprocess/smart_ptr/weak_ptr.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/smart_ptr/weak_ptr.hpp
   branches/release/boost/interprocess/streams/
      - copied from r41356, /trunk/boost/interprocess/streams/
   branches/release/boost/interprocess/streams/bufferstream.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/streams/bufferstream.hpp
   branches/release/boost/interprocess/streams/vectorstream.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/streams/vectorstream.hpp
   branches/release/boost/interprocess/sync/
      - copied from r41356, /trunk/boost/interprocess/sync/
   branches/release/boost/interprocess/sync/emulation/
      - copied from r41356, /trunk/boost/interprocess/sync/emulation/
   branches/release/boost/interprocess/sync/emulation/interprocess_barrier.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/emulation/interprocess_barrier.hpp
   branches/release/boost/interprocess/sync/emulation/interprocess_condition.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/emulation/interprocess_condition.hpp
   branches/release/boost/interprocess/sync/emulation/interprocess_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/emulation/interprocess_mutex.hpp
   branches/release/boost/interprocess/sync/emulation/interprocess_recursive_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/emulation/interprocess_recursive_mutex.hpp
   branches/release/boost/interprocess/sync/emulation/interprocess_semaphore.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/emulation/interprocess_semaphore.hpp
   branches/release/boost/interprocess/sync/emulation/named_creation_functor.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/emulation/named_creation_functor.hpp
   branches/release/boost/interprocess/sync/file_lock.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/file_lock.hpp
   branches/release/boost/interprocess/sync/interprocess_barrier.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/interprocess_barrier.hpp
   branches/release/boost/interprocess/sync/interprocess_condition.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/interprocess_condition.hpp
   branches/release/boost/interprocess/sync/interprocess_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/interprocess_mutex.hpp
   branches/release/boost/interprocess/sync/interprocess_recursive_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/interprocess_recursive_mutex.hpp
   branches/release/boost/interprocess/sync/interprocess_semaphore.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/interprocess_semaphore.hpp
   branches/release/boost/interprocess/sync/interprocess_upgradable_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/interprocess_upgradable_mutex.hpp
   branches/release/boost/interprocess/sync/lock_options.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/lock_options.hpp
   branches/release/boost/interprocess/sync/mutex_family.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/mutex_family.hpp
   branches/release/boost/interprocess/sync/named_condition.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/named_condition.hpp
   branches/release/boost/interprocess/sync/named_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/named_mutex.hpp
   branches/release/boost/interprocess/sync/named_recursive_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/named_recursive_mutex.hpp
   branches/release/boost/interprocess/sync/named_semaphore.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/named_semaphore.hpp
   branches/release/boost/interprocess/sync/named_upgradable_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/named_upgradable_mutex.hpp
   branches/release/boost/interprocess/sync/null_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/null_mutex.hpp
   branches/release/boost/interprocess/sync/posix/
      - copied from r41356, /trunk/boost/interprocess/sync/posix/
   branches/release/boost/interprocess/sync/posix/interprocess_barrier.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/interprocess_barrier.hpp
   branches/release/boost/interprocess/sync/posix/interprocess_condition.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/interprocess_condition.hpp
   branches/release/boost/interprocess/sync/posix/interprocess_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/interprocess_mutex.hpp
   branches/release/boost/interprocess/sync/posix/interprocess_recursive_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/interprocess_recursive_mutex.hpp
   branches/release/boost/interprocess/sync/posix/interprocess_semaphore.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/interprocess_semaphore.hpp
   branches/release/boost/interprocess/sync/posix/pthread_helpers.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/pthread_helpers.hpp
   branches/release/boost/interprocess/sync/posix/ptime_to_timespec.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/ptime_to_timespec.hpp
   branches/release/boost/interprocess/sync/posix/semaphore_wrapper.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/posix/semaphore_wrapper.hpp
   branches/release/boost/interprocess/sync/scoped_lock.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/scoped_lock.hpp
   branches/release/boost/interprocess/sync/sharable_lock.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/sharable_lock.hpp
   branches/release/boost/interprocess/sync/upgradable_lock.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/sync/upgradable_lock.hpp
   branches/release/boost/interprocess/windows_shared_memory.hpp
      - copied unchanged from r41356, /trunk/boost/interprocess/windows_shared_memory.hpp
   branches/release/boost/intrusive/
      - copied from r41356, /trunk/boost/intrusive/
   branches/release/boost/intrusive/avl_set.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/avl_set.hpp
   branches/release/boost/intrusive/avl_set_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/avl_set_hook.hpp
   branches/release/boost/intrusive/avltree.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/avltree.hpp
   branches/release/boost/intrusive/avltree_algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/avltree_algorithms.hpp
   branches/release/boost/intrusive/bs_set_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/bs_set_hook.hpp
   branches/release/boost/intrusive/circular_list_algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/circular_list_algorithms.hpp
   branches/release/boost/intrusive/circular_slist_algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/circular_slist_algorithms.hpp
   branches/release/boost/intrusive/derivation_value_traits.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/derivation_value_traits.hpp
   branches/release/boost/intrusive/detail/
      - copied from r41356, /trunk/boost/intrusive/detail/
   branches/release/boost/intrusive/detail/assert.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/assert.hpp
   branches/release/boost/intrusive/detail/avltree_node.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/avltree_node.hpp
   branches/release/boost/intrusive/detail/config_begin.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/config_begin.hpp
   branches/release/boost/intrusive/detail/config_end.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/config_end.hpp
   branches/release/boost/intrusive/detail/ebo_functor_holder.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/ebo_functor_holder.hpp
   branches/release/boost/intrusive/detail/generic_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/generic_hook.hpp
   branches/release/boost/intrusive/detail/hashtable_node.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/hashtable_node.hpp
   branches/release/boost/intrusive/detail/list_node.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/list_node.hpp
   branches/release/boost/intrusive/detail/mpl.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/mpl.hpp
   branches/release/boost/intrusive/detail/no_exceptions_support.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/no_exceptions_support.hpp
   branches/release/boost/intrusive/detail/parent_from_member.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/parent_from_member.hpp
   branches/release/boost/intrusive/detail/pointer_to_other.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/pointer_to_other.hpp
   branches/release/boost/intrusive/detail/rbtree_node.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/rbtree_node.hpp
   branches/release/boost/intrusive/detail/slist_node.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/slist_node.hpp
   branches/release/boost/intrusive/detail/transform_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/transform_iterator.hpp
   branches/release/boost/intrusive/detail/tree_algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/tree_algorithms.hpp
   branches/release/boost/intrusive/detail/tree_node.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/tree_node.hpp
   branches/release/boost/intrusive/detail/utilities.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/detail/utilities.hpp
   branches/release/boost/intrusive/hashtable.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/hashtable.hpp
   branches/release/boost/intrusive/intrusive_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/intrusive_fwd.hpp
   branches/release/boost/intrusive/link_mode.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/link_mode.hpp
   branches/release/boost/intrusive/list.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/list.hpp
   branches/release/boost/intrusive/list_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/list_hook.hpp
   branches/release/boost/intrusive/member_value_traits.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/member_value_traits.hpp
   branches/release/boost/intrusive/options.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/options.hpp
   branches/release/boost/intrusive/pointer_plus_2_bits.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/pointer_plus_2_bits.hpp
   branches/release/boost/intrusive/pointer_plus_bit.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/pointer_plus_bit.hpp
   branches/release/boost/intrusive/rbtree.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/rbtree.hpp
   branches/release/boost/intrusive/rbtree_algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/rbtree_algorithms.hpp
   branches/release/boost/intrusive/set.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/set.hpp
   branches/release/boost/intrusive/set_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/set_hook.hpp
   branches/release/boost/intrusive/sg_set.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/sg_set.hpp
   branches/release/boost/intrusive/sgtree.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/sgtree.hpp
   branches/release/boost/intrusive/sgtree_algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/sgtree_algorithms.hpp
   branches/release/boost/intrusive/slist.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/slist.hpp
   branches/release/boost/intrusive/slist_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/slist_hook.hpp
   branches/release/boost/intrusive/splay_set.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/splay_set.hpp
   branches/release/boost/intrusive/splay_set_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/splay_set_hook.hpp
   branches/release/boost/intrusive/splaytree.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/splaytree.hpp
   branches/release/boost/intrusive/splaytree_algorithms.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/splaytree_algorithms.hpp
   branches/release/boost/intrusive/trivial_value_traits.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/trivial_value_traits.hpp
   branches/release/boost/intrusive/unordered_set.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/unordered_set.hpp
   branches/release/boost/intrusive/unordered_set_hook.hpp
      - copied unchanged from r41356, /trunk/boost/intrusive/unordered_set_hook.hpp
   branches/release/boost/is_placeholder.hpp
      - copied unchanged from r41356, /trunk/boost/is_placeholder.hpp
   branches/release/boost/math/bindings/
      - copied from r41356, /trunk/boost/math/bindings/
   branches/release/boost/math/bindings/rr.hpp
      - copied unchanged from r41356, /trunk/boost/math/bindings/rr.hpp
   branches/release/boost/math/concepts/
      - copied from r41356, /trunk/boost/math/concepts/
   branches/release/boost/math/concepts/distributions.hpp
      - copied unchanged from r41356, /trunk/boost/math/concepts/distributions.hpp
   branches/release/boost/math/concepts/real_concept.hpp
      - copied unchanged from r41356, /trunk/boost/math/concepts/real_concept.hpp
   branches/release/boost/math/concepts/std_real_concept.hpp
      - copied unchanged from r41356, /trunk/boost/math/concepts/std_real_concept.hpp
   branches/release/boost/math/constants/
      - copied from r41356, /trunk/boost/math/constants/
   branches/release/boost/math/constants/constants.hpp
      - copied unchanged from r41356, /trunk/boost/math/constants/constants.hpp
   branches/release/boost/math/distributions/
      - copied from r41356, /trunk/boost/math/distributions/
   branches/release/boost/math/distributions.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions.hpp
   branches/release/boost/math/distributions/bernoulli.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/bernoulli.hpp
   branches/release/boost/math/distributions/beta.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/beta.hpp
   branches/release/boost/math/distributions/binomial.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/binomial.hpp
   branches/release/boost/math/distributions/cauchy.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/cauchy.hpp
   branches/release/boost/math/distributions/chi_squared.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/chi_squared.hpp
   branches/release/boost/math/distributions/complement.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/complement.hpp
   branches/release/boost/math/distributions/detail/
      - copied from r41356, /trunk/boost/math/distributions/detail/
   branches/release/boost/math/distributions/detail/common_error_handling.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/detail/common_error_handling.hpp
   branches/release/boost/math/distributions/detail/derived_accessors.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/detail/derived_accessors.hpp
   branches/release/boost/math/distributions/detail/inv_discrete_quantile.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/detail/inv_discrete_quantile.hpp
   branches/release/boost/math/distributions/exponential.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/exponential.hpp
   branches/release/boost/math/distributions/extreme_value.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/extreme_value.hpp
   branches/release/boost/math/distributions/find_location.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/find_location.hpp
   branches/release/boost/math/distributions/find_scale.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/find_scale.hpp
   branches/release/boost/math/distributions/fisher_f.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/fisher_f.hpp
   branches/release/boost/math/distributions/fwd.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/fwd.hpp
   branches/release/boost/math/distributions/gamma.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/gamma.hpp
   branches/release/boost/math/distributions/lognormal.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/lognormal.hpp
   branches/release/boost/math/distributions/negative_binomial.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/negative_binomial.hpp
   branches/release/boost/math/distributions/normal.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/normal.hpp
   branches/release/boost/math/distributions/pareto.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/pareto.hpp
   branches/release/boost/math/distributions/poisson.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/poisson.hpp
   branches/release/boost/math/distributions/rayleigh.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/rayleigh.hpp
   branches/release/boost/math/distributions/students_t.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/students_t.hpp
   branches/release/boost/math/distributions/triangular.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/triangular.hpp
   branches/release/boost/math/distributions/uniform.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/uniform.hpp
   branches/release/boost/math/distributions/weibull.hpp
      - copied unchanged from r41356, /trunk/boost/math/distributions/weibull.hpp
   branches/release/boost/math/policies/
      - copied from r41356, /trunk/boost/math/policies/
   branches/release/boost/math/policies/error_handling.hpp
      - copied unchanged from r41356, /trunk/boost/math/policies/error_handling.hpp
   branches/release/boost/math/policies/policy.hpp
      - copied unchanged from r41356, /trunk/boost/math/policies/policy.hpp
   branches/release/boost/math/special_functions.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions.hpp
   branches/release/boost/math/special_functions/bessel.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/bessel.hpp
   branches/release/boost/math/special_functions/beta.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/beta.hpp
   branches/release/boost/math/special_functions/binomial.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/binomial.hpp
   branches/release/boost/math/special_functions/cbrt.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/cbrt.hpp
   branches/release/boost/math/special_functions/cos_pi.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/cos_pi.hpp
   branches/release/boost/math/special_functions/detail/bessel_i0.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_i0.hpp
   branches/release/boost/math/special_functions/detail/bessel_i1.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_i1.hpp
   branches/release/boost/math/special_functions/detail/bessel_ik.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_ik.hpp
   branches/release/boost/math/special_functions/detail/bessel_j0.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_j0.hpp
   branches/release/boost/math/special_functions/detail/bessel_j1.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_j1.hpp
   branches/release/boost/math/special_functions/detail/bessel_jn.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_jn.hpp
   branches/release/boost/math/special_functions/detail/bessel_jy.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_jy.hpp
   branches/release/boost/math/special_functions/detail/bessel_jy_asym.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_jy_asym.hpp
   branches/release/boost/math/special_functions/detail/bessel_k0.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_k0.hpp
   branches/release/boost/math/special_functions/detail/bessel_k1.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_k1.hpp
   branches/release/boost/math/special_functions/detail/bessel_kn.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_kn.hpp
   branches/release/boost/math/special_functions/detail/bessel_y0.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_y0.hpp
   branches/release/boost/math/special_functions/detail/bessel_y1.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_y1.hpp
   branches/release/boost/math/special_functions/detail/bessel_yn.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/bessel_yn.hpp
   branches/release/boost/math/special_functions/detail/erf_inv.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/erf_inv.hpp
   branches/release/boost/math/special_functions/detail/gamma_inva.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/gamma_inva.hpp
   branches/release/boost/math/special_functions/detail/ibeta_inv_ab.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/ibeta_inv_ab.hpp
   branches/release/boost/math/special_functions/detail/ibeta_inverse.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/ibeta_inverse.hpp
   branches/release/boost/math/special_functions/detail/igamma_inverse.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/igamma_inverse.hpp
   branches/release/boost/math/special_functions/detail/igamma_large.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/igamma_large.hpp
   branches/release/boost/math/special_functions/detail/lgamma_small.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/lgamma_small.hpp
   branches/release/boost/math/special_functions/detail/simple_complex.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/simple_complex.hpp
   branches/release/boost/math/special_functions/detail/t_distribution_inv.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/t_distribution_inv.hpp
   branches/release/boost/math/special_functions/detail/unchecked_factorial.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/detail/unchecked_factorial.hpp
   branches/release/boost/math/special_functions/digamma.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/digamma.hpp
   branches/release/boost/math/special_functions/ellint_1.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/ellint_1.hpp
   branches/release/boost/math/special_functions/ellint_2.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/ellint_2.hpp
   branches/release/boost/math/special_functions/ellint_3.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/ellint_3.hpp
   branches/release/boost/math/special_functions/ellint_rc.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/ellint_rc.hpp
   branches/release/boost/math/special_functions/ellint_rd.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/ellint_rd.hpp
   branches/release/boost/math/special_functions/ellint_rf.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/ellint_rf.hpp
   branches/release/boost/math/special_functions/ellint_rj.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/ellint_rj.hpp
   branches/release/boost/math/special_functions/erf.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/erf.hpp
   branches/release/boost/math/special_functions/factorials.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/factorials.hpp
   branches/release/boost/math/special_functions/fpclassify.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/fpclassify.hpp
   branches/release/boost/math/special_functions/gamma.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/gamma.hpp
   branches/release/boost/math/special_functions/hermite.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/hermite.hpp
   branches/release/boost/math/special_functions/laguerre.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/laguerre.hpp
   branches/release/boost/math/special_functions/lanczos.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/lanczos.hpp
   branches/release/boost/math/special_functions/legendre.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/legendre.hpp
   branches/release/boost/math/special_functions/math_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/math_fwd.hpp
   branches/release/boost/math/special_functions/powm1.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/powm1.hpp
   branches/release/boost/math/special_functions/sign.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/sign.hpp
   branches/release/boost/math/special_functions/sin_pi.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/sin_pi.hpp
   branches/release/boost/math/special_functions/spherical_harmonic.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/spherical_harmonic.hpp
   branches/release/boost/math/special_functions/sqrt1pm1.hpp
      - copied unchanged from r41356, /trunk/boost/math/special_functions/sqrt1pm1.hpp
   branches/release/boost/math/tools/
      - copied from r41356, /trunk/boost/math/tools/
   branches/release/boost/math/tools/config.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/config.hpp
   branches/release/boost/math/tools/detail/
      - copied from r41356, /trunk/boost/math/tools/detail/
   branches/release/boost/math/tools/detail/polynomial_horner1_10.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_10.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_11.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_11.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_12.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_12.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_13.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_13.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_14.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_14.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_15.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_15.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_16.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_16.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_17.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_17.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_18.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_18.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_19.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_19.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_2.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_2.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_20.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_20.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_3.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_3.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_4.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_4.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_5.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_5.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_6.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_6.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_7.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_7.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_8.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_8.hpp
   branches/release/boost/math/tools/detail/polynomial_horner1_9.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner1_9.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_10.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_10.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_11.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_11.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_12.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_12.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_13.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_13.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_14.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_14.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_15.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_15.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_16.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_16.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_17.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_17.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_18.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_18.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_19.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_19.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_2.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_2.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_20.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_20.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_3.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_3.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_4.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_4.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_5.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_5.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_6.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_6.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_7.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_7.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_8.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_8.hpp
   branches/release/boost/math/tools/detail/polynomial_horner2_9.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner2_9.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_10.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_10.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_11.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_11.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_12.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_12.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_13.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_13.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_14.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_14.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_15.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_15.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_16.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_16.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_17.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_17.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_18.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_18.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_19.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_19.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_2.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_2.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_20.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_20.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_3.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_3.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_4.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_4.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_5.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_5.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_6.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_6.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_7.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_7.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_8.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_8.hpp
   branches/release/boost/math/tools/detail/polynomial_horner3_9.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/polynomial_horner3_9.hpp
   branches/release/boost/math/tools/detail/rational_horner1_10.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_10.hpp
   branches/release/boost/math/tools/detail/rational_horner1_11.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_11.hpp
   branches/release/boost/math/tools/detail/rational_horner1_12.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_12.hpp
   branches/release/boost/math/tools/detail/rational_horner1_13.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_13.hpp
   branches/release/boost/math/tools/detail/rational_horner1_14.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_14.hpp
   branches/release/boost/math/tools/detail/rational_horner1_15.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_15.hpp
   branches/release/boost/math/tools/detail/rational_horner1_16.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_16.hpp
   branches/release/boost/math/tools/detail/rational_horner1_17.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_17.hpp
   branches/release/boost/math/tools/detail/rational_horner1_18.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_18.hpp
   branches/release/boost/math/tools/detail/rational_horner1_19.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_19.hpp
   branches/release/boost/math/tools/detail/rational_horner1_2.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_2.hpp
   branches/release/boost/math/tools/detail/rational_horner1_20.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_20.hpp
   branches/release/boost/math/tools/detail/rational_horner1_3.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_3.hpp
   branches/release/boost/math/tools/detail/rational_horner1_4.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_4.hpp
   branches/release/boost/math/tools/detail/rational_horner1_5.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_5.hpp
   branches/release/boost/math/tools/detail/rational_horner1_6.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_6.hpp
   branches/release/boost/math/tools/detail/rational_horner1_7.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_7.hpp
   branches/release/boost/math/tools/detail/rational_horner1_8.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_8.hpp
   branches/release/boost/math/tools/detail/rational_horner1_9.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner1_9.hpp
   branches/release/boost/math/tools/detail/rational_horner2_10.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_10.hpp
   branches/release/boost/math/tools/detail/rational_horner2_11.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_11.hpp
   branches/release/boost/math/tools/detail/rational_horner2_12.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_12.hpp
   branches/release/boost/math/tools/detail/rational_horner2_13.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_13.hpp
   branches/release/boost/math/tools/detail/rational_horner2_14.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_14.hpp
   branches/release/boost/math/tools/detail/rational_horner2_15.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_15.hpp
   branches/release/boost/math/tools/detail/rational_horner2_16.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_16.hpp
   branches/release/boost/math/tools/detail/rational_horner2_17.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_17.hpp
   branches/release/boost/math/tools/detail/rational_horner2_18.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_18.hpp
   branches/release/boost/math/tools/detail/rational_horner2_19.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_19.hpp
   branches/release/boost/math/tools/detail/rational_horner2_2.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_2.hpp
   branches/release/boost/math/tools/detail/rational_horner2_20.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_20.hpp
   branches/release/boost/math/tools/detail/rational_horner2_3.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_3.hpp
   branches/release/boost/math/tools/detail/rational_horner2_4.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_4.hpp
   branches/release/boost/math/tools/detail/rational_horner2_5.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_5.hpp
   branches/release/boost/math/tools/detail/rational_horner2_6.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_6.hpp
   branches/release/boost/math/tools/detail/rational_horner2_7.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_7.hpp
   branches/release/boost/math/tools/detail/rational_horner2_8.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_8.hpp
   branches/release/boost/math/tools/detail/rational_horner2_9.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner2_9.hpp
   branches/release/boost/math/tools/detail/rational_horner3_10.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_10.hpp
   branches/release/boost/math/tools/detail/rational_horner3_11.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_11.hpp
   branches/release/boost/math/tools/detail/rational_horner3_12.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_12.hpp
   branches/release/boost/math/tools/detail/rational_horner3_13.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_13.hpp
   branches/release/boost/math/tools/detail/rational_horner3_14.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_14.hpp
   branches/release/boost/math/tools/detail/rational_horner3_15.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_15.hpp
   branches/release/boost/math/tools/detail/rational_horner3_16.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_16.hpp
   branches/release/boost/math/tools/detail/rational_horner3_17.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_17.hpp
   branches/release/boost/math/tools/detail/rational_horner3_18.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_18.hpp
   branches/release/boost/math/tools/detail/rational_horner3_19.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_19.hpp
   branches/release/boost/math/tools/detail/rational_horner3_2.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_2.hpp
   branches/release/boost/math/tools/detail/rational_horner3_20.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_20.hpp
   branches/release/boost/math/tools/detail/rational_horner3_3.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_3.hpp
   branches/release/boost/math/tools/detail/rational_horner3_4.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_4.hpp
   branches/release/boost/math/tools/detail/rational_horner3_5.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_5.hpp
   branches/release/boost/math/tools/detail/rational_horner3_6.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_6.hpp
   branches/release/boost/math/tools/detail/rational_horner3_7.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_7.hpp
   branches/release/boost/math/tools/detail/rational_horner3_8.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_8.hpp
   branches/release/boost/math/tools/detail/rational_horner3_9.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/detail/rational_horner3_9.hpp
   branches/release/boost/math/tools/fraction.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/fraction.hpp
   branches/release/boost/math/tools/minima.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/minima.hpp
   branches/release/boost/math/tools/polynomial.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/polynomial.hpp
   branches/release/boost/math/tools/precision.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/precision.hpp
   branches/release/boost/math/tools/promotion.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/promotion.hpp
   branches/release/boost/math/tools/rational.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/rational.hpp
   branches/release/boost/math/tools/real_cast.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/real_cast.hpp
   branches/release/boost/math/tools/remez.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/remez.hpp
   branches/release/boost/math/tools/roots.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/roots.hpp
   branches/release/boost/math/tools/series.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/series.hpp
   branches/release/boost/math/tools/solve.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/solve.hpp
   branches/release/boost/math/tools/stats.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/stats.hpp
   branches/release/boost/math/tools/test.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/test.hpp
   branches/release/boost/math/tools/test_data.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/test_data.hpp
   branches/release/boost/math/tools/toms748_solve.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/toms748_solve.hpp
   branches/release/boost/math/tools/traits.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/traits.hpp
   branches/release/boost/math/tools/user.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/user.hpp
   branches/release/boost/math/tools/workaround.hpp
      - copied unchanged from r41356, /trunk/boost/math/tools/workaround.hpp
   branches/release/boost/mpi/
      - copied from r41356, /trunk/boost/mpi/
   branches/release/boost/mpi.hpp
      - copied unchanged from r41356, /trunk/boost/mpi.hpp
   branches/release/boost/mpi/allocator.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/allocator.hpp
   branches/release/boost/mpi/collectives/
      - copied from r41356, /trunk/boost/mpi/collectives/
   branches/release/boost/mpi/collectives.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives.hpp
   branches/release/boost/mpi/collectives/all_gather.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/all_gather.hpp
   branches/release/boost/mpi/collectives/all_reduce.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/all_reduce.hpp
   branches/release/boost/mpi/collectives/all_to_all.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/all_to_all.hpp
   branches/release/boost/mpi/collectives/broadcast.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/broadcast.hpp
   branches/release/boost/mpi/collectives/gather.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/gather.hpp
   branches/release/boost/mpi/collectives/reduce.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/reduce.hpp
   branches/release/boost/mpi/collectives/scan.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/scan.hpp
   branches/release/boost/mpi/collectives/scatter.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives/scatter.hpp
   branches/release/boost/mpi/collectives_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/collectives_fwd.hpp
   branches/release/boost/mpi/communicator.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/communicator.hpp
   branches/release/boost/mpi/config.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/config.hpp
   branches/release/boost/mpi/datatype.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/datatype.hpp
   branches/release/boost/mpi/datatype_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/datatype_fwd.hpp
   branches/release/boost/mpi/detail/
      - copied from r41356, /trunk/boost/mpi/detail/
   branches/release/boost/mpi/detail/broadcast_sc.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/broadcast_sc.hpp
   branches/release/boost/mpi/detail/communicator_sc.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/communicator_sc.hpp
   branches/release/boost/mpi/detail/computation_tree.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/computation_tree.hpp
   branches/release/boost/mpi/detail/content_oarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/content_oarchive.hpp
   branches/release/boost/mpi/detail/forward_iprimitive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/forward_iprimitive.hpp
   branches/release/boost/mpi/detail/forward_oprimitive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/forward_oprimitive.hpp
   branches/release/boost/mpi/detail/forward_skeleton_iarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/forward_skeleton_iarchive.hpp
   branches/release/boost/mpi/detail/forward_skeleton_oarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/forward_skeleton_oarchive.hpp
   branches/release/boost/mpi/detail/ignore_iprimitive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/ignore_iprimitive.hpp
   branches/release/boost/mpi/detail/ignore_oprimitive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/ignore_oprimitive.hpp
   branches/release/boost/mpi/detail/ignore_skeleton_oarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/ignore_skeleton_oarchive.hpp
   branches/release/boost/mpi/detail/mpi_datatype_cache.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/mpi_datatype_cache.hpp
   branches/release/boost/mpi/detail/mpi_datatype_oarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/mpi_datatype_oarchive.hpp
   branches/release/boost/mpi/detail/mpi_datatype_primitive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/mpi_datatype_primitive.hpp
   branches/release/boost/mpi/detail/packed_iprimitive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/packed_iprimitive.hpp
   branches/release/boost/mpi/detail/packed_oprimitive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/packed_oprimitive.hpp
   branches/release/boost/mpi/detail/point_to_point.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/point_to_point.hpp
   branches/release/boost/mpi/detail/text_skeleton_oarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/detail/text_skeleton_oarchive.hpp
   branches/release/boost/mpi/environment.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/environment.hpp
   branches/release/boost/mpi/exception.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/exception.hpp
   branches/release/boost/mpi/graph_communicator.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/graph_communicator.hpp
   branches/release/boost/mpi/group.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/group.hpp
   branches/release/boost/mpi/intercommunicator.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/intercommunicator.hpp
   branches/release/boost/mpi/nonblocking.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/nonblocking.hpp
   branches/release/boost/mpi/operations.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/operations.hpp
   branches/release/boost/mpi/packed_iarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/packed_iarchive.hpp
   branches/release/boost/mpi/packed_oarchive.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/packed_oarchive.hpp
   branches/release/boost/mpi/python/
      - copied from r41356, /trunk/boost/mpi/python/
   branches/release/boost/mpi/python.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/python.hpp
   branches/release/boost/mpi/python/config.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/python/config.hpp
   branches/release/boost/mpi/python/serialize.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/python/serialize.hpp
   branches/release/boost/mpi/python/skeleton_and_content.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/python/skeleton_and_content.hpp
   branches/release/boost/mpi/request.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/request.hpp
   branches/release/boost/mpi/skeleton_and_content.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/skeleton_and_content.hpp
   branches/release/boost/mpi/skeleton_and_content_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/skeleton_and_content_fwd.hpp
   branches/release/boost/mpi/status.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/status.hpp
   branches/release/boost/mpi/timer.hpp
      - copied unchanged from r41356, /trunk/boost/mpi/timer.hpp
   branches/release/boost/mpl/aux_/config/pp_counter.hpp
      - copied unchanged from r41356, /trunk/boost/mpl/aux_/config/pp_counter.hpp
   branches/release/boost/multi_index/global_fun.hpp
      - copied unchanged from r41356, /trunk/boost/multi_index/global_fun.hpp
   branches/release/boost/none_t.hpp
      - copied unchanged from r41356, /trunk/boost/none_t.hpp
   branches/release/boost/numeric/interval/detail/ia64_rounding_control.hpp
      - copied unchanged from r41356, /trunk/boost/numeric/interval/detail/ia64_rounding_control.hpp
   branches/release/boost/parameter/aux_/parenthesized_type.hpp
      - copied unchanged from r41356, /trunk/boost/parameter/aux_/parenthesized_type.hpp
   branches/release/boost/parameter/name.hpp
      - copied unchanged from r41356, /trunk/boost/parameter/name.hpp
   branches/release/boost/pending/fibonacci_heap.hpp
      - copied unchanged from r41356, /trunk/boost/pending/fibonacci_heap.hpp
   branches/release/boost/property_tree/
      - copied from r41356, /trunk/boost/property_tree/
   branches/release/boost/property_tree/detail/
      - copied from r41356, /trunk/boost/property_tree/detail/
   branches/release/boost/property_tree/detail/exceptions_implementation.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/exceptions_implementation.hpp
   branches/release/boost/property_tree/detail/file_parser_error.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/file_parser_error.hpp
   branches/release/boost/property_tree/detail/info_parser_error.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/info_parser_error.hpp
   branches/release/boost/property_tree/detail/info_parser_read.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/info_parser_read.hpp
   branches/release/boost/property_tree/detail/info_parser_utils.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/info_parser_utils.hpp
   branches/release/boost/property_tree/detail/info_parser_write.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/info_parser_write.hpp
   branches/release/boost/property_tree/detail/info_parser_writer_settings.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/info_parser_writer_settings.hpp
   branches/release/boost/property_tree/detail/json_parser_error.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/json_parser_error.hpp
   branches/release/boost/property_tree/detail/json_parser_read.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/json_parser_read.hpp
   branches/release/boost/property_tree/detail/json_parser_write.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/json_parser_write.hpp
   branches/release/boost/property_tree/detail/path_implementation.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/path_implementation.hpp
   branches/release/boost/property_tree/detail/ptree_implementation.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/ptree_implementation.hpp
   branches/release/boost/property_tree/detail/ptree_utils.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/ptree_utils.hpp
   branches/release/boost/property_tree/detail/pugxml.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/pugxml.hpp
   branches/release/boost/property_tree/detail/rapidxml.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/rapidxml.hpp
   branches/release/boost/property_tree/detail/translator_implementation.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/translator_implementation.hpp
   branches/release/boost/property_tree/detail/xml_parser_error.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_error.hpp
   branches/release/boost/property_tree/detail/xml_parser_flags.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_flags.hpp
   branches/release/boost/property_tree/detail/xml_parser_read_pugixml.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_read_pugixml.hpp
   branches/release/boost/property_tree/detail/xml_parser_read_pugxml.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_read_pugxml.hpp
   branches/release/boost/property_tree/detail/xml_parser_read_rapidxml.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_read_rapidxml.hpp
   branches/release/boost/property_tree/detail/xml_parser_read_spirit.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_read_spirit.hpp
   branches/release/boost/property_tree/detail/xml_parser_read_tinyxml.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_read_tinyxml.hpp
   branches/release/boost/property_tree/detail/xml_parser_utils.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_utils.hpp
   branches/release/boost/property_tree/detail/xml_parser_write.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_write.hpp
   branches/release/boost/property_tree/detail/xml_parser_writer_settings.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/detail/xml_parser_writer_settings.hpp
   branches/release/boost/property_tree/info_parser.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/info_parser.hpp
   branches/release/boost/property_tree/ini_parser.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/ini_parser.hpp
   branches/release/boost/property_tree/json_parser.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/json_parser.hpp
   branches/release/boost/property_tree/ptree.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/ptree.hpp
   branches/release/boost/property_tree/ptree_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/ptree_fwd.hpp
   branches/release/boost/property_tree/ptree_serialization.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/ptree_serialization.hpp
   branches/release/boost/property_tree/xml_parser.hpp
      - copied unchanged from r41356, /trunk/boost/property_tree/xml_parser.hpp
   branches/release/boost/ptr_container/detail/serialize_ptr_map_adapter.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/detail/serialize_ptr_map_adapter.hpp
   branches/release/boost/ptr_container/detail/serialize_reversible_cont.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/detail/serialize_reversible_cont.hpp
   branches/release/boost/ptr_container/detail/serialize_xml_names.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/detail/serialize_xml_names.hpp
   branches/release/boost/ptr_container/serialize_ptr_array.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/serialize_ptr_array.hpp
   branches/release/boost/ptr_container/serialize_ptr_container.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/serialize_ptr_container.hpp
   branches/release/boost/ptr_container/serialize_ptr_deque.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/serialize_ptr_deque.hpp
   branches/release/boost/ptr_container/serialize_ptr_list.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/serialize_ptr_list.hpp
   branches/release/boost/ptr_container/serialize_ptr_map.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/serialize_ptr_map.hpp
   branches/release/boost/ptr_container/serialize_ptr_set.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/serialize_ptr_set.hpp
   branches/release/boost/ptr_container/serialize_ptr_vector.hpp
      - copied unchanged from r41356, /trunk/boost/ptr_container/serialize_ptr_vector.hpp
   branches/release/boost/python/converter/pytype_function.hpp
      - copied unchanged from r41356, /trunk/boost/python/converter/pytype_function.hpp
   branches/release/boost/python/detail/python_type.hpp
      - copied unchanged from r41356, /trunk/boost/python/detail/python_type.hpp
   branches/release/boost/python/detail/unwind_type.hpp
      - copied unchanged from r41356, /trunk/boost/python/detail/unwind_type.hpp
   branches/release/boost/python/object/function_doc_signature.hpp
      - copied unchanged from r41356, /trunk/boost/python/object/function_doc_signature.hpp
   branches/release/boost/random/detail/signed_unsigned_tools.hpp
      - copied unchanged from r41356, /trunk/boost/random/detail/signed_unsigned_tools.hpp
   branches/release/boost/range/as_array.hpp
      - copied unchanged from r41356, /trunk/boost/range/as_array.hpp
   branches/release/boost/range/as_literal.hpp
      - copied unchanged from r41356, /trunk/boost/range/as_literal.hpp
   branches/release/boost/range/atl.hpp
      - copied unchanged from r41356, /trunk/boost/range/atl.hpp
   branches/release/boost/range/category.hpp
      - copied unchanged from r41356, /trunk/boost/range/category.hpp
   branches/release/boost/range/detail/as_literal.hpp
      - copied unchanged from r41356, /trunk/boost/range/detail/as_literal.hpp
   branches/release/boost/range/detail/detail_str.hpp
      - copied unchanged from r41356, /trunk/boost/range/detail/detail_str.hpp
   branches/release/boost/range/detail/microsoft.hpp
      - copied unchanged from r41356, /trunk/boost/range/detail/microsoft.hpp
   branches/release/boost/range/detail/str_types.hpp
      - copied unchanged from r41356, /trunk/boost/range/detail/str_types.hpp
   branches/release/boost/range/distance.hpp
      - copied unchanged from r41356, /trunk/boost/range/distance.hpp
   branches/release/boost/range/mfc.hpp
      - copied unchanged from r41356, /trunk/boost/range/mfc.hpp
   branches/release/boost/range/mutable_iterator.hpp
      - copied unchanged from r41356, /trunk/boost/range/mutable_iterator.hpp
   branches/release/boost/range/pointer.hpp
      - copied unchanged from r41356, /trunk/boost/range/pointer.hpp
   branches/release/boost/range/reference.hpp
      - copied unchanged from r41356, /trunk/boost/range/reference.hpp
   branches/release/boost/serialization/array.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/array.hpp
   branches/release/boost/serialization/collection_size_type.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/collection_size_type.hpp
   branches/release/boost/serialization/complex.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/complex.hpp
   branches/release/boost/serialization/detail/get_data.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/detail/get_data.hpp
   branches/release/boost/serialization/ephemeral.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/ephemeral.hpp
   branches/release/boost/serialization/is_bitwise_serializable.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/is_bitwise_serializable.hpp
   branches/release/boost/serialization/valarray.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/valarray.hpp
   branches/release/boost/serialization/wrapper.hpp
      - copied unchanged from r41356, /trunk/boost/serialization/wrapper.hpp
   branches/release/boost/test/debug.hpp
      - copied unchanged from r41356, /trunk/boost/test/debug.hpp
   branches/release/boost/test/debug_config.hpp
      - copied unchanged from r41356, /trunk/boost/test/debug_config.hpp
   branches/release/boost/test/impl/debug.ipp
      - copied unchanged from r41356, /trunk/boost/test/impl/debug.ipp
   branches/release/boost/thread/condition_variable.hpp
      - copied unchanged from r41356, /trunk/boost/thread/condition_variable.hpp
   branches/release/boost/thread/detail/move.hpp
      - copied unchanged from r41356, /trunk/boost/thread/detail/move.hpp
   branches/release/boost/thread/detail/platform.hpp
      - copied unchanged from r41356, /trunk/boost/thread/detail/platform.hpp
   branches/release/boost/thread/locks.hpp
      - copied unchanged from r41356, /trunk/boost/thread/locks.hpp
   branches/release/boost/thread/pthread/
      - copied from r41356, /trunk/boost/thread/pthread/
   branches/release/boost/thread/pthread/condition_variable.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/condition_variable.hpp
   branches/release/boost/thread/pthread/condition_variable_fwd.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/condition_variable_fwd.hpp
   branches/release/boost/thread/pthread/mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/mutex.hpp
   branches/release/boost/thread/pthread/once.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/once.hpp
   branches/release/boost/thread/pthread/pthread_mutex_scoped_lock.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/pthread_mutex_scoped_lock.hpp
   branches/release/boost/thread/pthread/recursive_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/recursive_mutex.hpp
   branches/release/boost/thread/pthread/shared_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/shared_mutex.hpp
   branches/release/boost/thread/pthread/thread.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/thread.hpp
   branches/release/boost/thread/pthread/thread_data.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/thread_data.hpp
   branches/release/boost/thread/pthread/timespec.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/timespec.hpp
   branches/release/boost/thread/pthread/tss.hpp
      - copied unchanged from r41356, /trunk/boost/thread/pthread/tss.hpp
   branches/release/boost/thread/shared_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/shared_mutex.hpp
   branches/release/boost/thread/thread_time.hpp
      - copied unchanged from r41356, /trunk/boost/thread/thread_time.hpp
   branches/release/boost/thread/win32/
      - copied from r41356, /trunk/boost/thread/win32/
   branches/release/boost/thread/win32/basic_recursive_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/basic_recursive_mutex.hpp
   branches/release/boost/thread/win32/basic_timed_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/basic_timed_mutex.hpp
   branches/release/boost/thread/win32/condition_variable.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/condition_variable.hpp
   branches/release/boost/thread/win32/interlocked_read.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/interlocked_read.hpp
   branches/release/boost/thread/win32/mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/mutex.hpp
   branches/release/boost/thread/win32/once.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/once.hpp
   branches/release/boost/thread/win32/recursive_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/recursive_mutex.hpp
   branches/release/boost/thread/win32/shared_mutex.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/shared_mutex.hpp
   branches/release/boost/thread/win32/thread.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/thread.hpp
   branches/release/boost/thread/win32/thread_heap_alloc.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/thread_heap_alloc.hpp
   branches/release/boost/thread/win32/thread_primitives.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/thread_primitives.hpp
   branches/release/boost/thread/win32/tss.hpp
      - copied unchanged from r41356, /trunk/boost/thread/win32/tss.hpp
   branches/release/boost/tr1/detail/config_all.hpp
      - copied unchanged from r41356, /trunk/boost/tr1/detail/config_all.hpp
   branches/release/boost/tr1/tr1/sun/
      - copied from r41356, /trunk/boost/tr1/tr1/sun/
   branches/release/boost/tr1/tr1/sun/algorithm.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/algorithm.SUNWCCh
   branches/release/boost/tr1/tr1/sun/array.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/array.SUNWCCh
   branches/release/boost/tr1/tr1/sun/bcc32.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/bcc32.SUNWCCh
   branches/release/boost/tr1/tr1/sun/bitset.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/bitset.SUNWCCh
   branches/release/boost/tr1/tr1/sun/complex.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/complex.SUNWCCh
   branches/release/boost/tr1/tr1/sun/deque.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/deque.SUNWCCh
   branches/release/boost/tr1/tr1/sun/exception.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/exception.SUNWCCh
   branches/release/boost/tr1/tr1/sun/fstream.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/fstream.SUNWCCh
   branches/release/boost/tr1/tr1/sun/functional.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/functional.SUNWCCh
   branches/release/boost/tr1/tr1/sun/iomanip.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/iomanip.SUNWCCh
   branches/release/boost/tr1/tr1/sun/ios.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/ios.SUNWCCh
   branches/release/boost/tr1/tr1/sun/iostream.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/iostream.SUNWCCh
   branches/release/boost/tr1/tr1/sun/istream.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/istream.SUNWCCh
   branches/release/boost/tr1/tr1/sun/iterator.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/iterator.SUNWCCh
   branches/release/boost/tr1/tr1/sun/limits.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/limits.SUNWCCh
   branches/release/boost/tr1/tr1/sun/list.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/list.SUNWCCh
   branches/release/boost/tr1/tr1/sun/locale.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/locale.SUNWCCh
   branches/release/boost/tr1/tr1/sun/map.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/map.SUNWCCh
   branches/release/boost/tr1/tr1/sun/memory.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/memory.SUNWCCh
   branches/release/boost/tr1/tr1/sun/new.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/new.SUNWCCh
   branches/release/boost/tr1/tr1/sun/numeric.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/numeric.SUNWCCh
   branches/release/boost/tr1/tr1/sun/ostream.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/ostream.SUNWCCh
   branches/release/boost/tr1/tr1/sun/queue.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/queue.SUNWCCh
   branches/release/boost/tr1/tr1/sun/random.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/random.SUNWCCh
   branches/release/boost/tr1/tr1/sun/regex.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/regex.SUNWCCh
   branches/release/boost/tr1/tr1/sun/set.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/set.SUNWCCh
   branches/release/boost/tr1/tr1/sun/sstream.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/sstream.SUNWCCh
   branches/release/boost/tr1/tr1/sun/stack.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/stack.SUNWCCh
   branches/release/boost/tr1/tr1/sun/stdexcept.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/stdexcept.SUNWCCh
   branches/release/boost/tr1/tr1/sun/streambuf.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/streambuf.SUNWCCh
   branches/release/boost/tr1/tr1/sun/string.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/string.SUNWCCh
   branches/release/boost/tr1/tr1/sun/strstream.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/strstream.SUNWCCh
   branches/release/boost/tr1/tr1/sun/sun.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/sun.SUNWCCh
   branches/release/boost/tr1/tr1/sun/tuple.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/tuple.SUNWCCh
   branches/release/boost/tr1/tr1/sun/type_traits.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/type_traits.SUNWCCh
   branches/release/boost/tr1/tr1/sun/typeinfo.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/typeinfo.SUNWCCh
   branches/release/boost/tr1/tr1/sun/utility.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/utility.SUNWCCh
   branches/release/boost/tr1/tr1/sun/valarray.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/valarray.SUNWCCh
   branches/release/boost/tr1/tr1/sun/vector.SUNWCCh (props changed)
      - copied unchanged from r41356, /trunk/boost/tr1/tr1/sun/vector.SUNWCCh
   branches/release/boost/type_traits/msvc/
      - copied from r41356, /trunk/boost/type_traits/msvc/
   branches/release/boost/type_traits/msvc/remove_all_extents.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_all_extents.hpp
   branches/release/boost/type_traits/msvc/remove_bounds.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_bounds.hpp
   branches/release/boost/type_traits/msvc/remove_const.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_const.hpp
   branches/release/boost/type_traits/msvc/remove_cv.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_cv.hpp
   branches/release/boost/type_traits/msvc/remove_extent.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_extent.hpp
   branches/release/boost/type_traits/msvc/remove_pointer.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_pointer.hpp
   branches/release/boost/type_traits/msvc/remove_reference.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_reference.hpp
   branches/release/boost/type_traits/msvc/remove_volatile.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/remove_volatile.hpp
   branches/release/boost/type_traits/msvc/typeof.hpp
      - copied unchanged from r41356, /trunk/boost/type_traits/msvc/typeof.hpp
   branches/release/boost/typeof/dmc/
      - copied from r41356, /trunk/boost/typeof/dmc/
   branches/release/boost/typeof/dmc/typeof_impl.hpp
      - copied unchanged from r41356, /trunk/boost/typeof/dmc/typeof_impl.hpp
   branches/release/boost/typeof/native.hpp
      - copied unchanged from r41356, /trunk/boost/typeof/native.hpp
   branches/release/boost/wave/cpplexer/cpp_lex_interface_generator.hpp
      - copied unchanged from r41356, /trunk/boost/wave/cpplexer/cpp_lex_interface_generator.hpp
   branches/release/boost/wave/grammars/cpp_value_error.hpp
      - copied unchanged from r41356, /trunk/boost/wave/grammars/cpp_value_error.hpp
   branches/release/boost/xpressive/detail/core/matcher/attr_begin_matcher.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/core/matcher/attr_begin_matcher.hpp
   branches/release/boost/xpressive/detail/core/matcher/attr_end_matcher.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/core/matcher/attr_end_matcher.hpp
   branches/release/boost/xpressive/detail/core/matcher/attr_matcher.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/core/matcher/attr_matcher.hpp
   branches/release/boost/xpressive/detail/core/matcher/optional_matcher.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/core/matcher/optional_matcher.hpp
   branches/release/boost/xpressive/detail/core/matcher/predicate_matcher.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/core/matcher/predicate_matcher.hpp
   branches/release/boost/xpressive/detail/dynamic/sequence.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/dynamic/sequence.hpp
   branches/release/boost/xpressive/detail/static/grammar.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/grammar.hpp
   branches/release/boost/xpressive/detail/static/transforms/
      - copied from r41356, /trunk/boost/xpressive/detail/static/transforms/
   branches/release/boost/xpressive/detail/static/transforms/as_action.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_action.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_alternate.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_alternate.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_independent.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_independent.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_inverse.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_inverse.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_marker.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_marker.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_matcher.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_matcher.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_modifier.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_modifier.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_quantifier.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_quantifier.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_sequence.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_sequence.hpp
   branches/release/boost/xpressive/detail/static/transforms/as_set.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transforms/as_set.hpp
   branches/release/boost/xpressive/detail/static/transmogrify.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/transmogrify.hpp
   branches/release/boost/xpressive/detail/static/visitor.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/static/visitor.hpp
   branches/release/boost/xpressive/detail/utility/counted_base.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/utility/counted_base.hpp
   branches/release/boost/xpressive/detail/utility/symbols.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/utility/symbols.hpp
   branches/release/boost/xpressive/detail/utility/width.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/detail/utility/width.hpp
   branches/release/boost/xpressive/proto/args.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/args.hpp
   branches/release/boost/xpressive/proto/context/
      - copied from r41356, /trunk/boost/xpressive/proto/context/
   branches/release/boost/xpressive/proto/context.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/context.hpp
   branches/release/boost/xpressive/proto/context/callable.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/context/callable.hpp
   branches/release/boost/xpressive/proto/context/default.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/context/default.hpp
   branches/release/boost/xpressive/proto/context/null.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/context/null.hpp
   branches/release/boost/xpressive/proto/debug.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/debug.hpp
   branches/release/boost/xpressive/proto/deep_copy.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/deep_copy.hpp
   branches/release/boost/xpressive/proto/detail/
      - copied from r41356, /trunk/boost/xpressive/proto/detail/
   branches/release/boost/xpressive/proto/detail/funop.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/detail/funop.hpp
   branches/release/boost/xpressive/proto/detail/prefix.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/detail/prefix.hpp
   branches/release/boost/xpressive/proto/detail/suffix.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/detail/suffix.hpp
   branches/release/boost/xpressive/proto/domain.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/domain.hpp
   branches/release/boost/xpressive/proto/eval.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/eval.hpp
   branches/release/boost/xpressive/proto/expr.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/expr.hpp
   branches/release/boost/xpressive/proto/extends.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/extends.hpp
   branches/release/boost/xpressive/proto/fusion.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/fusion.hpp
   branches/release/boost/xpressive/proto/generate.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/generate.hpp
   branches/release/boost/xpressive/proto/literal.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/literal.hpp
   branches/release/boost/xpressive/proto/make_expr.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/make_expr.hpp
   branches/release/boost/xpressive/proto/matches.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/matches.hpp
   branches/release/boost/xpressive/proto/ref.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/ref.hpp
   branches/release/boost/xpressive/proto/tags.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/tags.hpp
   branches/release/boost/xpressive/proto/traits.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/traits.hpp
   branches/release/boost/xpressive/proto/transform/
      - copied from r41356, /trunk/boost/xpressive/proto/transform/
   branches/release/boost/xpressive/proto/transform.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform.hpp
   branches/release/boost/xpressive/proto/transform/apply.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/apply.hpp
   branches/release/boost/xpressive/proto/transform/arg.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/arg.hpp
   branches/release/boost/xpressive/proto/transform/branch.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/branch.hpp
   branches/release/boost/xpressive/proto/transform/compose.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/compose.hpp
   branches/release/boost/xpressive/proto/transform/construct.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/construct.hpp
   branches/release/boost/xpressive/proto/transform/fold.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/fold.hpp
   branches/release/boost/xpressive/proto/transform/fold_tree.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/fold_tree.hpp
   branches/release/boost/xpressive/proto/transform/function.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/function.hpp
   branches/release/boost/xpressive/proto/transform/list.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/list.hpp
   branches/release/boost/xpressive/proto/transform/pass_through.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/proto/transform/pass_through.hpp
   branches/release/boost/xpressive/regex_actions.hpp
      - copied unchanged from r41356, /trunk/boost/xpressive/regex_actions.hpp
Removed:
   branches/release/boost/archive/detail/known_archive_types.hpp
   branches/release/boost/archive/detail/known_archive_types_fwd.hpp
   branches/release/boost/archive/detail/polymorphic_iarchive_impl.hpp
   branches/release/boost/archive/detail/polymorphic_oarchive_impl.hpp
   branches/release/boost/graph/detail/bitset.hpp
   branches/release/boost/graph/detail/bitset_adaptor.hpp
   branches/release/boost/math/special_functions/detail/series.hpp
   branches/release/boost/multi_index/detail/def_ctor_tuple_cons.hpp
   branches/release/boost/random/detail/signed_unsigned_compare.hpp
   branches/release/boost/range/detail/mfc/
   branches/release/boost/regex/v4/regex_cstring.hpp
   branches/release/boost/regex/v4/regex_kmp.hpp
   branches/release/boost/regex/v4/regex_stack.hpp
   branches/release/boost/spirit/fusion/
   branches/release/boost/test/detail/wrap_io_saver.hpp
   branches/release/boost/thread/detail/lock.hpp
   branches/release/boost/thread/detail/read_write_lock.hpp
   branches/release/boost/xpressive/detail/core/action_state.hpp
   branches/release/boost/xpressive/detail/static/as_xpr.hpp
   branches/release/boost/xpressive/detail/static/productions/
   branches/release/boost/xpressive/detail/static/regex_operators.hpp
   branches/release/boost/xpressive/proto/arg_traits.hpp
   branches/release/boost/xpressive/proto/compiler/
   branches/release/boost/xpressive/proto/op_base.hpp
   branches/release/boost/xpressive/proto/op_tags.hpp
Text files modified:
   branches/release/boost/algorithm/minmax.hpp | 6
   branches/release/boost/algorithm/minmax_element.hpp | 6
   branches/release/boost/algorithm/string.hpp | 12
   branches/release/boost/algorithm/string/case_conv.hpp | 69 -
   branches/release/boost/algorithm/string/classification.hpp | 15
   branches/release/boost/algorithm/string/compare.hpp | 11
   branches/release/boost/algorithm/string/concept.hpp | 11
   branches/release/boost/algorithm/string/config.hpp | 11
   branches/release/boost/algorithm/string/constants.hpp | 11
   branches/release/boost/algorithm/string/detail/case_conv.hpp | 54 +
   branches/release/boost/algorithm/string/detail/classification.hpp | 11
   branches/release/boost/algorithm/string/detail/find_format.hpp | 11
   branches/release/boost/algorithm/string/detail/find_format_all.hpp | 11
   branches/release/boost/algorithm/string/detail/find_format_store.hpp | 11
   branches/release/boost/algorithm/string/detail/find_iterator.hpp | 11
   branches/release/boost/algorithm/string/detail/finder.hpp | 12
   branches/release/boost/algorithm/string/detail/finder_regex.hpp | 11
   branches/release/boost/algorithm/string/detail/formatter.hpp | 9
   branches/release/boost/algorithm/string/detail/formatter_regex.hpp | 11
   branches/release/boost/algorithm/string/detail/predicate.hpp | 11
   branches/release/boost/algorithm/string/detail/replace_storage.hpp | 11
   branches/release/boost/algorithm/string/detail/sequence.hpp | 11
   branches/release/boost/algorithm/string/detail/trim.hpp | 11
   branches/release/boost/algorithm/string/detail/util.hpp | 11
   branches/release/boost/algorithm/string/erase.hpp | 11
   branches/release/boost/algorithm/string/find.hpp | 73 -
   branches/release/boost/algorithm/string/find_format.hpp | 24
   branches/release/boost/algorithm/string/find_iterator.hpp | 43
   branches/release/boost/algorithm/string/finder.hpp | 71
   branches/release/boost/algorithm/string/formatter.hpp | 28
   branches/release/boost/algorithm/string/iter_find.hpp | 34
   branches/release/boost/algorithm/string/join.hpp | 21
   branches/release/boost/algorithm/string/predicate.hpp | 88 +
   branches/release/boost/algorithm/string/predicate_facade.hpp | 11
   branches/release/boost/algorithm/string/regex.hpp | 32
   branches/release/boost/algorithm/string/regex_find_format.hpp | 11
   branches/release/boost/algorithm/string/replace.hpp | 11
   branches/release/boost/algorithm/string/sequence_traits.hpp | 11
   branches/release/boost/algorithm/string/split.hpp | 11
   branches/release/boost/algorithm/string/std/list_traits.hpp | 11
   branches/release/boost/algorithm/string/std/rope_traits.hpp | 11
   branches/release/boost/algorithm/string/std/slist_traits.hpp | 11
   branches/release/boost/algorithm/string/std/string_traits.hpp | 11
   branches/release/boost/algorithm/string/std_containers_traits.hpp | 11
   branches/release/boost/algorithm/string/trim.hpp | 37
   branches/release/boost/algorithm/string/yes_no_type.hpp | 11
   branches/release/boost/algorithm/string_regex.hpp | 11
   branches/release/boost/any.hpp | 13
   branches/release/boost/archive/basic_archive.hpp | 10
   branches/release/boost/archive/basic_binary_iarchive.hpp | 32
   branches/release/boost/archive/basic_binary_iprimitive.hpp | 23
   branches/release/boost/archive/basic_binary_oarchive.hpp | 35
   branches/release/boost/archive/basic_binary_oprimitive.hpp | 22
   branches/release/boost/archive/basic_text_iarchive.hpp | 4
   branches/release/boost/archive/basic_text_oarchive.hpp | 21
   branches/release/boost/archive/basic_text_oprimitive.hpp | 2
   branches/release/boost/archive/basic_xml_archive.hpp | 2
   branches/release/boost/archive/basic_xml_iarchive.hpp | 15
   branches/release/boost/archive/basic_xml_oarchive.hpp | 26
   branches/release/boost/archive/binary_iarchive.hpp | 45 +
   branches/release/boost/archive/binary_oarchive.hpp | 7
   branches/release/boost/archive/binary_wiarchive.hpp | 45 +
   branches/release/boost/archive/binary_woarchive.hpp | 7
   branches/release/boost/archive/codecvt_null.hpp | 11
   branches/release/boost/archive/detail/abi_prefix.hpp | 5
   branches/release/boost/archive/detail/abi_suffix.hpp | 5
   branches/release/boost/archive/detail/basic_archive_impl.hpp | 43 -
   branches/release/boost/archive/detail/basic_iarchive.hpp | 12
   branches/release/boost/archive/detail/basic_oarchive.hpp | 14
   branches/release/boost/archive/detail/common_iarchive.hpp | 4
   branches/release/boost/archive/detail/common_oarchive.hpp | 5
   branches/release/boost/archive/detail/interface_iarchive.hpp | 24
   branches/release/boost/archive/detail/interface_oarchive.hpp | 23
   branches/release/boost/archive/detail/iserializer.hpp | 111 +-
   branches/release/boost/archive/detail/oserializer.hpp | 82 +-
   branches/release/boost/archive/detail/utf8_codecvt_facet.hpp | 9
   branches/release/boost/archive/impl/basic_binary_iprimitive.ipp | 2
   branches/release/boost/archive/impl/basic_xml_oarchive.ipp | 28
   branches/release/boost/archive/polymorphic_binary_iarchive.hpp | 21
   branches/release/boost/archive/polymorphic_binary_oarchive.hpp | 13
   branches/release/boost/archive/polymorphic_iarchive.hpp | 41
   branches/release/boost/archive/polymorphic_oarchive.hpp | 29
   branches/release/boost/archive/polymorphic_text_iarchive.hpp | 19
   branches/release/boost/archive/polymorphic_text_oarchive.hpp | 11
   branches/release/boost/archive/polymorphic_text_wiarchive.hpp | 11
   branches/release/boost/archive/polymorphic_text_woarchive.hpp | 11
   branches/release/boost/archive/polymorphic_xml_iarchive.hpp | 19
   branches/release/boost/archive/polymorphic_xml_oarchive.hpp | 11
   branches/release/boost/archive/polymorphic_xml_wiarchive.hpp | 11
   branches/release/boost/archive/polymorphic_xml_woarchive.hpp | 11
   branches/release/boost/archive/text_iarchive.hpp | 36
   branches/release/boost/archive/text_oarchive.hpp | 7
   branches/release/boost/archive/text_wiarchive.hpp | 36
   branches/release/boost/archive/text_woarchive.hpp | 7
   branches/release/boost/archive/xml_iarchive.hpp | 39
   branches/release/boost/archive/xml_oarchive.hpp | 13
   branches/release/boost/archive/xml_wiarchive.hpp | 39
   branches/release/boost/archive/xml_woarchive.hpp | 13
   branches/release/boost/array.hpp | 4
   branches/release/boost/assert.hpp | 13
   branches/release/boost/assign/ptr_list_of.hpp | 24
   branches/release/boost/bind.hpp | 38
   branches/release/boost/bind/arg.hpp | 30
   branches/release/boost/bind/bind_template.hpp | 119 +++
   branches/release/boost/bind/placeholders.hpp | 2
   branches/release/boost/concept_check.hpp | 1524 +++++++++++++++++++--------------------
   branches/release/boost/config/compiler/visualc.hpp | 8
   branches/release/boost/current_function.hpp | 4
   branches/release/boost/date_time/compiler_config.hpp | 2
   branches/release/boost/date_time/date_facet.hpp | 2
   branches/release/boost/date_time/date_generators.hpp | 6
   branches/release/boost/date_time/date_parsing.hpp | 12
   branches/release/boost/date_time/format_date_parser.hpp | 2
   branches/release/boost/date_time/locale_config.hpp | 2
   branches/release/boost/date_time/microsec_time_clock.hpp | 9
   branches/release/boost/date_time/period.hpp | 43
   branches/release/boost/date_time/time_facet.hpp | 2
   branches/release/boost/dynamic_bitset.hpp | 4
   branches/release/boost/dynamic_bitset/config.hpp | 13
   branches/release/boost/dynamic_bitset/dynamic_bitset.hpp | 362 +++-----
   branches/release/boost/dynamic_bitset_fwd.hpp | 5
   branches/release/boost/dynamic_property_map.hpp | 10
   branches/release/boost/foreach.hpp | 86 ++
   branches/release/boost/format/alt_sstream_impl.hpp | 11
   branches/release/boost/format/feed_args.hpp | 6
   branches/release/boost/format/format_implementation.hpp | 11
   branches/release/boost/format/group.hpp | 6
   branches/release/boost/format/internals.hpp | 2
   branches/release/boost/format/parsing.hpp | 16
   branches/release/boost/function.hpp | 6
   branches/release/boost/function/detail/prologue.hpp | 1
   branches/release/boost/function/function_base.hpp | 55 +
   branches/release/boost/function/function_template.hpp | 335 ++++++--
   branches/release/boost/functional/detail/container_fwd.hpp | 6
   branches/release/boost/functional/detail/float_functions.hpp | 6
   branches/release/boost/functional/detail/hash_float.hpp | 113 ++
   branches/release/boost/functional/hash.hpp | 6
   branches/release/boost/functional/hash/hash.hpp | 155 +++
   branches/release/boost/functional/hash_fwd.hpp | 6
   branches/release/boost/graph/adjacency_list.hpp | 38
   branches/release/boost/graph/adjacency_matrix.hpp | 14
   branches/release/boost/graph/betweenness_centrality.hpp | 6
   branches/release/boost/graph/compressed_sparse_row_graph.hpp | 2
   branches/release/boost/graph/detail/adjacency_list.hpp | 42
   branches/release/boost/graph/detail/edge.hpp | 32
   branches/release/boost/graph/detail/is_same.hpp | 4
   branches/release/boost/graph/detail/read_graphviz_spirit.hpp | 45
   branches/release/boost/graph/edge_list.hpp | 9
   branches/release/boost/graph/graph_concepts.hpp | 364 +++++----
   branches/release/boost/graph/graph_selectors.hpp | 14
   branches/release/boost/graph/graph_test.hpp | 16
   branches/release/boost/graph/graphviz.hpp | 11
   branches/release/boost/graph/isomorphism.hpp | 2
   branches/release/boost/graph/johnson_all_pairs_shortest.hpp | 1
   branches/release/boost/graph/leda_graph.hpp | 563 ++++++++++++--
   branches/release/boost/graph/max_cardinality_matching.hpp | 309 ++++---
   branches/release/boost/graph/named_function_params.hpp | 42 +
   branches/release/boost/graph/properties.hpp | 20
   branches/release/boost/graph/property_iter_range.hpp | 4
   branches/release/boost/graph/read_dimacs.hpp | 9
   branches/release/boost/graph/relax.hpp | 10
   branches/release/boost/graph/reverse_graph.hpp | 10
   branches/release/boost/graph/visitors.hpp | 10
   branches/release/boost/implicit_cast.hpp | 2
   branches/release/boost/integer.hpp | 2
   branches/release/boost/intrusive_ptr.hpp | 7
   branches/release/boost/io/ios_state.hpp | 1
   branches/release/boost/iostreams/detail/enable_if_stream.hpp | 2
   branches/release/boost/iostreams/detail/push.hpp | 4
   branches/release/boost/iterator/detail/facade_iterator_category.hpp | 27
   branches/release/boost/iterator/iterator_adaptor.hpp | 24
   branches/release/boost/iterator/iterator_archetypes.hpp | 3
   branches/release/boost/iterator/iterator_categories.hpp | 2
   branches/release/boost/iterator/iterator_concepts.hpp | 352 ++++----
   branches/release/boost/iterator/iterator_facade.hpp | 34
   branches/release/boost/iterator/iterator_traits.hpp | 10
   branches/release/boost/iterator/transform_iterator.hpp | 48
   branches/release/boost/iterator_adaptors.hpp | 3
   branches/release/boost/lambda/detail/lambda_functors.hpp | 65 +
   branches/release/boost/last_value.hpp | 6
   branches/release/boost/lexical_cast.hpp | 904 ++++++++++++++++++++++
   branches/release/boost/limits.hpp | 2
   branches/release/boost/logic/tribool.hpp | 4
   branches/release/boost/math/common_factor_rt.hpp | 104 ++
   branches/release/boost/math/complex/details.hpp | 2
   branches/release/boost/math/special_functions/acosh.hpp | 138 --
   branches/release/boost/math/special_functions/asinh.hpp | 33
   branches/release/boost/math/special_functions/atanh.hpp | 217 ----
   branches/release/boost/math/special_functions/expm1.hpp | 278 +++++-
   branches/release/boost/math/special_functions/hypot.hpp | 109 +-
   branches/release/boost/math/special_functions/log1p.hpp | 287 +++++-
   branches/release/boost/math/special_functions/sinc.hpp | 38
   branches/release/boost/math/special_functions/sinhc.hpp | 29
   branches/release/boost/mpl/and.hpp | 4
   branches/release/boost/mpl/assert.hpp | 59
   branches/release/boost/mpl/aux_/begin_end_impl.hpp | 1
   branches/release/boost/mpl/aux_/config/ctps.hpp | 2
   branches/release/boost/mpl/aux_/config/overload_resolution.hpp | 2
   branches/release/boost/mpl/aux_/config/ttp.hpp | 4
   branches/release/boost/mpl/aux_/integral_wrapper.hpp | 2
   branches/release/boost/mpl/has_xxx.hpp | 39 +
   branches/release/boost/mpl/or.hpp | 4
   branches/release/boost/mpl/set/aux_/begin_end_impl.hpp | 4
   branches/release/boost/mpl/set/aux_/erase_key_impl.hpp | 4
   branches/release/boost/mpl/set/aux_/insert_impl.hpp | 4
   branches/release/boost/mpl/set/aux_/item.hpp | 4
   branches/release/boost/mpl/set/aux_/iterator.hpp | 27
   branches/release/boost/mpl/set/aux_/set0.hpp | 2
   branches/release/boost/multi_array.hpp | 4
   branches/release/boost/multi_array/base.hpp | 7
   branches/release/boost/multi_array/concept_checks.hpp | 1
   branches/release/boost/multi_array/copy_array.hpp | 6
   branches/release/boost/multi_array/multi_array_ref.hpp | 20
   branches/release/boost/multi_array/subarray.hpp | 13
   branches/release/boost/multi_array/view.hpp | 18
   branches/release/boost/multi_index/composite_key.hpp | 4
   branches/release/boost/multi_index/detail/auto_space.hpp | 39
   branches/release/boost/multi_index/detail/bidir_node_iterator.hpp | 16
   branches/release/boost/multi_index/detail/bucket_array.hpp | 33
   branches/release/boost/multi_index/detail/copy_map.hpp | 45
   branches/release/boost/multi_index/detail/hash_index_args.hpp | 6
   branches/release/boost/multi_index/detail/hash_index_iterator.hpp | 16
   branches/release/boost/multi_index/detail/hash_index_node.hpp | 112 ++
   branches/release/boost/multi_index/detail/header_holder.hpp | 8
   branches/release/boost/multi_index/detail/index_base.hpp | 12
   branches/release/boost/multi_index/detail/index_loader.hpp | 4
   branches/release/boost/multi_index/detail/index_matcher.hpp | 4
   branches/release/boost/multi_index/detail/index_node_base.hpp | 13
   branches/release/boost/multi_index/detail/iter_adaptor.hpp | 54 +
   branches/release/boost/multi_index/detail/modify_key_adaptor.hpp | 10
   branches/release/boost/multi_index/detail/node_type.hpp | 4
   branches/release/boost/multi_index/detail/ord_index_node.hpp | 340 +++++---
   branches/release/boost/multi_index/detail/ord_index_ops.hpp | 80 +
   branches/release/boost/multi_index/detail/rnd_index_loader.hpp | 63
   branches/release/boost/multi_index/detail/rnd_index_node.hpp | 159 ++-
   branches/release/boost/multi_index/detail/rnd_index_ops.hpp | 64
   branches/release/boost/multi_index/detail/rnd_index_ptr_array.hpp | 34
   branches/release/boost/multi_index/detail/rnd_node_iterator.hpp | 44
   branches/release/boost/multi_index/detail/seq_index_node.hpp | 138 ++-
   branches/release/boost/multi_index/detail/seq_index_ops.hpp | 81 +
   branches/release/boost/multi_index/detail/uintptr_type.hpp | 11
   branches/release/boost/multi_index/detail/unbounded.hpp | 59 +
   branches/release/boost/multi_index/detail/value_compare.hpp | 5
   branches/release/boost/multi_index/hashed_index.hpp | 218 ++++-
   branches/release/boost/multi_index/identity_fwd.hpp | 6
   branches/release/boost/multi_index/key_extractors.hpp | 3
   branches/release/boost/multi_index/mem_fun.hpp | 24
   branches/release/boost/multi_index/ordered_index.hpp | 307 ++++++--
   branches/release/boost/multi_index/random_access_index.hpp | 144 +++
   branches/release/boost/multi_index/sequenced_index.hpp | 143 ++
   branches/release/boost/multi_index_container.hpp | 114 ++
   branches/release/boost/none.hpp | 39
   branches/release/boost/numeric/interval/arith2.hpp | 78 ++
   branches/release/boost/numeric/interval/detail/alpha_rounding_control.hpp | 1
   branches/release/boost/numeric/interval/hw_rounding.hpp | 4
   branches/release/boost/numeric/ublas/banded.hpp | 31
   branches/release/boost/numeric/ublas/blas.hpp | 10
   branches/release/boost/numeric/ublas/detail/concepts.hpp | 10
   branches/release/boost/numeric/ublas/detail/config.hpp | 14
   branches/release/boost/numeric/ublas/detail/definitions.hpp | 10
   branches/release/boost/numeric/ublas/detail/duff.hpp | 10
   branches/release/boost/numeric/ublas/detail/iterator.hpp | 28
   branches/release/boost/numeric/ublas/detail/matrix_assign.hpp | 10
   branches/release/boost/numeric/ublas/detail/raw.hpp | 10
   branches/release/boost/numeric/ublas/detail/temporary.hpp | 10
   branches/release/boost/numeric/ublas/detail/vector_assign.hpp | 24
   branches/release/boost/numeric/ublas/exception.hpp | 21
   branches/release/boost/numeric/ublas/expression_types.hpp | 10
   branches/release/boost/numeric/ublas/functional.hpp | 850 ++++++++++-----------
   branches/release/boost/numeric/ublas/fwd.hpp | 22
   branches/release/boost/numeric/ublas/hermitian.hpp | 26
   branches/release/boost/numeric/ublas/io.hpp | 11
   branches/release/boost/numeric/ublas/lu.hpp | 16
   branches/release/boost/numeric/ublas/matrix.hpp | 311 +++++--
   branches/release/boost/numeric/ublas/matrix_expression.hpp | 74 -
   branches/release/boost/numeric/ublas/matrix_proxy.hpp | 12
   branches/release/boost/numeric/ublas/matrix_sparse.hpp | 636 ++++++++++------
   branches/release/boost/numeric/ublas/operation.hpp | 26
   branches/release/boost/numeric/ublas/operation_blocked.hpp | 12
   branches/release/boost/numeric/ublas/operation_sparse.hpp | 28
   branches/release/boost/numeric/ublas/storage.hpp | 123 ++
   branches/release/boost/numeric/ublas/storage_sparse.hpp | 34
   branches/release/boost/numeric/ublas/symmetric.hpp | 13
   branches/release/boost/numeric/ublas/traits.hpp | 99 -
   branches/release/boost/numeric/ublas/triangular.hpp | 80 +
   branches/release/boost/numeric/ublas/vector.hpp | 116 ++
   branches/release/boost/numeric/ublas/vector_expression.hpp | 57
   branches/release/boost/numeric/ublas/vector_of_vector.hpp | 177 ++-
   branches/release/boost/numeric/ublas/vector_proxy.hpp | 10
   branches/release/boost/numeric/ublas/vector_sparse.hpp | 82 +
   branches/release/boost/optional.hpp | 2
   branches/release/boost/parameter.hpp | 2
   branches/release/boost/parameter/aux_/arg_list.hpp | 5
   branches/release/boost/parameter/keyword.hpp | 40
   branches/release/boost/parameter/macros.hpp | 2
   branches/release/boost/parameter/parameters.hpp | 6
   branches/release/boost/parameter/preprocessor.hpp | 8
   branches/release/boost/pending/container_traits.hpp | 12
   branches/release/boost/pending/ct_if.hpp | 106 --
   branches/release/boost/pending/integer_log2.hpp | 9
   branches/release/boost/pending/lowest_bit.hpp | 4
   branches/release/boost/pending/relaxed_heap.hpp | 8
   branches/release/boost/pending/stringtok.hpp | 5
   branches/release/boost/pfto.hpp | 2
   branches/release/boost/pool/detail/mutex.hpp | 12
   branches/release/boost/pool/pool.hpp | 52
   branches/release/boost/preprocessor/detail/check.hpp | 2
   branches/release/boost/program_options.hpp | 2
   branches/release/boost/program_options/detail/config_file.hpp | 12
   branches/release/boost/program_options/detail/value_semantic.hpp | 25
   branches/release/boost/program_options/options_description.hpp | 2
   branches/release/boost/program_options/parsers.hpp | 3
   branches/release/boost/program_options/positional_options.hpp | 2
   branches/release/boost/program_options/value_semantic.hpp | 36
   branches/release/boost/program_options/variables_map.hpp | 14
   branches/release/boost/property_map.hpp | 32
   branches/release/boost/ptr_container/detail/associative_ptr_container.hpp | 84 +
   branches/release/boost/ptr_container/detail/reversible_ptr_container.hpp | 229 ++---
   branches/release/boost/ptr_container/detail/scoped_deleter.hpp | 12
   branches/release/boost/ptr_container/detail/static_move_ptr.hpp | 1
   branches/release/boost/ptr_container/detail/void_ptr_iterator.hpp | 4
   branches/release/boost/ptr_container/ptr_array.hpp | 84 +-
   branches/release/boost/ptr_container/ptr_container.hpp | 1
   branches/release/boost/ptr_container/ptr_deque.hpp | 9
   branches/release/boost/ptr_container/ptr_list.hpp | 11
   branches/release/boost/ptr_container/ptr_map.hpp | 20
   branches/release/boost/ptr_container/ptr_map_adapter.hpp | 203 ++--
   branches/release/boost/ptr_container/ptr_sequence_adapter.hpp | 152 ++-
   branches/release/boost/ptr_container/ptr_set.hpp | 7
   branches/release/boost/ptr_container/ptr_set_adapter.hpp | 130 ++-
   branches/release/boost/ptr_container/ptr_vector.hpp | 31
   branches/release/boost/python/converter/as_to_python_function.hpp | 3
   branches/release/boost/python/converter/builtin_converters.hpp | 48
   branches/release/boost/python/converter/pyobject_traits.hpp | 3
   branches/release/boost/python/converter/pyobject_type.hpp | 5
   branches/release/boost/python/converter/registrations.hpp | 10
   branches/release/boost/python/converter/registry.hpp | 6
   branches/release/boost/python/converter/shared_ptr_from_python.hpp | 9
   branches/release/boost/python/default_call_policies.hpp | 7
   branches/release/boost/python/detail/caller.hpp | 45 +
   branches/release/boost/python/detail/config.hpp | 4
   branches/release/boost/python/detail/def_helper.hpp | 2
   branches/release/boost/python/detail/defaults_def.hpp | 2
   branches/release/boost/python/detail/defaults_gen.hpp | 4
   branches/release/boost/python/detail/make_keyword_range_fn.hpp | 3
   branches/release/boost/python/detail/operator_id.hpp | 3
   branches/release/boost/python/detail/signature.hpp | 28
   branches/release/boost/python/docstring_options.hpp | 73 +
   branches/release/boost/python/enum.hpp | 8
   branches/release/boost/python/implicit.hpp | 9
   branches/release/boost/python/init.hpp | 6
   branches/release/boost/python/lvalue_from_pytype.hpp | 17
   branches/release/boost/python/make_constructor.hpp | 21
   branches/release/boost/python/numeric.hpp | 1
   branches/release/boost/python/object/class_metadata.hpp | 16
   branches/release/boost/python/object/class_wrapper.hpp | 13
   branches/release/boost/python/object/enum_base.hpp | 4
   branches/release/boost/python/object/function.hpp | 2
   branches/release/boost/python/object/make_holder.hpp | 10
   branches/release/boost/python/object/make_ptr_instance.hpp | 7
   branches/release/boost/python/object/py_function.hpp | 23
   branches/release/boost/python/object_core.hpp | 3
   branches/release/boost/python/object_protocol.hpp | 23
   branches/release/boost/python/opaque_pointer_converter.hpp | 10
   branches/release/boost/python/operators.hpp | 2
   branches/release/boost/python/return_arg.hpp | 14
   branches/release/boost/python/suite/indexing/indexing_suite.hpp | 104 +-
   branches/release/boost/python/to_python_converter.hpp | 71 +
   branches/release/boost/python/to_python_indirect.hpp | 12
   branches/release/boost/python/to_python_value.hpp | 56 +
   branches/release/boost/random/additive_combine.hpp | 4
   branches/release/boost/random/bernoulli_distribution.hpp | 8
   branches/release/boost/random/binomial_distribution.hpp | 10
   branches/release/boost/random/cauchy_distribution.hpp | 6
   branches/release/boost/random/detail/const_mod.hpp | 8
   branches/release/boost/random/detail/uniform_int_float.hpp | 4
   branches/release/boost/random/exponential_distribution.hpp | 4
   branches/release/boost/random/gamma_distribution.hpp | 6
   branches/release/boost/random/geometric_distribution.hpp | 6
   branches/release/boost/random/inversive_congruential.hpp | 1
   branches/release/boost/random/lagged_fibonacci.hpp | 8
   branches/release/boost/random/lognormal_distribution.hpp | 12
   branches/release/boost/random/mersenne_twister.hpp | 4
   branches/release/boost/random/normal_distribution.hpp | 10
   branches/release/boost/random/poisson_distribution.hpp | 6
   branches/release/boost/random/shuffle_output.hpp | 2
   branches/release/boost/random/triangle_distribution.hpp | 8
   branches/release/boost/random/uniform_01.hpp | 6
   branches/release/boost/random/uniform_int.hpp | 61
   branches/release/boost/random/uniform_real.hpp | 8
   branches/release/boost/random/uniform_smallint.hpp | 32
   branches/release/boost/range/begin.hpp | 105 --
   branches/release/boost/range/concepts.hpp | 45
   branches/release/boost/range/config.hpp | 3
   branches/release/boost/range/const_iterator.hpp | 65 -
   branches/release/boost/range/const_reverse_iterator.hpp | 17
   branches/release/boost/range/detail/begin.hpp | 49 -
   branches/release/boost/range/detail/common.hpp | 1
   branches/release/boost/range/detail/const_iterator.hpp | 52 -
   branches/release/boost/range/detail/end.hpp | 71 -
   branches/release/boost/range/detail/implementation_help.hpp | 71 -
   branches/release/boost/range/detail/iterator.hpp | 52 -
   branches/release/boost/range/detail/size_type.hpp | 50 -
   branches/release/boost/range/detail/value_type.hpp | 50 -
   branches/release/boost/range/difference_type.hpp | 124 ---
   branches/release/boost/range/empty.hpp | 43
   branches/release/boost/range/end.hpp | 104 --
   branches/release/boost/range/functions.hpp | 4
   branches/release/boost/range/iterator.hpp | 140 +--
   branches/release/boost/range/iterator_range.hpp | 203 +++--
   branches/release/boost/range/metafunctions.hpp | 10
   branches/release/boost/range/rbegin.hpp | 19
   branches/release/boost/range/rend.hpp | 19
   branches/release/boost/range/result_iterator.hpp | 20
   branches/release/boost/range/reverse_result_iterator.hpp | 17
   branches/release/boost/range/size.hpp | 109 --
   branches/release/boost/range/size_type.hpp | 180 +---
   branches/release/boost/range/sub_range.hpp | 51
   branches/release/boost/range/value_type.hpp | 124 ---
   branches/release/boost/rational.hpp | 200 +++-
   branches/release/boost/regex/config.hpp | 8
   branches/release/boost/regex/pattern_except.hpp | 19
   branches/release/boost/regex/pending/static_mutex.hpp | 11
   branches/release/boost/regex/v4/basic_regex.hpp | 16
   branches/release/boost/regex/v4/basic_regex_creator.hpp | 23
   branches/release/boost/regex/v4/basic_regex_parser.hpp | 16
   branches/release/boost/regex/v4/c_regex_traits.hpp | 14
   branches/release/boost/regex/v4/char_regex_traits.hpp | 14
   branches/release/boost/regex/v4/cpp_regex_traits.hpp | 16
   branches/release/boost/regex/v4/cregex.hpp | 28
   branches/release/boost/regex/v4/fileiter.hpp | 6
   branches/release/boost/regex/v4/iterator_traits.hpp | 14
   branches/release/boost/regex/v4/match_flags.hpp | 4
   branches/release/boost/regex/v4/match_results.hpp | 14
   branches/release/boost/regex/v4/perl_matcher.hpp | 25
   branches/release/boost/regex/v4/perl_matcher_common.hpp | 22
   branches/release/boost/regex/v4/perl_matcher_non_recursive.hpp | 22
   branches/release/boost/regex/v4/perl_matcher_recursive.hpp | 22
   branches/release/boost/regex/v4/primary_transform.hpp | 14
   branches/release/boost/regex/v4/protected_call.hpp | 14
   branches/release/boost/regex/v4/regbase.hpp | 14
   branches/release/boost/regex/v4/regex_format.hpp | 23
   branches/release/boost/regex/v4/regex_grep.hpp | 14
   branches/release/boost/regex/v4/regex_iterator.hpp | 14
   branches/release/boost/regex/v4/regex_match.hpp | 14
   branches/release/boost/regex/v4/regex_merge.hpp | 14
   branches/release/boost/regex/v4/regex_raw_buffer.hpp | 14
   branches/release/boost/regex/v4/regex_replace.hpp | 14
   branches/release/boost/regex/v4/regex_search.hpp | 14
   branches/release/boost/regex/v4/regex_split.hpp | 23
   branches/release/boost/regex/v4/regex_token_iterator.hpp | 16
   branches/release/boost/regex/v4/regex_traits.hpp | 14
   branches/release/boost/regex/v4/regex_traits_defaults.hpp | 16
   branches/release/boost/regex/v4/regex_workaround.hpp | 11
   branches/release/boost/regex/v4/states.hpp | 14
   branches/release/boost/regex/v4/sub_match.hpp | 14
   branches/release/boost/regex/v4/w32_regex_traits.hpp | 15
   branches/release/boost/serialization/base_object.hpp | 143 --
   branches/release/boost/serialization/binary_object.hpp | 10
   branches/release/boost/serialization/collections_load_imp.hpp | 17
   branches/release/boost/serialization/collections_save_imp.hpp | 6
   branches/release/boost/serialization/export.hpp | 325 +++-----
   branches/release/boost/serialization/force_include.hpp | 2
   branches/release/boost/serialization/is_abstract.hpp | 25
   branches/release/boost/serialization/nvp.hpp | 3
   branches/release/boost/serialization/shared_ptr.hpp | 119 --
   branches/release/boost/serialization/shared_ptr_132.hpp | 24
   branches/release/boost/serialization/slist.hpp | 7
   branches/release/boost/serialization/tracking.hpp | 3
   branches/release/boost/serialization/tracking_enum.hpp | 2
   branches/release/boost/serialization/traits.hpp | 5
   branches/release/boost/serialization/utility.hpp | 12
   branches/release/boost/serialization/vector.hpp | 73 +
   branches/release/boost/serialization/void_cast.hpp | 54 +
   branches/release/boost/serialization/void_cast_fwd.hpp | 11
   branches/release/boost/serialization/weak_ptr.hpp | 2
   branches/release/boost/shared_array.hpp | 18
   branches/release/boost/shared_ptr.hpp | 79 +
   branches/release/boost/signals/trackable.hpp | 52
   branches/release/boost/smart_cast.hpp | 2
   branches/release/boost/spirit.hpp | 3
   branches/release/boost/spirit/attribute/typeof.hpp | 4
   branches/release/boost/spirit/core/non_terminal/impl/grammar.ipp | 21
   branches/release/boost/spirit/core/non_terminal/impl/object_with_id.ipp | 2
   branches/release/boost/spirit/core/non_terminal/parser_id.hpp | 2
   branches/release/boost/spirit/core/non_terminal/rule.hpp | 3
   branches/release/boost/spirit/core/primitives/impl/numerics.ipp | 271 ++----
   branches/release/boost/spirit/core/primitives/impl/primitives.ipp | 335 ++++----
   branches/release/boost/spirit/core/primitives/primitives.hpp | 101 +-
   branches/release/boost/spirit/core/scanner/scanner.hpp | 4
   branches/release/boost/spirit/iterator/impl/file_iterator.ipp | 1
   branches/release/boost/spirit/iterator/multi_pass.hpp | 8
   branches/release/boost/spirit/iterator/typeof.hpp | 1
   branches/release/boost/spirit/phoenix/closures.hpp | 2
   branches/release/boost/spirit/phoenix/operators.hpp | 1
   branches/release/boost/spirit/tree/ast.hpp | 54
   branches/release/boost/spirit/tree/ast_fwd.hpp | 9
   branches/release/boost/spirit/tree/common.hpp | 149 ++
   branches/release/boost/spirit/tree/common_fwd.hpp | 8
   branches/release/boost/spirit/tree/impl/parse_tree_utils.ipp | 2
   branches/release/boost/spirit/tree/impl/tree_to_xml.ipp | 31
   branches/release/boost/spirit/tree/parse_tree.hpp | 49
   branches/release/boost/spirit/tree/parse_tree_fwd.hpp | 9
   branches/release/boost/spirit/tree/parse_tree_utils.hpp | 2
   branches/release/boost/spirit/tree/parsetree.dtd | 8
   branches/release/boost/spirit/tree/tree_to_xml.hpp | 2
   branches/release/boost/spirit/tree/typeof.hpp | 3
   branches/release/boost/spirit/utility/impl/chset/range_run.ipp | 6
   branches/release/boost/spirit/version.hpp | 4
   branches/release/boost/state_saver.hpp | 2
   branches/release/boost/statechart/detail/rtti_policy.hpp | 12
   branches/release/boost/statechart/event.hpp | 7
   branches/release/boost/static_assert.hpp | 6
   branches/release/boost/strong_typedef.hpp | 57 +
   branches/release/boost/test/auto_unit_test.hpp | 12
   branches/release/boost/test/detail/config.hpp | 44 -
   branches/release/boost/test/detail/enable_warnings.hpp | 26
   branches/release/boost/test/detail/fwd_decl.hpp | 14
   branches/release/boost/test/detail/global_typedef.hpp | 14
   branches/release/boost/test/detail/log_level.hpp | 21
   branches/release/boost/test/detail/suppress_warnings.hpp | 25
   branches/release/boost/test/detail/unit_test_parameters.hpp | 30
   branches/release/boost/test/detail/workaround.hpp | 14
   branches/release/boost/test/exception_safety.hpp | 26
   branches/release/boost/test/execution_monitor.hpp | 90 +-
   branches/release/boost/test/floating_point_comparison.hpp | 74 -
   branches/release/boost/test/framework.hpp | 52
   branches/release/boost/test/impl/compiler_log_formatter.ipp | 27
   branches/release/boost/test/impl/cpp_main.ipp | 38
   branches/release/boost/test/impl/exception_safety.ipp | 43
   branches/release/boost/test/impl/execution_monitor.ipp | 1270 ++++++++++++++++++++++----------
   branches/release/boost/test/impl/framework.ipp | 128 +-
   branches/release/boost/test/impl/interaction_based.ipp | 33
   branches/release/boost/test/impl/logged_expectations.ipp | 29
   branches/release/boost/test/impl/plain_report_formatter.ipp | 26
   branches/release/boost/test/impl/progress_monitor.ipp | 16
   branches/release/boost/test/impl/results_collector.ipp | 31
   branches/release/boost/test/impl/results_reporter.ipp | 37
   branches/release/boost/test/impl/test_main.ipp | 17
   branches/release/boost/test/impl/test_tools.ipp | 84 -
   branches/release/boost/test/impl/unit_test_log.ipp | 45
   branches/release/boost/test/impl/unit_test_main.ipp | 184 +++
   branches/release/boost/test/impl/unit_test_monitor.ipp | 48 -
   branches/release/boost/test/impl/unit_test_parameters.ipp | 105 +-
   branches/release/boost/test/impl/unit_test_suite.ipp | 172 +++-
   branches/release/boost/test/impl/xml_log_formatter.ipp | 24
   branches/release/boost/test/impl/xml_report_formatter.ipp | 17
   branches/release/boost/test/included/prg_exec_monitor.hpp | 21
   branches/release/boost/test/included/test_exec_monitor.hpp | 31
   branches/release/boost/test/included/unit_test.hpp | 36
   branches/release/boost/test/included/unit_test_framework.hpp | 11
   branches/release/boost/test/interaction_based.hpp | 24
   branches/release/boost/test/logged_expectations.hpp | 16
   branches/release/boost/test/minimal.hpp | 28
   branches/release/boost/test/mock_object.hpp | 18
   branches/release/boost/test/output/compiler_log_formatter.hpp | 19
   branches/release/boost/test/output/plain_report_formatter.hpp | 11
   branches/release/boost/test/output/xml_log_formatter.hpp | 15
   branches/release/boost/test/output/xml_report_formatter.hpp | 11
   branches/release/boost/test/output_test_stream.hpp | 27
   branches/release/boost/test/parameterized_test.hpp | 34
   branches/release/boost/test/predicate_result.hpp | 32
   branches/release/boost/test/prg_exec_monitor.hpp | 17
   branches/release/boost/test/progress_monitor.hpp | 20
   branches/release/boost/test/results_collector.hpp | 30
   branches/release/boost/test/results_reporter.hpp | 16
   branches/release/boost/test/test_case_template.hpp | 32
   branches/release/boost/test/test_exec_monitor.hpp | 17
   branches/release/boost/test/test_observer.hpp | 19
   branches/release/boost/test/test_tools.hpp | 218 ++--
   branches/release/boost/test/unit_test.hpp | 40
   branches/release/boost/test/unit_test_log.hpp | 43 -
   branches/release/boost/test/unit_test_log_formatter.hpp | 39
   branches/release/boost/test/unit_test_monitor.hpp | 14
   branches/release/boost/test/unit_test_suite.hpp | 60
   branches/release/boost/test/unit_test_suite_impl.hpp | 126 +-
   branches/release/boost/test/utils/algorithm.hpp | 30
   branches/release/boost/test/utils/assign_op.hpp | 11
   branches/release/boost/test/utils/basic_cstring/basic_cstring.hpp | 48 -
   branches/release/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp | 23
   branches/release/boost/test/utils/basic_cstring/bcs_char_traits.hpp | 20
   branches/release/boost/test/utils/basic_cstring/compare.hpp | 26
   branches/release/boost/test/utils/basic_cstring/io.hpp | 26
   branches/release/boost/test/utils/callback.hpp | 29
   branches/release/boost/test/utils/class_properties.hpp | 41 -
   branches/release/boost/test/utils/custom_manip.hpp | 17
   branches/release/boost/test/utils/fixed_mapping.hpp | 37
   branches/release/boost/test/utils/foreach.hpp | 76 -
   branches/release/boost/test/utils/iterator/ifstream_line_iterator.hpp | 32
   branches/release/boost/test/utils/iterator/input_iterator_facade.hpp | 26
   branches/release/boost/test/utils/iterator/istream_line_iterator.hpp | 26
   branches/release/boost/test/utils/iterator/token_iterator.hpp | 40 -
   branches/release/boost/test/utils/named_params.hpp | 49 -
   branches/release/boost/test/utils/nullstream.hpp | 23
   branches/release/boost/test/utils/rtti.hpp | 14
   branches/release/boost/test/utils/runtime/argument.hpp | 14
   branches/release/boost/test/utils/runtime/cla/argument_factory.hpp | 11
   branches/release/boost/test/utils/runtime/cla/argv_traverser.cpp | 11
   branches/release/boost/test/utils/runtime/cla/argv_traverser.hpp | 11
   branches/release/boost/test/utils/runtime/cla/argv_traverser.ipp | 17
   branches/release/boost/test/utils/runtime/cla/basic_parameter.hpp | 11
   branches/release/boost/test/utils/runtime/cla/char_parameter.cpp | 11
   branches/release/boost/test/utils/runtime/cla/char_parameter.hpp | 11
   branches/release/boost/test/utils/runtime/cla/char_parameter.ipp | 14
   branches/release/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp | 11
   branches/release/boost/test/utils/runtime/cla/dual_name_parameter.cpp | 11
   branches/release/boost/test/utils/runtime/cla/dual_name_parameter.hpp | 11
   branches/release/boost/test/utils/runtime/cla/dual_name_parameter.ipp | 11
   branches/release/boost/test/utils/runtime/cla/fwd.hpp | 11
   branches/release/boost/test/utils/runtime/cla/id_policy.cpp | 11
   branches/release/boost/test/utils/runtime/cla/id_policy.hpp | 11
   branches/release/boost/test/utils/runtime/cla/id_policy.ipp | 11
   branches/release/boost/test/utils/runtime/cla/iface/argument_factory.hpp | 11
   branches/release/boost/test/utils/runtime/cla/iface/id_policy.hpp | 11
   branches/release/boost/test/utils/runtime/cla/modifier.hpp | 11
   branches/release/boost/test/utils/runtime/cla/named_parameter.cpp | 11
   branches/release/boost/test/utils/runtime/cla/named_parameter.hpp | 11
   branches/release/boost/test/utils/runtime/cla/named_parameter.ipp | 14
   branches/release/boost/test/utils/runtime/cla/parameter.hpp | 11
   branches/release/boost/test/utils/runtime/cla/parser.cpp | 11
   branches/release/boost/test/utils/runtime/cla/parser.hpp | 14
   branches/release/boost/test/utils/runtime/cla/parser.ipp | 11
   branches/release/boost/test/utils/runtime/cla/positional_parameter.hpp | 11
   branches/release/boost/test/utils/runtime/cla/typed_parameter.hpp | 11
   branches/release/boost/test/utils/runtime/cla/validation.cpp | 11
   branches/release/boost/test/utils/runtime/cla/validation.hpp | 11
   branches/release/boost/test/utils/runtime/cla/validation.ipp | 12
   branches/release/boost/test/utils/runtime/cla/value_generator.hpp | 11
   branches/release/boost/test/utils/runtime/cla/value_handler.hpp | 11
   branches/release/boost/test/utils/runtime/config.hpp | 18
   branches/release/boost/test/utils/runtime/configuration.hpp | 11
   branches/release/boost/test/utils/runtime/env/environment.cpp | 11
   branches/release/boost/test/utils/runtime/env/environment.hpp | 17
   branches/release/boost/test/utils/runtime/env/environment.ipp | 23
   branches/release/boost/test/utils/runtime/env/fwd.hpp | 11
   branches/release/boost/test/utils/runtime/env/modifier.hpp | 11
   branches/release/boost/test/utils/runtime/env/variable.hpp | 14
   branches/release/boost/test/utils/runtime/file/config_file.cpp | 11
   branches/release/boost/test/utils/runtime/file/config_file.hpp | 11
   branches/release/boost/test/utils/runtime/file/config_file_iterator.cpp | 11
   branches/release/boost/test/utils/runtime/file/config_file_iterator.hpp | 14
   branches/release/boost/test/utils/runtime/fwd.hpp | 11
   branches/release/boost/test/utils/runtime/interpret_argument_value.hpp | 11
   branches/release/boost/test/utils/runtime/parameter.hpp | 11
   branches/release/boost/test/utils/runtime/trace.hpp | 11
   branches/release/boost/test/utils/runtime/validation.hpp | 11
   branches/release/boost/test/utils/trivial_singleton.hpp | 21
   branches/release/boost/test/utils/wrap_stringstream.hpp | 38
   branches/release/boost/test/utils/xml_printer.hpp | 36
   branches/release/boost/thread.hpp | 2
   branches/release/boost/thread/barrier.hpp | 67 +
   branches/release/boost/thread/condition.hpp | 205 -----
   branches/release/boost/thread/detail/tss_hooks.hpp | 2
   branches/release/boost/thread/exceptions.hpp | 12
   branches/release/boost/thread/mutex.hpp | 183 ----
   branches/release/boost/thread/once.hpp | 56
   branches/release/boost/thread/recursive_mutex.hpp | 197 ----
   branches/release/boost/thread/thread.hpp | 103 --
   branches/release/boost/thread/tss.hpp | 130 ---
   branches/release/boost/thread/xtime.hpp | 36
   branches/release/boost/token_functions.hpp | 10
   branches/release/boost/token_iterator.hpp | 4
   branches/release/boost/tr1/complex.hpp | 1
   branches/release/boost/tr1/detail/config.hpp | 79 -
   branches/release/boost/tr1/functional.hpp | 6
   branches/release/boost/tr1/memory.hpp | 1
   branches/release/boost/tr1/tr1/algorithm | 2
   branches/release/boost/tr1/tr1/array | 2
   branches/release/boost/tr1/tr1/bitset | 2
   branches/release/boost/tr1/tr1/complex | 2
   branches/release/boost/tr1/tr1/deque | 2
   branches/release/boost/tr1/tr1/exception | 2
   branches/release/boost/tr1/tr1/fstream | 2
   branches/release/boost/tr1/tr1/functional | 2
   branches/release/boost/tr1/tr1/iomanip | 2
   branches/release/boost/tr1/tr1/ios | 2
   branches/release/boost/tr1/tr1/iostream | 2
   branches/release/boost/tr1/tr1/istream | 2
   branches/release/boost/tr1/tr1/iterator | 2
   branches/release/boost/tr1/tr1/limits | 2
   branches/release/boost/tr1/tr1/list | 2
   branches/release/boost/tr1/tr1/locale | 2
   branches/release/boost/tr1/tr1/map | 2
   branches/release/boost/tr1/tr1/memory | 2
   branches/release/boost/tr1/tr1/new | 4
   branches/release/boost/tr1/tr1/numeric | 2
   branches/release/boost/tr1/tr1/ostream | 2
   branches/release/boost/tr1/tr1/queue | 2
   branches/release/boost/tr1/tr1/random | 2
   branches/release/boost/tr1/tr1/regex | 2
   branches/release/boost/tr1/tr1/set | 2
   branches/release/boost/tr1/tr1/sstream | 2
   branches/release/boost/tr1/tr1/stack | 2
   branches/release/boost/tr1/tr1/stdexcept | 2
   branches/release/boost/tr1/tr1/streambuf | 2
   branches/release/boost/tr1/tr1/string | 2
   branches/release/boost/tr1/tr1/strstream | 2
   branches/release/boost/tr1/tr1/tuple | 2
   branches/release/boost/tr1/tr1/type_traits | 2
   branches/release/boost/tr1/tr1/typeinfo | 2
   branches/release/boost/tr1/tr1/utility | 18
   branches/release/boost/tr1/tr1/valarray | 2
   branches/release/boost/tr1/tr1/vector | 2
   branches/release/boost/tr1/tuple.hpp | 18
   branches/release/boost/tr1/utility.hpp | 15
   branches/release/boost/type_traits.hpp | 9
   branches/release/boost/type_traits/config.hpp | 4
   branches/release/boost/type_traits/function_traits.hpp | 2
   branches/release/boost/type_traits/has_nothrow_constructor.hpp | 1
   branches/release/boost/type_traits/has_nothrow_copy.hpp | 1
   branches/release/boost/type_traits/has_trivial_constructor.hpp | 1
   branches/release/boost/type_traits/has_trivial_copy.hpp | 1
   branches/release/boost/type_traits/intrinsics.hpp | 16
   branches/release/boost/type_traits/is_abstract.hpp | 7
   branches/release/boost/type_traits/is_base_and_derived.hpp | 16
   branches/release/boost/type_traits/is_class.hpp | 2
   branches/release/boost/type_traits/is_convertible.hpp | 4
   branches/release/boost/type_traits/is_function.hpp | 7
   branches/release/boost/type_traits/is_integral.hpp | 2
   branches/release/boost/type_traits/is_member_function_pointer.hpp | 10
   branches/release/boost/type_traits/is_member_pointer.hpp | 6
   branches/release/boost/type_traits/is_pointer.hpp | 17
   branches/release/boost/type_traits/is_signed.hpp | 4
   branches/release/boost/type_traits/is_unsigned.hpp | 4
   branches/release/boost/typeof/encode_decode.hpp | 18
   branches/release/boost/typeof/int_encoding.hpp | 42
   branches/release/boost/typeof/modifiers.hpp | 31
   branches/release/boost/typeof/msvc/typeof_impl.hpp | 132 ++
   branches/release/boost/typeof/pointers_data_members.hpp | 7
   branches/release/boost/typeof/register_functions_iterate.hpp | 12
   branches/release/boost/typeof/std/string.hpp | 4
   branches/release/boost/typeof/template_encoding.hpp | 14
   branches/release/boost/typeof/template_template_param.hpp | 34
   branches/release/boost/typeof/typeof.hpp | 45 +
   branches/release/boost/typeof/typeof_impl.hpp | 62 +
   branches/release/boost/typeof/vector.hpp | 19
   branches/release/boost/typeof/vector100.hpp | 204 ++--
   branches/release/boost/typeof/vector150.hpp | 302 +++---
   branches/release/boost/typeof/vector200.hpp | 402 +++++-----
   branches/release/boost/typeof/vector50.hpp | 104 +-
   branches/release/boost/utility/detail/in_place_factory_prefix.hpp | 19
   branches/release/boost/utility/detail/in_place_factory_suffix.hpp | 8
   branches/release/boost/utility/detail/result_of_iterate.hpp | 31
   branches/release/boost/utility/in_place_factory.hpp | 96 +
   branches/release/boost/utility/result_of.hpp | 44
   branches/release/boost/utility/typed_in_place_factory.hpp | 84 +
   branches/release/boost/utility/value_init.hpp | 106 +
   branches/release/boost/variant.hpp | 2
   branches/release/boost/variant/variant.hpp | 6
   branches/release/boost/wave.hpp | 2
   branches/release/boost/wave/cpp_context.hpp | 145 ++-
   branches/release/boost/wave/cpp_iteration_context.hpp | 38
   branches/release/boost/wave/cpp_throw.hpp | 45
   branches/release/boost/wave/cpplexer/cpp_lex_interface.hpp | 45 -
   branches/release/boost/wave/cpplexer/cpp_lex_iterator.hpp | 6
   branches/release/boost/wave/cpplexer/cpp_lex_token.hpp | 10
   branches/release/boost/wave/cpplexer/cpplexer_exceptions.hpp | 46 +
   branches/release/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp | 36
   branches/release/boost/wave/cpplexer/re2clex/scanner.hpp | 3
   branches/release/boost/wave/grammars/cpp_chlit_grammar.hpp | 3
   branches/release/boost/wave/grammars/cpp_expression_grammar.hpp | 6
   branches/release/boost/wave/grammars/cpp_expression_value.hpp | 74
   branches/release/boost/wave/grammars/cpp_intlit_grammar.hpp | 13
   branches/release/boost/wave/grammars/cpp_literal_grammar_gen.hpp | 2
   branches/release/boost/wave/language_support.hpp | 11
   branches/release/boost/wave/preprocessing_hooks.hpp | 375 ++++++++
   branches/release/boost/wave/token_ids.hpp | 5
   branches/release/boost/wave/util/cpp_include_paths.hpp | 29
   branches/release/boost/wave/util/cpp_iterator.hpp | 591 +++++++++-----
   branches/release/boost/wave/util/cpp_macromap.hpp | 293 +++++--
   branches/release/boost/wave/util/cpp_macromap_predef.hpp | 356 ++++----
   branches/release/boost/wave/util/cpp_macromap_utils.hpp | 26
   branches/release/boost/wave/util/file_position.hpp | 7
   branches/release/boost/wave/util/flex_string.hpp | 592 +++++++++------
   branches/release/boost/wave/util/insert_whitespace_detection.hpp | 15
   branches/release/boost/wave/util/interpret_pragma.hpp | 20
   branches/release/boost/wave/util/iteration_context.hpp | 11
   branches/release/boost/wave/util/macro_definition.hpp | 19
   branches/release/boost/wave/util/symbol_table.hpp | 41 +
   branches/release/boost/wave/wave_config.hpp | 96 ++
   branches/release/boost/wave/wave_config_constant.hpp | 10
   branches/release/boost/wave/wave_version.hpp | 6
   branches/release/boost/weak_ptr.hpp | 6
   branches/release/boost/xpressive/basic_regex.hpp | 221 +++--
   branches/release/boost/xpressive/detail/core/access.hpp | 25
   branches/release/boost/xpressive/detail/core/action.hpp | 59 -
   branches/release/boost/xpressive/detail/core/adaptor.hpp | 33
   branches/release/boost/xpressive/detail/core/finder.hpp | 12
   branches/release/boost/xpressive/detail/core/flow_control.hpp | 25
   branches/release/boost/xpressive/detail/core/icase.hpp | 11
   branches/release/boost/xpressive/detail/core/linker.hpp | 106 +-
   branches/release/boost/xpressive/detail/core/matcher/action_matcher.hpp | 454 +++++++++++
   branches/release/boost/xpressive/detail/core/matcher/alternate_end_matcher.hpp | 6
   branches/release/boost/xpressive/detail/core/matcher/alternate_matcher.hpp | 125 --
   branches/release/boost/xpressive/detail/core/matcher/any_matcher.hpp | 7
   branches/release/boost/xpressive/detail/core/matcher/assert_bol_matcher.hpp | 4
   branches/release/boost/xpressive/detail/core/matcher/assert_bos_matcher.hpp | 7
   branches/release/boost/xpressive/detail/core/matcher/assert_eol_matcher.hpp | 4
   branches/release/boost/xpressive/detail/core/matcher/assert_eos_matcher.hpp | 7
   branches/release/boost/xpressive/detail/core/matcher/assert_line_base.hpp | 4
   branches/release/boost/xpressive/detail/core/matcher/assert_word_matcher.hpp | 23
   branches/release/boost/xpressive/detail/core/matcher/charset_matcher.hpp | 9
   branches/release/boost/xpressive/detail/core/matcher/end_matcher.hpp | 23
   branches/release/boost/xpressive/detail/core/matcher/epsilon_matcher.hpp | 38
   branches/release/boost/xpressive/detail/core/matcher/keeper_matcher.hpp | 35
   branches/release/boost/xpressive/detail/core/matcher/literal_matcher.hpp | 12
   branches/release/boost/xpressive/detail/core/matcher/logical_newline_matcher.hpp | 9
   branches/release/boost/xpressive/detail/core/matcher/lookahead_matcher.hpp | 51
   branches/release/boost/xpressive/detail/core/matcher/lookbehind_matcher.hpp | 67 -
   branches/release/boost/xpressive/detail/core/matcher/mark_begin_matcher.hpp | 6
   branches/release/boost/xpressive/detail/core/matcher/mark_end_matcher.hpp | 6
   branches/release/boost/xpressive/detail/core/matcher/mark_matcher.hpp | 20
   branches/release/boost/xpressive/detail/core/matcher/posix_charset_matcher.hpp | 9
   branches/release/boost/xpressive/detail/core/matcher/range_matcher.hpp | 9
   branches/release/boost/xpressive/detail/core/matcher/regex_byref_matcher.hpp | 26
   branches/release/boost/xpressive/detail/core/matcher/regex_matcher.hpp | 8
   branches/release/boost/xpressive/detail/core/matcher/repeat_begin_matcher.hpp | 6
   branches/release/boost/xpressive/detail/core/matcher/repeat_end_matcher.hpp | 12
   branches/release/boost/xpressive/detail/core/matcher/set_matcher.hpp | 59 -
   branches/release/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp | 36
   branches/release/boost/xpressive/detail/core/matcher/string_matcher.hpp | 29
   branches/release/boost/xpressive/detail/core/matcher/true_matcher.hpp | 4
   branches/release/boost/xpressive/detail/core/matchers.hpp | 7
   branches/release/boost/xpressive/detail/core/optimize.hpp | 103 +-
   branches/release/boost/xpressive/detail/core/peeker.hpp | 145 ++
   branches/release/boost/xpressive/detail/core/quant_style.hpp | 112 +-
   branches/release/boost/xpressive/detail/core/regex_impl.hpp | 122 ++
   branches/release/boost/xpressive/detail/core/results_cache.hpp | 2
   branches/release/boost/xpressive/detail/core/state.hpp | 93 +
   branches/release/boost/xpressive/detail/core/sub_match_impl.hpp | 6
   branches/release/boost/xpressive/detail/core/sub_match_vector.hpp | 4
   branches/release/boost/xpressive/detail/detail_fwd.hpp | 186 +++-
   branches/release/boost/xpressive/detail/dynamic/dynamic.hpp | 441 ++++-------
   branches/release/boost/xpressive/detail/dynamic/matchable.hpp | 173 ++-
   branches/release/boost/xpressive/detail/dynamic/parse_charset.hpp | 13
   branches/release/boost/xpressive/detail/dynamic/parser.hpp | 62
   branches/release/boost/xpressive/detail/dynamic/parser_enum.hpp | 7
   branches/release/boost/xpressive/detail/dynamic/parser_traits.hpp | 101 ++
   branches/release/boost/xpressive/detail/static/compile.hpp | 62
   branches/release/boost/xpressive/detail/static/is_pure.hpp | 319 +++----
   branches/release/boost/xpressive/detail/static/modifier.hpp | 21
   branches/release/boost/xpressive/detail/static/placeholders.hpp | 103 -
   branches/release/boost/xpressive/detail/static/static.hpp | 125 +--
   branches/release/boost/xpressive/detail/static/type_traits.hpp | 35
   branches/release/boost/xpressive/detail/static/width_of.hpp | 372 ++++-----
   branches/release/boost/xpressive/detail/utility/algorithm.hpp | 74 +
   branches/release/boost/xpressive/detail/utility/any.hpp | 9
   branches/release/boost/xpressive/detail/utility/boyer_moore.hpp | 7
   branches/release/boost/xpressive/detail/utility/chset/basic_chset.hpp | 24
   branches/release/boost/xpressive/detail/utility/chset/basic_chset.ipp | 2
   branches/release/boost/xpressive/detail/utility/chset/chset.hpp | 5
   branches/release/boost/xpressive/detail/utility/chset/range_run.ipp | 6
   branches/release/boost/xpressive/detail/utility/cons.hpp | 11
   branches/release/boost/xpressive/detail/utility/dont_care.hpp | 2
   branches/release/boost/xpressive/detail/utility/hash_peek_bitset.hpp | 4
   branches/release/boost/xpressive/detail/utility/ignore_unused.hpp | 5
   branches/release/boost/xpressive/detail/utility/literals.hpp | 24
   branches/release/boost/xpressive/detail/utility/never_true.hpp | 2
   branches/release/boost/xpressive/detail/utility/save_restore.hpp | 2
   branches/release/boost/xpressive/detail/utility/sequence_stack.hpp | 10
   branches/release/boost/xpressive/detail/utility/tracking_ptr.hpp | 280 +++---
   branches/release/boost/xpressive/detail/utility/traits_utils.hpp | 85 +
   branches/release/boost/xpressive/match_results.hpp | 804 ++++++++++++++++++--
   branches/release/boost/xpressive/proto/operators.hpp | 489 +++++++++--
   branches/release/boost/xpressive/proto/proto.hpp | 46
   branches/release/boost/xpressive/proto/proto_fwd.hpp | 709 ++++++++++++++----
   branches/release/boost/xpressive/proto/proto_typeof.hpp | 172 +++-
   branches/release/boost/xpressive/regex_algorithms.hpp | 181 +++-
   branches/release/boost/xpressive/regex_compiler.hpp | 377 +++++++--
   branches/release/boost/xpressive/regex_constants.hpp | 48
   branches/release/boost/xpressive/regex_error.hpp | 9
   branches/release/boost/xpressive/regex_iterator.hpp | 54
   branches/release/boost/xpressive/regex_primitives.hpp | 483 ++++++------
   branches/release/boost/xpressive/regex_token_iterator.hpp | 136 ++-
   branches/release/boost/xpressive/regex_traits.hpp | 29
   branches/release/boost/xpressive/sub_match.hpp | 89 +
   branches/release/boost/xpressive/traits/c_regex_traits.hpp | 64 +
   branches/release/boost/xpressive/traits/cpp_regex_traits.hpp | 72 +
   branches/release/boost/xpressive/traits/detail/c_ctype.hpp | 4
   branches/release/boost/xpressive/traits/null_regex_traits.hpp | 32
   branches/release/boost/xpressive/xpressive.hpp | 2
   branches/release/boost/xpressive/xpressive_dynamic.hpp | 2
   branches/release/boost/xpressive/xpressive_fwd.hpp | 58 +
   branches/release/boost/xpressive/xpressive_static.hpp | 2
   branches/release/boost/xpressive/xpressive_typeof.hpp | 61 +
   885 files changed, 23934 insertions(+), 18284 deletions(-)

Modified: branches/release/boost/algorithm/minmax.hpp
==============================================================================
--- branches/release/boost/algorithm/minmax.hpp (original)
+++ branches/release/boost/algorithm/minmax.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,7 +1,7 @@
 // (C) Copyright Herve Bronnimann 2004.
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 /*
  Revision history:

Modified: branches/release/boost/algorithm/minmax_element.hpp
==============================================================================
--- branches/release/boost/algorithm/minmax_element.hpp (original)
+++ branches/release/boost/algorithm/minmax_element.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,7 +1,7 @@
 // (C) Copyright Herve Bronnimann 2004.
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 /*
  Revision history:

Modified: branches/release/boost/algorithm/string.hpp
==============================================================================
--- branches/release/boost/algorithm/string.hpp (original)
+++ branches/release/boost/algorithm/string.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library string_algo.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2004.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_ALGO_HPP
 #define BOOST_STRING_ALGO_HPP
@@ -20,7 +21,6 @@
 #include <boost/algorithm/string/predicate.hpp>
 #include <boost/algorithm/string/find.hpp>
 #include <boost/algorithm/string/split.hpp>
-#include <boost/algorithm/string/join.hpp>
 #include <boost/algorithm/string/replace.hpp>
 #include <boost/algorithm/string/erase.hpp>
 #include <boost/algorithm/string/classification.hpp>

Modified: branches/release/boost/algorithm/string/case_conv.hpp
==============================================================================
--- branches/release/boost/algorithm/string/case_conv.hpp (original)
+++ branches/release/boost/algorithm/string/case_conv.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library case_conv.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_CASE_CONV_HPP
 #define BOOST_STRING_CASE_CONV_HPP
@@ -15,6 +16,7 @@
 #include <locale>
 #include <boost/iterator/transform_iterator.hpp>
 
+#include <boost/range/as_literal.hpp>
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/value_type.hpp>
@@ -55,11 +57,10 @@
             const RangeT& Input,
             const std::locale& Loc=std::locale())
         {
- return std::transform(
- begin(Input),
- end(Input),
- Output,
- ::boost::algorithm::detail::to_lowerF<
+ return ::boost::algorithm::detail::transform_range_copy(
+ Output,
+ as_literal(Input),
+ ::boost::algorithm::detail::to_lowerF<
                     typename range_value<RangeT>::type >(Loc));
         }
 
@@ -72,15 +73,10 @@
             const SequenceT& Input,
             const std::locale& Loc=std::locale())
         {
- return SequenceT(
- make_transform_iterator(
- begin(Input),
- ::boost::algorithm::detail::to_lowerF<
- typename range_value<SequenceT>::type >(Loc)),
- make_transform_iterator(
- end(Input),
- ::boost::algorithm::detail::to_lowerF<
- typename range_value<SequenceT>::type >(Loc)));
+ return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
+ Input,
+ ::boost::algorithm::detail::to_lowerF<
+ typename range_value<SequenceT>::type >(Loc));
         }
 
         //! Convert to lower case
@@ -96,10 +92,8 @@
             WritableRangeT& Input,
             const std::locale& Loc=std::locale())
         {
- std::transform(
- begin(Input),
- end(Input),
- begin(Input),
+ ::boost::algorithm::detail::transform_range(
+ as_literal(Input),
                 ::boost::algorithm::detail::to_lowerF<
                     typename range_value<WritableRangeT>::type >(Loc));
         }
@@ -128,11 +122,10 @@
             const RangeT& Input,
             const std::locale& Loc=std::locale())
         {
- return std::transform(
- begin(Input),
- end(Input),
- Output,
- ::boost::algorithm::detail::to_upperF<
+ return ::boost::algorithm::detail::transform_range_copy(
+ Output,
+ as_literal(Input),
+ ::boost::algorithm::detail::to_upperF<
                     typename range_value<RangeT>::type >(Loc));
         }
 
@@ -145,16 +138,10 @@
             const SequenceT& Input,
             const std::locale& Loc=std::locale())
         {
- return SequenceT(
- make_transform_iterator(
- begin(Input),
- ::boost::algorithm::detail::to_upperF<
- typename range_value<SequenceT>::type >(Loc)),
- make_transform_iterator(
- end(Input),
- ::boost::algorithm::detail::to_upperF<
- typename range_value<SequenceT>::type >(Loc)));
-
+ return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
+ Input,
+ ::boost::algorithm::detail::to_upperF<
+ typename range_value<SequenceT>::type >(Loc));
         }
 
         //! Convert to upper case
@@ -170,10 +157,8 @@
             WritableRangeT& Input,
             const std::locale& Loc=std::locale())
         {
- std::transform(
- begin(Input),
- end(Input),
- begin(Input),
+ ::boost::algorithm::detail::transform_range(
+ as_literal(Input),
                 ::boost::algorithm::detail::to_upperF<
                     typename range_value<WritableRangeT>::type >(Loc));
         }

Modified: branches/release/boost/algorithm/string/classification.hpp
==============================================================================
--- branches/release/boost/algorithm/string/classification.hpp (original)
+++ branches/release/boost/algorithm/string/classification.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library classification.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_CLASSIFICATION_HPP
 #define BOOST_STRING_CLASSIFICATION_HPP
@@ -13,9 +14,11 @@
 #include <algorithm>
 #include <locale>
 #include <boost/range/value_type.hpp>
+#include <boost/range/as_literal.hpp>
 #include <boost/algorithm/string/detail/classification.hpp>
 #include <boost/algorithm/string/predicate_facade.hpp>
 
+
 /*! \file
     Classification predicates are included in the library to give
     some more convenience when using algorithms like \c trim() and \c all().
@@ -200,7 +203,7 @@
         is_any_of( const RangeT& Set )
         {
             return detail::is_any_ofF<
- BOOST_STRING_TYPENAME range_value<RangeT>::type>(Set);
+ BOOST_STRING_TYPENAME range_value<RangeT>::type>(as_literal(Set));
         }
 
         //! is_from_range predicate

Modified: branches/release/boost/algorithm/string/compare.hpp
==============================================================================
--- branches/release/boost/algorithm/string/compare.hpp (original)
+++ branches/release/boost/algorithm/string/compare.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library compare.hpp header file -------------------------//
 
-// Copyright Pavol Droba 2002-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2006.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_COMPARE_HPP
 #define BOOST_STRING_COMPARE_HPP

Modified: branches/release/boost/algorithm/string/concept.hpp
==============================================================================
--- branches/release/boost/algorithm/string/concept.hpp (original)
+++ branches/release/boost/algorithm/string/concept.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library concept.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_CONCEPT_HPP
 #define BOOST_STRING_CONCEPT_HPP

Modified: branches/release/boost/algorithm/string/config.hpp
==============================================================================
--- branches/release/boost/algorithm/string/config.hpp (original)
+++ branches/release/boost/algorithm/string/config.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library config.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_CONFIG_HPP
 #define BOOST_STRING_CONFIG_HPP

Modified: branches/release/boost/algorithm/string/constants.hpp
==============================================================================
--- branches/release/boost/algorithm/string/constants.hpp (original)
+++ branches/release/boost/algorithm/string/constants.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library constants.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_CONSTANTS_HPP
 #define BOOST_STRING_CONSTANTS_HPP

Modified: branches/release/boost/algorithm/string/detail/case_conv.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/case_conv.hpp (original)
+++ branches/release/boost/algorithm/string/detail/case_conv.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library string_funct.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_CASE_CONV_DETAIL_HPP
 #define BOOST_STRING_CASE_CONV_DETAIL_HPP
@@ -60,6 +61,49 @@
                 const std::locale& m_Loc;
             };
 
+// algorithm implementation -------------------------------------------------------------------------
+
+ // Transform a range
+ template<typename OutputIteratorT, typename RangeT, typename FunctorT>
+ OutputIteratorT transform_range_copy(
+ OutputIteratorT Output,
+ const RangeT& Input,
+ FunctorT Functor)
+ {
+ return std::transform(
+ begin(Input),
+ end(Input),
+ Output,
+ Functor);
+ }
+
+ // Transform a range (in-place)
+ template<typename RangeT, typename FunctorT>
+ void transform_range(
+ const RangeT& Input,
+ FunctorT Functor)
+ {
+ std::transform(
+ begin(Input),
+ end(Input),
+ begin(Input),
+ Functor);
+ }
+
+ template<typename SequenceT, typename RangeT, typename FunctorT>
+ inline SequenceT transform_range_copy(
+ const RangeT& Input,
+ FunctorT Functor)
+ {
+ return SequenceT(
+ make_transform_iterator(
+ begin(Input),
+ Functor),
+ make_transform_iterator(
+ end(Input),
+ Functor));
+ }
+
         } // namespace detail
     } // namespace algorithm
 } // namespace boost

Modified: branches/release/boost/algorithm/string/detail/classification.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/classification.hpp (original)
+++ branches/release/boost/algorithm/string/detail/classification.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library classification.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_CLASSIFICATION_DETAIL_HPP
 #define BOOST_STRING_CLASSIFICATION_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/find_format.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/find_format.hpp (original)
+++ branches/release/boost/algorithm/string/detail/find_format.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library find_format.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FIND_FORMAT_DETAIL_HPP
 #define BOOST_STRING_FIND_FORMAT_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/find_format_all.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/find_format_all.hpp (original)
+++ branches/release/boost/algorithm/string/detail/find_format_all.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library find_format_all.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
 #define BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/find_format_store.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/find_format_store.hpp (original)
+++ branches/release/boost/algorithm/string/detail/find_format_store.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library find_format_store.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
 #define BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/find_iterator.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/find_iterator.hpp (original)
+++ branches/release/boost/algorithm/string/detail/find_iterator.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library find_iterator.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FIND_ITERATOR_DETAIL_HPP
 #define BOOST_STRING_FIND_ITERATOR_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/finder.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/finder.hpp (original)
+++ branches/release/boost/algorithm/string/detail/finder.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library finder.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2006.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FINDER_DETAIL_HPP
 #define BOOST_STRING_FINDER_DETAIL_HPP
@@ -18,6 +19,7 @@
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/empty.hpp>
+#include <boost/range/as_literal.hpp>
 
 namespace boost {
     namespace algorithm {

Modified: branches/release/boost/algorithm/string/detail/finder_regex.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/finder_regex.hpp (original)
+++ branches/release/boost/algorithm/string/detail/finder_regex.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library find_regex.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FINDER_REGEX_DETAIL_HPP
 #define BOOST_STRING_FINDER_REGEX_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/formatter.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/formatter.hpp (original)
+++ branches/release/boost/algorithm/string/detail/formatter.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,9 +1,10 @@
 // Boost string_algo library formatter.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
 // See http://www.boost.org for updates, documentation, and revision history.
 

Modified: branches/release/boost/algorithm/string/detail/formatter_regex.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/formatter_regex.hpp (original)
+++ branches/release/boost/algorithm/string/detail/formatter_regex.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library formatter_regex.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FORMATTER_REGEX_DETAIL_HPP
 #define BOOST_STRING_FORMATTER_REGEX_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/predicate.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/predicate.hpp (original)
+++ branches/release/boost/algorithm/string/detail/predicate.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library predicate.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_PREDICATE_DETAIL_HPP
 #define BOOST_STRING_PREDICATE_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/replace_storage.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/replace_storage.hpp (original)
+++ branches/release/boost/algorithm/string/detail/replace_storage.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library replace_storage.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
 #define BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/sequence.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/sequence.hpp (original)
+++ branches/release/boost/algorithm/string/detail/sequence.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library sequence.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_DETAIL_SEQUENCE_HPP
 #define BOOST_STRING_DETAIL_SEQUENCE_HPP

Modified: branches/release/boost/algorithm/string/detail/trim.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/trim.hpp (original)
+++ branches/release/boost/algorithm/string/detail/trim.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library trim.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_TRIM_DETAIL_HPP
 #define BOOST_STRING_TRIM_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/detail/util.hpp
==============================================================================
--- branches/release/boost/algorithm/string/detail/util.hpp (original)
+++ branches/release/boost/algorithm/string/detail/util.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library util.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_UTIL_DETAIL_HPP
 #define BOOST_STRING_UTIL_DETAIL_HPP

Modified: branches/release/boost/algorithm/string/erase.hpp
==============================================================================
--- branches/release/boost/algorithm/string/erase.hpp (original)
+++ branches/release/boost/algorithm/string/erase.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library erase.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2006.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_ERASE_HPP
 #define BOOST_STRING_ERASE_HPP

Modified: branches/release/boost/algorithm/string/find.hpp
==============================================================================
--- branches/release/boost/algorithm/string/find.hpp (original)
+++ branches/release/boost/algorithm/string/find.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library find.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FIND_HPP
 #define BOOST_STRING_FIND_HPP
@@ -16,8 +17,7 @@
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/iterator.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/result_iterator.hpp>
+#include <boost/range/as_literal.hpp>
 
 #include <boost/algorithm/string/finder.hpp>
 #include <boost/algorithm/string/compare.hpp>
@@ -48,19 +48,21 @@
         */
         template<typename RangeT, typename FinderT>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
         find(
             RangeT& Input,
- FinderT Finder)
+ const FinderT& Finder)
         {
- return Finder(begin(Input),end(Input));
+ iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(as_literal(Input));
+
+ return Finder(begin(lit_input),end(lit_input));
         }
 
 // find_first -----------------------------------------------//
 
         //! Find first algorithm
         /*!
- Search for the first occurence of the substring in the input.
+ Search for the first occurrence of the substring in the input.
             
             \param Input A string which will be searched.
             \param Search A substring to be searched for.
@@ -74,13 +76,12 @@
         */
         template<typename Range1T, typename Range2T>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<Range1T>::type>
+ BOOST_STRING_TYPENAME range_iterator<Range1T>::type>
         find_first(
             Range1T& Input,
             const Range2T& Search)
         {
- return first_finder(Search)(
- begin(Input),end(Input));
+ return find(Input, first_finder(Search));
         }
 
         //! Find first algorithm ( case insensitive )
@@ -101,21 +102,20 @@
         */
         template<typename Range1T, typename Range2T>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<Range1T>::type>
+ BOOST_STRING_TYPENAME range_iterator<Range1T>::type>
         ifind_first(
             Range1T& Input,
             const Range2T& Search,
             const std::locale& Loc=std::locale())
         {
- return first_finder(Search,is_iequal(Loc))(
- begin(Input),end(Input));
+ return find(Input, first_finder(Search,is_iequal(Loc)));
         }
 
 // find_last -----------------------------------------------//
 
         //! Find last algorithm
         /*!
- Search for the last occurence of the substring in the input.
+ Search for the last occurrence of the substring in the input.
             
             \param Input A string which will be searched.
             \param Search A substring to be searched for.
@@ -129,13 +129,12 @@
         */
         template<typename Range1T, typename Range2T>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<Range1T>::type>
+ BOOST_STRING_TYPENAME range_iterator<Range1T>::type>
         find_last(
             Range1T& Input,
             const Range2T& Search)
         {
- return last_finder(Search)(
- begin(Input),end(Input));
+ return find(Input, last_finder(Search));
         }
 
         //! Find last algorithm ( case insensitive )
@@ -156,21 +155,20 @@
         */
         template<typename Range1T, typename Range2T>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<Range1T>::type>
+ BOOST_STRING_TYPENAME range_iterator<Range1T>::type>
         ifind_last(
             Range1T& Input,
             const Range2T& Search,
             const std::locale& Loc=std::locale())
         {
- return last_finder(Search, is_iequal(Loc))(
- begin(Input),end(Input));
+ return find(Input, last_finder(Search, is_iequal(Loc)));
         }
 
 // find_nth ----------------------------------------------------------------------//
 
         //! Find n-th algorithm
         /*!
- Search for the n-th (zero-indexed) occurence of the substring in the
+ Search for the n-th (zero-indexed) occurrence of the substring in the
             input.
             
             \param Input A string which will be searched.
@@ -185,14 +183,13 @@
         */
         template<typename Range1T, typename Range2T>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<Range1T>::type>
+ BOOST_STRING_TYPENAME range_iterator<Range1T>::type>
         find_nth(
             Range1T& Input,
             const Range2T& Search,
             int Nth)
         {
- return nth_finder(Search,Nth)(
- begin(Input),end(Input));
+ return find(Input, nth_finder(Search,Nth));
         }
 
         //! Find n-th algorithm ( case insensitive ).
@@ -216,15 +213,14 @@
         */
         template<typename Range1T, typename Range2T>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<Range1T>::type>
+ BOOST_STRING_TYPENAME range_iterator<Range1T>::type>
         ifind_nth(
             Range1T& Input,
             const Range2T& Search,
             int Nth,
             const std::locale& Loc=std::locale())
         {
- return nth_finder(Search,Nth,is_iequal(Loc))(
- begin(Input),end(Input));
+ return find(Input, nth_finder(Search,Nth,is_iequal(Loc)));
         }
 
 // find_head ----------------------------------------------------------------------//
@@ -249,13 +245,12 @@
         */
         template<typename RangeT>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
         find_head(
             RangeT& Input,
             int N)
         {
- return head_finder(N)(
- begin(Input),end(Input));
+ return find(Input, head_finder(N));
         }
 
 // find_tail ----------------------------------------------------------------------//
@@ -281,13 +276,12 @@
         */
         template<typename RangeT>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
         find_tail(
             RangeT& Input,
             int N)
         {
- return tail_finder(N)(
- begin(Input),end(Input));
+ return find(Input, tail_finder(N));
         }
 
 // find_token --------------------------------------------------------------------//
@@ -311,14 +305,13 @@
         */
         template<typename RangeT, typename PredicateT>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
         find_token(
             RangeT& Input,
             PredicateT Pred,
             token_compress_mode_type eCompress=token_compress_off)
         {
- return token_finder(Pred, eCompress)(
- begin(Input),end(Input));
+ return find(Input, token_finder(Pred, eCompress));
         }
 
     } // namespace algorithm

Modified: branches/release/boost/algorithm/string/find_format.hpp
==============================================================================
--- branches/release/boost/algorithm/string/find_format.hpp (original)
+++ branches/release/boost/algorithm/string/find_format.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library find_format.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FIND_FORMAT_HPP
 #define BOOST_STRING_FIND_FORMAT_HPP
@@ -16,6 +17,7 @@
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/const_iterator.hpp>
+#include <boost/range/as_literal.hpp>
 
 #include <boost/algorithm/string/concept.hpp>
 #include <boost/algorithm/string/detail/find_format.hpp>
@@ -68,11 +70,13 @@
                     FormatterT,
                     FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();
 
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(as_literal(Input));
+
             return detail::find_format_copy_impl(
                 Output,
- Input,
+ lit_input,
                 Formatter,
- Finder( begin(Input), end(Input) ) );
+ Finder( begin(lit_input), end(lit_input) ) );
         }
 
         //! Generic replace algorithm
@@ -176,12 +180,14 @@
                     FormatterT,
                     FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();
 
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(as_literal(Input));
+
             return detail::find_format_all_copy_impl(
                 Output,
- Input,
+ lit_input,
                 Finder,
                 Formatter,
- Finder(begin(Input), end(Input)));
+ Finder(begin(lit_input), end(lit_input)));
         }
 
         //! Generic replace all algorithm

Modified: branches/release/boost/algorithm/string/find_iterator.hpp
==============================================================================
--- branches/release/boost/algorithm/string/find_iterator.hpp (original)
+++ branches/release/boost/algorithm/string/find_iterator.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,10 +1,12 @@
 // Boost string_algo library find_iterator.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org for updates, documentation, and revision history.
+// Copyright Pavol Droba 2002-2004.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FIND_ITERATOR_HPP
 #define BOOST_STRING_FIND_ITERATOR_HPP
@@ -16,7 +18,8 @@
 #include <boost/range/iterator_range.hpp>
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
-#include <boost/range/result_iterator.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/as_literal.hpp>
 
 #include <boost/algorithm/string/detail/find_iterator.hpp>
 
@@ -114,10 +117,12 @@
             find_iterator(
                     RangeT& Col,
                     FinderT Finder ) :
- detail::find_iterator_base<IteratorT>(Finder,0),
- m_Match(begin(Col),begin(Col)),
- m_End(end(Col))
+ detail::find_iterator_base<IteratorT>(Finder,0)
             {
+ iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_col(as_literal(Col));
+ m_Match=make_iterator_range(begin(lit_col), begin(lit_col));
+ m_End=end(lit_col);
+
                 increment();
             }
 
@@ -180,13 +185,13 @@
          */
         template<typename RangeT, typename FinderT>
         inline find_iterator<
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
         make_find_iterator(
             RangeT& Collection,
             FinderT Finder)
         {
- return find_iterator<BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>(
- begin(Collection), end(Collection), Finder);
+ return find_iterator<BOOST_STRING_TYPENAME range_iterator<RangeT>::type>(
+ Collection, Finder);
         }
 
 // split iterator -----------------------------------------------//
@@ -278,11 +283,13 @@
                     RangeT& Col,
                     FinderT Finder ) :
                 detail::find_iterator_base<IteratorT>(Finder,0),
- m_Match(begin(Col),begin(Col)),
- m_Next(begin(Col)),
- m_End(end(Col)),
                 m_bEof(false)
             {
+ iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_col(as_literal(Col));
+ m_Match=make_iterator_range(begin(lit_col), begin(lit_col));
+ m_Next=begin(lit_col);
+ m_End=end(lit_col);
+
                 increment();
             }
 
@@ -356,13 +363,13 @@
          */
         template<typename RangeT, typename FinderT>
         inline split_iterator<
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
         make_split_iterator(
             RangeT& Collection,
             FinderT Finder)
         {
- return split_iterator<BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type>(
- begin(Collection), end(Collection), Finder);
+ return split_iterator<BOOST_STRING_TYPENAME range_iterator<RangeT>::type>(
+ Collection, Finder);
         }
 
 

Modified: branches/release/boost/algorithm/string/finder.hpp
==============================================================================
--- branches/release/boost/algorithm/string/finder.hpp (original)
+++ branches/release/boost/algorithm/string/finder.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library finder.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2006.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FINDER_HPP
 #define BOOST_STRING_FINDER_HPP
@@ -45,35 +46,35 @@
             \param Comp An element comparison predicate
             \return An instance of the \c first_finder object
         */
- template<typename ContainerT>
+ template<typename RangeT>
         inline detail::first_finderF<
- BOOST_STRING_TYPENAME range_const_iterator<ContainerT>::type,
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             is_equal>
- first_finder( const ContainerT& Search )
+ first_finder( const RangeT& Search )
         {
             return
                 detail::first_finderF<
                     BOOST_STRING_TYPENAME
- range_const_iterator<ContainerT>::type,
- is_equal>( Search, is_equal() ) ;
+ range_const_iterator<RangeT>::type,
+ is_equal>( as_literal(Search), is_equal() ) ;
         }
 
         //! "First" finder
         /*!
             \overload
         */
- template<typename ContainerT,typename PredicateT>
+ template<typename RangeT,typename PredicateT>
         inline detail::first_finderF<
- BOOST_STRING_TYPENAME range_const_iterator<ContainerT>::type,
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             PredicateT>
         first_finder(
- const ContainerT& Search, PredicateT Comp )
+ const RangeT& Search, PredicateT Comp )
         {
             return
                 detail::first_finderF<
                     BOOST_STRING_TYPENAME
- range_const_iterator<ContainerT>::type,
- PredicateT>( Search, Comp );
+ range_const_iterator<RangeT>::type,
+ PredicateT>( as_literal(Search), Comp );
         }
 
         //! "Last" finder
@@ -86,33 +87,33 @@
             \param Comp An element comparison predicate
             \return An instance of the \c last_finder object
         */
- template<typename ContainerT>
+ template<typename RangeT>
         inline detail::last_finderF<
- BOOST_STRING_TYPENAME range_const_iterator<ContainerT>::type,
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             is_equal>
- last_finder( const ContainerT& Search )
+ last_finder( const RangeT& Search )
         {
             return
                 detail::last_finderF<
                     BOOST_STRING_TYPENAME
- range_const_iterator<ContainerT>::type,
- is_equal>( Search, is_equal() );
+ range_const_iterator<RangeT>::type,
+ is_equal>( as_literal(Search), is_equal() );
         }
         //! "Last" finder
         /*!
             \overload
         */
- template<typename ContainerT, typename PredicateT>
+ template<typename RangeT, typename PredicateT>
         inline detail::last_finderF<
- BOOST_STRING_TYPENAME range_const_iterator<ContainerT>::type,
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             PredicateT>
- last_finder( const ContainerT& Search, PredicateT Comp )
+ last_finder( const RangeT& Search, PredicateT Comp )
         {
             return
                 detail::last_finderF<
                     BOOST_STRING_TYPENAME
- range_const_iterator<ContainerT>::type,
- PredicateT>( Search, Comp ) ;
+ range_const_iterator<RangeT>::type,
+ PredicateT>( as_literal(Search), Comp ) ;
         }
 
         //! "Nth" finder
@@ -126,38 +127,38 @@
             \param Comp An element comparison predicate
             \return An instance of the \c nth_finder object
         */
- template<typename ContainerT>
+ template<typename RangeT>
         inline detail::nth_finderF<
- BOOST_STRING_TYPENAME range_const_iterator<ContainerT>::type,
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             is_equal>
         nth_finder(
- const ContainerT& Search,
+ const RangeT& Search,
             int Nth)
         {
             return
                 detail::nth_finderF<
                     BOOST_STRING_TYPENAME
- range_const_iterator<ContainerT>::type,
- is_equal>( Search, Nth, is_equal() ) ;
+ range_const_iterator<RangeT>::type,
+ is_equal>( as_literal(Search), Nth, is_equal() ) ;
         }
         //! "Nth" finder
         /*!
             \overload
         */
- template<typename ContainerT, typename PredicateT>
+ template<typename RangeT, typename PredicateT>
         inline detail::nth_finderF<
- BOOST_STRING_TYPENAME range_const_iterator<ContainerT>::type,
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             PredicateT>
         nth_finder(
- const ContainerT& Search,
+ const RangeT& Search,
             int Nth,
             PredicateT Comp )
         {
             return
                 detail::nth_finderF<
                     BOOST_STRING_TYPENAME
- range_const_iterator<ContainerT>::type,
- PredicateT>( Search, Nth, Comp );
+ range_const_iterator<RangeT>::type,
+ PredicateT>( as_literal(Search), Nth, Comp );
         }
 
         //! "Head" finder

Modified: branches/release/boost/algorithm/string/formatter.hpp
==============================================================================
--- branches/release/boost/algorithm/string/formatter.hpp (original)
+++ branches/release/boost/algorithm/string/formatter.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library formatter.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_FORMATTER_HPP
 #define BOOST_STRING_FORMATTER_HPP
@@ -13,6 +14,7 @@
 #include <boost/detail/iterator.hpp>
 #include <boost/range/value_type.hpp>
 #include <boost/range/iterator_range.hpp>
+#include <boost/range/as_literal.hpp>
 
 #include <boost/algorithm/string/detail/formatter.hpp>
 
@@ -41,10 +43,14 @@
             \return An instance of the \c const_formatter object.
         */
         template<typename RangeT>
- inline detail::const_formatF<RangeT>
+ inline detail::const_formatF<
+ iterator_range<
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
         const_formatter(const RangeT& Format)
         {
- return detail::const_formatF<RangeT>(Format);
+ return detail::const_formatF<
+ iterator_range<
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(as_literal(Format));
         }
 
         //! Identity formatter
@@ -55,10 +61,14 @@
             \return An instance of the \c identity_formatter object.
         */
         template<typename RangeT>
- inline detail::identity_formatF<RangeT>
+ inline detail::identity_formatF<
+ iterator_range<
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
         identity_formatter()
         {
- return detail::identity_formatF<RangeT>();
+ return detail::identity_formatF<
+ iterator_range<
+ BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();
         }
 
         //! Empty formatter

Modified: branches/release/boost/algorithm/string/iter_find.hpp
==============================================================================
--- branches/release/boost/algorithm/string/iter_find.hpp (original)
+++ branches/release/boost/algorithm/string/iter_find.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library iter_find.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_ITER_FIND_HPP
 #define BOOST_STRING_ITER_FIND_HPP
@@ -18,8 +19,9 @@
 #include <boost/range/iterator_range.hpp>
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
-#include <boost/range/result_iterator.hpp>
+#include <boost/range/iterator.hpp>
 #include <boost/range/value_type.hpp>
+#include <boost/range/as_literal.hpp>
 
 #include <boost/algorithm/string/concept.hpp>
 #include <boost/algorithm/string/find_iterator.hpp>
@@ -74,24 +76,26 @@
         {
             function_requires<
                 FinderConcept<FinderT,
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type> >();
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type> >();
+
+ iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(as_literal(Input));
 
             typedef BOOST_STRING_TYPENAME
- range_result_iterator<RangeT>::type input_iterator_type;
+ range_iterator<RangeT>::type input_iterator_type;
             typedef find_iterator<input_iterator_type> find_iterator_type;
             typedef detail::copy_iterator_rangeF<
                 BOOST_STRING_TYPENAME
                     range_value<SequenceSequenceT>::type,
                 input_iterator_type> copy_range_type;
             
- input_iterator_type InputEnd=end(Input);
+ input_iterator_type InputEnd=end(lit_input);
 
             typedef transform_iterator<copy_range_type, find_iterator_type>
                 transform_iter_type;
     
             transform_iter_type itBegin=
                 make_transform_iterator(
- find_iterator_type( begin(Input), InputEnd, Finder ),
+ find_iterator_type( begin(lit_input), InputEnd, Finder ),
                     copy_range_type());
             
             transform_iter_type itEnd=
@@ -141,24 +145,26 @@
         {
             function_requires<
                 FinderConcept<FinderT,
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type> >();
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type> >();
+
+ iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(as_literal(Input));
 
             typedef BOOST_STRING_TYPENAME
- range_result_iterator<RangeT>::type input_iterator_type;
+ range_iterator<RangeT>::type input_iterator_type;
             typedef split_iterator<input_iterator_type> find_iterator_type;
             typedef detail::copy_iterator_rangeF<
                 BOOST_STRING_TYPENAME
                     range_value<SequenceSequenceT>::type,
                 input_iterator_type> copy_range_type;
             
- input_iterator_type InputEnd=end(Input);
+ input_iterator_type InputEnd=end(lit_input);
 
             typedef transform_iterator<copy_range_type, find_iterator_type>
                 transform_iter_type;
     
             transform_iter_type itBegin=
                 make_transform_iterator(
- find_iterator_type( begin(Input), InputEnd, Finder ),
+ find_iterator_type( begin(lit_input), InputEnd, Finder ),
                     copy_range_type() );
 
             transform_iter_type itEnd=

Modified: branches/release/boost/algorithm/string/join.hpp
==============================================================================
--- branches/release/boost/algorithm/string/join.hpp (original)
+++ branches/release/boost/algorithm/string/join.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library join.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2006.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_JOIN_HPP
 #define BOOST_STRING_JOIN_HPP
@@ -13,7 +14,7 @@
 #include <boost/algorithm/string/config.hpp>
 #include <boost/algorithm/string/detail/sequence.hpp>
 #include <boost/range/value_type.hpp>
-
+#include <boost/range/as_literal.hpp>
 
 /*! \file
     Defines join algorithm.
@@ -44,7 +45,7 @@
         inline typename range_value<SequenceSequenceT>::type
         join(
             const SequenceSequenceT& Input,
- Range1T& Separator)
+ const Range1T& Separator)
         {
             // Define working types
             typedef typename range_value<SequenceSequenceT>::type ResultT;
@@ -67,7 +68,7 @@
             for(;itBegin!=itEnd; ++itBegin)
             {
                 // Add separator
- detail::insert(Result, end(Result), Separator);
+ detail::insert(Result, end(Result), as_literal(Separator));
                 // Add element
                 detail::insert(Result, end(Result), *itBegin);
             }
@@ -94,7 +95,7 @@
         inline typename range_value<SequenceSequenceT>::type
         join_if(
             const SequenceSequenceT& Input,
- Range1T& Separator,
+ const Range1T& Separator,
             PredicateT Pred)
         {
             // Define working types
@@ -122,7 +123,7 @@
                 if(Pred(*itBegin))
                 {
                     // Add separator
- detail::insert(Result, end(Result), Separator);
+ detail::insert(Result, end(Result), as_literal(Separator));
                     // Add element
                     detail::insert(Result, end(Result), *itBegin);
                 }

Modified: branches/release/boost/algorithm/string/predicate.hpp
==============================================================================
--- branches/release/boost/algorithm/string/predicate.hpp (original)
+++ branches/release/boost/algorithm/string/predicate.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library predicate.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_PREDICATE_HPP
 #define BOOST_STRING_PREDICATE_HPP
@@ -15,6 +16,8 @@
 #include <boost/range/end.hpp>
 #include <boost/range/iterator.hpp>
 #include <boost/range/const_iterator.hpp>
+#include <boost/range/as_literal.hpp>
+#include <boost/range/iterator_range.hpp>
 
 #include <boost/algorithm/string/compare.hpp>
 #include <boost/algorithm/string/find.hpp>
@@ -56,16 +59,19 @@
             const Range2T& Test,
             PredicateT Comp)
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range1T>::type> lit_input(as_literal(Input));
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range2T>::type> lit_test(as_literal(Test));
+
             typedef BOOST_STRING_TYPENAME
                 range_const_iterator<Range1T>::type Iterator1T;
             typedef BOOST_STRING_TYPENAME
                 range_const_iterator<Range2T>::type Iterator2T;
 
- Iterator1T InputEnd=end(Input);
- Iterator2T TestEnd=end(Test);
+ Iterator1T InputEnd=end(lit_input);
+ Iterator2T TestEnd=end(lit_test);
 
- Iterator1T it=begin(Input);
- Iterator2T pit=begin(Test);
+ Iterator1T it=begin(lit_input);
+ Iterator2T pit=begin(lit_test);
             for(;
                 it!=InputEnd && pit!=TestEnd;
                 ++it,++pit)
@@ -135,6 +141,9 @@
             const Range2T& Test,
             PredicateT Comp)
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range1T>::type> lit_input(as_literal(Input));
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range2T>::type> lit_test(as_literal(Test));
+
             typedef BOOST_STRING_TYPENAME
                 range_const_iterator<Range1T>::type Iterator1T;
             typedef BOOST_STRING_TYPENAME boost::detail::
@@ -142,10 +151,10 @@
 
             return detail::
                 ends_with_iter_select(
- begin(Input),
- end(Input),
- begin(Test),
- end(Test),
+ begin(lit_input),
+ end(lit_input),
+ begin(lit_test),
+ end(lit_test),
                     Comp,
                     category());
         }
@@ -206,14 +215,17 @@
             const Range2T& Test,
             PredicateT Comp)
         {
- if (empty(Test))
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range1T>::type> lit_input(as_literal(Input));
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range2T>::type> lit_test(as_literal(Test));
+
+ if (empty(lit_test))
             {
                 // Empty range is contained always
                 return true;
             }
             
             // Use the temporary variable to make VACPP happy
- bool bResult=(first_finder(Test,Comp)(begin(Input), end(Input)));
+ bool bResult=(first_finder(lit_test,Comp)(begin(lit_input), end(lit_input)));
             return bResult;
         }
 
@@ -274,16 +286,19 @@
             const Range2T& Test,
             PredicateT Comp)
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range1T>::type> lit_input(as_literal(Input));
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range2T>::type> lit_test(as_literal(Test));
+
             typedef BOOST_STRING_TYPENAME
                 range_const_iterator<Range1T>::type Iterator1T;
             typedef BOOST_STRING_TYPENAME
                 range_const_iterator<Range2T>::type Iterator2T;
                 
- Iterator1T InputEnd=end(Input);
- Iterator2T TestEnd=end(Test);
+ Iterator1T InputEnd=end(lit_input);
+ Iterator2T TestEnd=end(lit_test);
 
- Iterator1T it=begin(Input);
- Iterator2T pit=begin(Test);
+ Iterator1T it=begin(lit_input);
+ Iterator2T pit=begin(lit_test);
             for(;
                 it!=InputEnd && pit!=TestEnd;
                 ++it,++pit)
@@ -357,11 +372,14 @@
             const Range2T& Arg2,
             PredicateT Pred)
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range1T>::type> lit_arg1(as_literal(Arg1));
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<Range2T>::type> lit_arg2(as_literal(Arg2));
+
             return std::lexicographical_compare(
- begin(Arg1),
- end(Arg1),
- begin(Arg2),
- end(Arg2),
+ begin(lit_arg1),
+ end(lit_arg1),
+ begin(lit_arg2),
+ end(lit_arg2),
                 Pred);
         }
 
@@ -374,12 +392,7 @@
             const Range1T& Arg1,
             const Range2T& Arg2)
         {
- return std::lexicographical_compare(
- begin(Arg1),
- end(Arg1),
- begin(Arg2),
- end(Arg2),
- is_less());
+ return lexicographical_compare(Arg1, Arg2, is_less());
         }
 
         //! Lexicographical compare predicate (case-insensitive)
@@ -393,6 +406,7 @@
 
              \param Arg1 First argument
              \param Arg2 Second argument
+ \param Loc A locale used for case insensitive comparison
              \return The result of the test
 
              \note This function provides the strong exception-safety guarantee
@@ -400,14 +414,10 @@
         template<typename Range1T, typename Range2T>
         inline bool ilexicographical_compare(
             const Range1T& Arg1,
- const Range2T& Arg2)
+ const Range2T& Arg2,
+ const std::locale& Loc=std::locale())
         {
- return std::lexicographical_compare(
- begin(Arg1),
- end(Arg1),
- begin(Arg2),
- end(Arg2),
- is_iless());
+ return lexicographical_compare(Arg1, Arg2, is_iless(Loc));
         }
         
 
@@ -429,11 +439,13 @@
             const RangeT& Input,
             PredicateT Pred)
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(as_literal(Input));
+
             typedef BOOST_STRING_TYPENAME
                 range_const_iterator<RangeT>::type Iterator1T;
 
- Iterator1T InputEnd=end(Input);
- for( Iterator1T It=begin(Input); It!=InputEnd; ++It)
+ Iterator1T InputEnd=end(lit_input);
+ for( Iterator1T It=begin(lit_input); It!=InputEnd; ++It)
             {
                 if (!Pred(*It))
                     return false;

Modified: branches/release/boost/algorithm/string/predicate_facade.hpp
==============================================================================
--- branches/release/boost/algorithm/string/predicate_facade.hpp (original)
+++ branches/release/boost/algorithm/string/predicate_facade.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library predicate_facade.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_PREDICATE_FACADE_HPP
 #define BOOST_STRING_PREDICATE_FACADE_HPP

Modified: branches/release/boost/algorithm/string/regex.hpp
==============================================================================
--- branches/release/boost/algorithm/string/regex.hpp (original)
+++ branches/release/boost/algorithm/string/regex.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library regex.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_REGEX_HPP
 #define BOOST_STRING_REGEX_HPP
@@ -16,7 +17,8 @@
 #include <boost/range/iterator_range.hpp>
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
-#include <boost/range/result_iterator.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/as_literal.hpp>
 
 #include <boost/algorithm/string/find_format.hpp>
 #include <boost/algorithm/string/regex_find_format.hpp>
@@ -52,14 +54,16 @@
             typename CharT,
             typename RegexTraitsT>
         inline iterator_range<
- BOOST_STRING_TYPENAME range_result_iterator<RangeT>::type >
+ BOOST_STRING_TYPENAME range_iterator<RangeT>::type >
         find_regex(
             RangeT& Input,
             const basic_regex<CharT, RegexTraitsT>& Rx,
             match_flag_type Flags=match_default )
         {
+ iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(as_literal(Input));
+
             return regex_finder(Rx,Flags)(
- begin(Input), end(Input) );
+ begin(lit_input), end(lit_input) );
         }
 
 // replace_regex --------------------------------------------------------------------//
@@ -502,7 +506,7 @@
         inline typename range_value<SequenceSequenceT>::type
         join_if(
             const SequenceSequenceT& Input,
- Range1T& Separator,
+ const Range1T& Separator,
             const basic_regex<CharT, RegexTraitsT>& Rx,
             match_flag_type Flags=match_default )
         {
@@ -535,7 +539,7 @@
                 if(regex_match(begin(*itBegin), end(*itBegin), Rx, Flags))
                 {
                     // Add separator
- detail::insert(Result, end(Result), Separator);
+ detail::insert(Result, end(Result), as_literal(Separator));
                     // Add element
                     detail::insert(Result, end(Result), *itBegin);
                 }
@@ -570,7 +574,7 @@
         inline typename range_value<SequenceSequenceT>::type
         join_if_regex(
             const SequenceSequenceT& Input,
- Range1T& Separator,
+ const Range1T& Separator,
             const basic_regex<CharT, RegexTraitsT>& Rx,
             match_flag_type Flags=match_default )
         {
@@ -584,7 +588,7 @@
 
             // Construct container to hold the result
             ResultT Result;
-
+
 
             // Roll to the first element that will be added
             while(
@@ -603,7 +607,7 @@
                 if(regex_match(begin(*itBegin), end(*itBegin), Rx, Flags))
                 {
                     // Add separator
- detail::insert(Result, end(Result), Separator);
+ detail::insert(Result, end(Result), as_literal(Separator));
                     // Add element
                     detail::insert(Result, end(Result), *itBegin);
                 }
@@ -636,8 +640,6 @@
     using algorithm::join_if_regex;
 #endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
-
-
 } // namespace boost
 
 

Modified: branches/release/boost/algorithm/string/regex_find_format.hpp
==============================================================================
--- branches/release/boost/algorithm/string/regex_find_format.hpp (original)
+++ branches/release/boost/algorithm/string/regex_find_format.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library regex_find_format.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_REGEX_FIND_FORMAT_HPP
 #define BOOST_STRING_REGEX_FIND_FORMAT_HPP

Modified: branches/release/boost/algorithm/string/replace.hpp
==============================================================================
--- branches/release/boost/algorithm/string/replace.hpp (original)
+++ branches/release/boost/algorithm/string/replace.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library replace.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2006.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_REPLACE_HPP
 #define BOOST_STRING_REPLACE_HPP

Modified: branches/release/boost/algorithm/string/sequence_traits.hpp
==============================================================================
--- branches/release/boost/algorithm/string/sequence_traits.hpp (original)
+++ branches/release/boost/algorithm/string/sequence_traits.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library sequence_traits.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_SEQUENCE_TRAITS_HPP
 #define BOOST_STRING_SEQUENCE_TRAITS_HPP

Modified: branches/release/boost/algorithm/string/split.hpp
==============================================================================
--- branches/release/boost/algorithm/string/split.hpp (original)
+++ branches/release/boost/algorithm/string/split.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library split.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2006.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_SPLIT_HPP
 #define BOOST_STRING_SPLIT_HPP

Modified: branches/release/boost/algorithm/string/std/list_traits.hpp
==============================================================================
--- branches/release/boost/algorithm/string/std/list_traits.hpp (original)
+++ branches/release/boost/algorithm/string/std/list_traits.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library list_traits.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_STD_LIST_TRAITS_HPP
 #define BOOST_STRING_STD_LIST_TRAITS_HPP

Modified: branches/release/boost/algorithm/string/std/rope_traits.hpp
==============================================================================
--- branches/release/boost/algorithm/string/std/rope_traits.hpp (original)
+++ branches/release/boost/algorithm/string/std/rope_traits.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library string_traits.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_STD_ROPE_TRAITS_HPP
 #define BOOST_STRING_STD_ROPE_TRAITS_HPP

Modified: branches/release/boost/algorithm/string/std/slist_traits.hpp
==============================================================================
--- branches/release/boost/algorithm/string/std/slist_traits.hpp (original)
+++ branches/release/boost/algorithm/string/std/slist_traits.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library slist_traits.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_STD_SLIST_TRAITS_HPP
 #define BOOST_STRING_STD_SLIST_TRAITS_HPP

Modified: branches/release/boost/algorithm/string/std/string_traits.hpp
==============================================================================
--- branches/release/boost/algorithm/string/std/string_traits.hpp (original)
+++ branches/release/boost/algorithm/string/std/string_traits.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library string_traits.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_STD_STRING_TRAITS_HPP
 #define BOOST_STRING_STD_STRING_TRAITS_HPP

Modified: branches/release/boost/algorithm/string/std_containers_traits.hpp
==============================================================================
--- branches/release/boost/algorithm/string/std_containers_traits.hpp (original)
+++ branches/release/boost/algorithm/string/std_containers_traits.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library std_containers_traits.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_STD_CONTAINERS_TRAITS_HPP
 #define BOOST_STRING_STD_CONTAINERS_TRAITS_HPP

Modified: branches/release/boost/algorithm/string/trim.hpp
==============================================================================
--- branches/release/boost/algorithm/string/trim.hpp (original)
+++ branches/release/boost/algorithm/string/trim.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library trim.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_TRIM_HPP
 #define BOOST_STRING_TRIM_HPP
@@ -15,6 +16,8 @@
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/const_iterator.hpp>
+#include <boost/range/as_literal.hpp>
+#include <boost/range/iterator_range.hpp>
 
 #include <boost/algorithm/string/detail/trim.hpp>
 #include <boost/algorithm/string/classification.hpp>
@@ -60,12 +63,14 @@
             const RangeT& Input,
             PredicateT IsSpace)
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_range(as_literal(Input));
+
             std::copy(
                 ::boost::algorithm::detail::trim_begin(
- begin(Input),
- end(Input),
+ begin(lit_range),
+ end(lit_range),
                     IsSpace ),
- end(Input),
+ end(lit_range),
                 Output);
 
             return Output;
@@ -166,11 +171,13 @@
             const RangeT& Input,
             PredicateT IsSpace )
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_range(as_literal(Input));
+
             std::copy(
- begin(Input),
+ begin(lit_range),
                 ::boost::algorithm::detail::trim_end(
- begin(Input),
- end(Input),
+ begin(lit_range),
+ end(lit_range),
                     IsSpace ),
                 Output );
 
@@ -276,16 +283,18 @@
             const RangeT& Input,
             PredicateT IsSpace)
         {
+ iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_range(as_literal(Input));
+
             BOOST_STRING_TYPENAME
                 range_const_iterator<RangeT>::type TrimEnd=
                 ::boost::algorithm::detail::trim_end(
- begin(Input),
- end(Input),
+ begin(lit_range),
+ end(lit_range),
                     IsSpace);
 
             std::copy(
                 detail::trim_begin(
- begin(Input), TrimEnd, IsSpace),
+ begin(lit_range), TrimEnd, IsSpace),
                 TrimEnd,
                 Output
                 );

Modified: branches/release/boost/algorithm/string/yes_no_type.hpp
==============================================================================
--- branches/release/boost/algorithm/string/yes_no_type.hpp (original)
+++ branches/release/boost/algorithm/string/yes_no_type.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library yes_no_type.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_YES_NO_TYPE_DETAIL_HPP
 #define BOOST_STRING_YES_NO_TYPE_DETAIL_HPP

Modified: branches/release/boost/algorithm/string_regex.hpp
==============================================================================
--- branches/release/boost/algorithm/string_regex.hpp (original)
+++ branches/release/boost/algorithm/string_regex.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,11 +1,12 @@
 // Boost string_algo library string_regex.hpp header file ---------------------------//
 
-// Copyright Pavol Droba 2002-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+// Copyright Pavol Droba 2002-2004.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.boost.org/ for updates, documentation, and revision history.
 
 #ifndef BOOST_STRING_ALGO_REGEX_HPP
 #define BOOST_STRING_ALGO_REGEX_HPP

Modified: branches/release/boost/any.hpp
==============================================================================
--- branches/release/boost/any.hpp (original)
+++ branches/release/boost/any.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -168,13 +168,13 @@
     }
 
     template<typename ValueType>
- const ValueType * any_cast(const any * operand)
+ inline const ValueType * any_cast(const any * operand)
     {
         return any_cast<ValueType>(const_cast<any *>(operand));
     }
 
     template<typename ValueType>
- ValueType any_cast(const any & operand)
+ ValueType any_cast(any & operand)
     {
         typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
 
@@ -188,14 +188,14 @@
         BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
 #endif
 
- const nonref * result = any_cast<nonref>(&operand);
+ nonref * result = any_cast<nonref>(&operand);
         if(!result)
             boost::throw_exception(bad_any_cast());
         return *result;
     }
 
     template<typename ValueType>
- ValueType any_cast(any & operand)
+ inline ValueType any_cast(const any & operand)
     {
         typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
 
@@ -205,10 +205,7 @@
         BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
 #endif
 
- nonref * result = any_cast<nonref>(&operand);
- if(!result)
- boost::throw_exception(bad_any_cast());
- return *result;
+ return any_cast<const nonref &>(const_cast<any &>(operand));
     }
 
     // Note: The "unsafe" versions of any_cast are not part of the

Modified: branches/release/boost/archive/basic_archive.hpp
==============================================================================
--- branches/release/boost/archive/basic_archive.hpp (original)
+++ branches/release/boost/archive/basic_archive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -117,14 +117,4 @@
 BOOST_CLASS_IMPLEMENTATION(boost::archive::object_reference_type, primitive_type)
 BOOST_CLASS_IMPLEMENTATION(boost::archive::tracking_type, primitive_type)
 
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// Make sure that the export.hpp header isn't included before any archive header
-// Doing so would inhibit construction of correct mpl list of known archive
-// types which in turn would inhibit instantiation of all combinations of
-// serialization/archive types.
-
-#ifdef BOOST_SERIALIZATION_EXPORT_HPP
-#error "export.hpp must not be included before any archive header"
-#endif
-
 #endif //BOOST_ARCHIVE_BASIC_ARCHIVE_HPP

Modified: branches/release/boost/archive/basic_binary_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_iarchive.hpp (original)
+++ branches/release/boost/archive/basic_binary_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -28,9 +28,9 @@
 #include <boost/detail/workaround.hpp>
 #include <boost/pfto.hpp>
 
-#include <boost/archive/detail/common_iarchive.hpp>
 #include <boost/serialization/string.hpp>
-
+#include <boost/serialization/collection_size_type.hpp>
+#include <boost/archive/array/iarchive.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -40,7 +40,7 @@
 // class basic_binary_iarchive - read serialized objects from a input binary stream
 template<class Archive>
 class basic_binary_iarchive :
- public detail::common_iarchive<Archive>
+ public array::iarchive<Archive>
 {
 protected:
 #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
@@ -56,11 +56,10 @@
     // fot templates in the absence of partial function
     // template ordering. If we get here pass to base class
     // note extra nonsense to sneak it pass the borland compiers
- typedef detail::common_iarchive<Archive> detail_common_iarchive;
+ typedef array::iarchive<Archive> array_iarchive;
     template<class T>
- void load_override(T & t, BOOST_PFTO int)
- {
- this->detail_common_iarchive::load_override(t, 0);
+ void load_override(T & t, BOOST_PFTO int){
+ this->array_iarchive::load_override(t, 0);
     }
     // binary files don't include the optional information
     void load_override(class_id_optional_type & /* t */, int){}
@@ -69,39 +68,44 @@
     // for these pseudo prmitive types.
     void load_override(version_type & t, int){
         // upto 255 versions
- unsigned char x;
+ unsigned char x=0;
         * this->This() >> x;
         t = version_type(x);
     }
     void load_override(class_id_type & t, int){
         // upto 32K classes
- int_least16_t x;
+ int_least16_t x=0;
         * this->This() >> x;
         t = class_id_type(x);
     }
     void load_override(class_id_reference_type & t, int){
         // upto 32K classes
- int_least16_t x;
+ int_least16_t x=0;
         * this->This() >> x;
         t = class_id_reference_type(x);
     }
     void load_override(object_id_type & t, int){
         // upto 2G objects
- uint_least32_t x;
+ uint_least32_t x=0;
         * this->This() >> x;
         t = object_id_type(x);
     }
     void load_override(object_reference_type & t, int){
         // upto 2G objects
- uint_least32_t x;
+ uint_least32_t x=0;
         * this->This() >> x;
         t = object_reference_type(x);
     }
     void load_override(tracking_type & t, int){
- char x;
+ char x=0;
         * this->This() >> x;
         t = (0 != x);
     }
+ void load_override(serialization::collection_size_type & t, int){
+ unsigned int x=0;
+ * this->This() >> x;
+ t = serialization::collection_size_type(x);
+ }
 
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     load_override(class_name_type & t, int);
@@ -109,7 +113,7 @@
     init();
    
     basic_binary_iarchive(unsigned int flags) :
- detail::common_iarchive<Archive>(flags)
+ array_iarchive(flags)
     {}
 };
 

Modified: branches/release/boost/archive/basic_binary_iprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_iprimitive.hpp (original)
+++ branches/release/boost/archive/basic_binary_iprimitive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -48,6 +48,9 @@
 #include <boost/archive/basic_streambuf_locale_saver.hpp>
 #include <boost/archive/archive_exception.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
+#include <boost/mpl/placeholders.hpp>
+#include <boost/serialization/is_bitwise_serializable.hpp>
+#include <boost/serialization/array.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -86,6 +89,7 @@
         load_binary(& t, sizeof(t));
         int i = t;
         assert(0 == i || 1 == i);
+ (void)i; // warning suppression for release builds.
     }
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     load(std::string &s);
@@ -108,6 +112,21 @@
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     ~basic_binary_iprimitive();
 public:
+ // we provide an optimized load for all fundamental types
+ //typedef serialization::is_bitwise_serializable<mpl::_1>
+ // use_array_optimization;
+ struct use_array_optimization {
+ template <class T>
+ struct apply : public serialization::is_bitwise_serializable<T> {};
+ };
+
+ // the optimized load_array dispatches to load_binary
+ template <class ValueType>
+ void load_array(serialization::array<ValueType>& a, unsigned int)
+ {
+ load_binary(a.address(),a.count()*sizeof(ValueType));
+ }
+
     void
     load_binary(void *address, std::size_t count);
 };
@@ -146,7 +165,7 @@
         static_cast<Elem *>(address),
         s
     );
- if(count != static_cast<std::size_t>(s))
+ if(scount != static_cast<std::streamsize>(s))
         boost::throw_exception(
             archive_exception(archive_exception::stream_error)
         );
@@ -157,7 +176,7 @@
 // boost::throw_exception(archive_exception(archive_exception::stream_error));
         Elem t;
         scount = m_sb.sgetn(& t, 1);
- if(count != 1)
+ if(scount != 1)
             boost::throw_exception(
                 archive_exception(archive_exception::stream_error)
             );

Modified: branches/release/boost/archive/basic_binary_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_oarchive.hpp (original)
+++ branches/release/boost/archive/basic_binary_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -27,8 +27,10 @@
 #include <boost/pfto.hpp>
 
 #include <boost/detail/workaround.hpp>
-#include <boost/archive/detail/common_oarchive.hpp>
+#include <boost/archive/array/oarchive.hpp>
 #include <boost/serialization/string.hpp>
+#include <boost/serialization/collection_size_type.hpp>
+#include <boost/archive/array/oarchive.hpp>
 
 namespace boost {
 namespace archive {
@@ -41,12 +43,9 @@
 // by a program built with the same tools for the same machne. This class
 // does have the virtue of buiding the smalles archive in the minimum amount
 // of time. So under some circumstances it may be he right choice.
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_iarchive - read serialized objects from a input text stream
 template<class Archive>
 class basic_binary_oarchive :
- public detail::common_oarchive<Archive>
+ public array::oarchive<Archive>
 {
 protected:
 #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
@@ -59,10 +58,14 @@
     friend class detail::interface_oarchive<Archive>;
 #endif
     // any datatype not specifed below will be handled by base class
- typedef detail::common_oarchive<Archive> detail_common_oarchive;
+ typedef array::oarchive<Archive> array_oarchive;
+ template<class T>
+ void save_override(const T & t, BOOST_PFTO int){
+ this->array_oarchive::save_override(t, 0);
+ }
     template<class T>
     void save_override(T & t, BOOST_PFTO int){
- this->detail_common_oarchive::save_override(t, 0);
+ this->save_override(const_cast<const T &>(t), 0);
     }
     // binary files don't include the optional information
     void save_override(const class_id_optional_type & /* t */, int){}
@@ -70,22 +73,22 @@
     void save_override(const version_type & t, int){
         // upto 255 versions
         // note:t.t resolves borland ambguity
- unsigned char x = t.t;
+ const unsigned char x = t.t;
         * this->This() << x;
     }
     void save_override(const class_id_type & t, int){
         // upto 32K classes
- int_least16_t x = t.t;
+ const int_least16_t x = t.t;
         * this->This() << x;
     }
     void save_override(const class_id_reference_type & t, int){
         // upto 32K classes
- int_least16_t x = t.t;
+ const int_least16_t x = t.t;
         * this->This() << x;
     }
     void save_override(const object_id_type & t, int){
         // upto 2G objects
- uint_least32_t x = t.t;
+ const uint_least32_t x = t.t;
         * this->This() << x;
     }
     void save_override(const object_reference_type & t, int){
@@ -94,7 +97,7 @@
         * this->This() << x;
     }
     void save_override(const tracking_type & t, int){
- char x = t.t;
+ const char x = t.t;
         * this->This() << x;
     }
 
@@ -104,11 +107,17 @@
         * this->This() << s;
     }
 
+ void save_override(const serialization::collection_size_type & t, int){
+ // for backward compatibility, 64 bit integer or variable length integer would be preferred
+ unsigned int x = t.t;
+ * this->This() << x;
+ }
+
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     init();
 
     basic_binary_oarchive(unsigned int flags) :
- detail::common_oarchive<Archive>(flags)
+ array_oarchive(flags)
     {}
 };
 

Modified: branches/release/boost/archive/basic_binary_oprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_oprimitive.hpp (original)
+++ branches/release/boost/archive/basic_binary_oprimitive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -46,6 +46,9 @@
 #include <boost/archive/basic_streambuf_locale_saver.hpp>
 #include <boost/archive/archive_exception.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
+#include <boost/serialization/is_bitwise_serializable.hpp>
+#include <boost/mpl/placeholders.hpp>
+#include <boost/serialization/array.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -101,6 +104,7 @@
 
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     init();
+
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     basic_binary_oprimitive(
         std::basic_streambuf<Elem, Tr> & sb,
@@ -109,6 +113,24 @@
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     ~basic_binary_oprimitive();
 public:
+
+ // we provide an optimized save for all fundamental types
+ // typedef serialization::is_bitwise_serializable<mpl::_1>
+ // use_array_optimization;
+ // workaround without using mpl lambdas
+ struct use_array_optimization {
+ template <class T>
+ struct apply : public serialization::is_bitwise_serializable<T> {};
+ };
+
+
+ // the optimized save_array dispatches to save_binary
+ template <class ValueType>
+ void save_array(serialization::array<ValueType> const& a, unsigned int)
+ {
+ save_binary(a.address(),a.count()*sizeof(ValueType));
+ }
+
     void save_binary(const void *address, std::size_t count);
 };
 

Modified: branches/release/boost/archive/basic_text_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_iarchive.hpp (original)
+++ branches/release/boost/archive/basic_text_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -61,7 +61,7 @@
     {
         this->detail_common_iarchive::load_override(t, 0);
     }
-
+#if 0
     // Borland compilers has a problem with strong type. Try to fix this here
     #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
     void load_override(version_type & t, int){
@@ -70,7 +70,7 @@
         t.t = version_type(x);
     }
     #endif
-
+#endif
     // text file don't include the optional information
     void load_override(class_id_optional_type & /*t*/, int){}
 

Modified: branches/release/boost/archive/basic_text_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_oarchive.hpp (original)
+++ branches/release/boost/archive/basic_text_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -78,36 +78,39 @@
     // start new objects on a new line
     void save_override(const object_id_type & t, int){
         this->This()->newline();
- // and and invoke prmitive to underlying value
+ // note extra .t to funciton with Borland 5.51 compiler
+ // and invoke prmitive to underlying value
         this->This()->save(t.t);
     }
 
     void save_override(const object_reference_type & t, int){
         this->This()->newline();
- // and and invoke prmitive to underlying value
+ // note extra .t to funciton with Borland 5.51 compiler
+ // and invoke prmitive to underlying value
         this->This()->save(t.t);
     }
 
- // text file don't include the optional information
- void save_override(const class_id_optional_type & /* t */, int){}
-
     // note the following four overrides are necessary for some borland
- // compilers which don't handle BOOST_STRONG_TYPE properly.
+ // compilers(5.51) which don't handle BOOST_STRONG_TYPE properly.
     void save_override(const version_type & t, int){
         // note:t.t resolves borland ambguity
- unsigned int x = t.t;
+ const unsigned int x = t.t;
         * this->This() << x;
     }
     void save_override(const class_id_type & t, int){
         // note:t.t resolves borland ambguity
- int x = t.t;
+ const int x = t.t;
         * this->This() << x;
     }
     void save_override(const class_id_reference_type & t, int){
         // note:t.t resolves borland ambguity
- int x = t.t;
+ const int x = t.t;
         * this->This() << x;
     }
+
+ // text file don't include the optional information
+ void save_override(const class_id_optional_type & /* t */, int){}
+
     void save_override(const class_name_type & t, int){
         const std::string s(t);
         * this->This() << s;

Modified: branches/release/boost/archive/basic_text_oprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_oprimitive.hpp (original)
+++ branches/release/boost/archive/basic_text_oprimitive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -89,10 +89,8 @@
     void save(const bool t){
         // trap usage of invalid uninitialized boolean which would
         // otherwise crash on load.
-#ifndef NDEBUG
         int i = t;
         assert(0 == i || 1 == i);
-#endif
         if(os.fail())
             boost::throw_exception(archive_exception(archive_exception::stream_error));
         os << t;

Modified: branches/release/boost/archive/basic_xml_archive.hpp
==============================================================================
--- branches/release/boost/archive/basic_xml_archive.hpp (original)
+++ branches/release/boost/archive/basic_xml_archive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -36,7 +36,7 @@
         xml_archive_tag_mismatch,
         xml_archive_tag_name_error
     } exception_code;
- xml_archive_exception(exception_code /* c */)
+ xml_archive_exception(exception_code c)
     {}
     virtual const char *what( ) const throw( )
     {

Modified: branches/release/boost/archive/basic_xml_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_xml_iarchive.hpp (original)
+++ branches/release/boost/archive/basic_xml_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -9,7 +9,7 @@
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // basic_xml_iarchive.hpp
 
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
@@ -25,6 +25,8 @@
 #include <boost/serialization/nvp.hpp>
 #include <boost/serialization/string.hpp>
 
+#include <boost/mpl/assert.hpp>
+
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -33,7 +35,7 @@
 /////////////////////////////////////////////////////////////////////////
 // class xml_iarchive - read serialized objects from a input text stream
 template<class Archive>
-class basic_xml_iarchive :
+class basic_xml_iarchive :
     public detail::common_iarchive<Archive>
 {
 protected:
@@ -60,7 +62,8 @@
         // If your program fails to compile here, its most likely due to
         // not specifying an nvp wrapper around the variable to
         // be serialized.
- BOOST_STATIC_ASSERT(0 == sizeof(T));
+ BOOST_MPL_ASSERT((serialization::is_wrapper<T>));
+ this->detail_common_iarchive::load_override(t, 0);
     }
 
     // Anything not an attribute - see below - should be a name value
@@ -71,7 +74,7 @@
         #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
         const
         #endif
- boost::serialization::nvp<T> & t,
+ boost::serialization::nvp<T> & t,
         int
     ){
         load_start(t.name());
@@ -101,9 +104,9 @@
     // handle this.
     // void load_override(class_name_type & t, int);
 
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+ BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     basic_xml_iarchive(unsigned int flags);
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+ BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     ~basic_xml_iarchive();
 };
 

Modified: branches/release/boost/archive/basic_xml_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_xml_oarchive.hpp (original)
+++ branches/release/boost/archive/basic_xml_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -9,7 +9,7 @@
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // basic_xml_oarchive.hpp
 
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
@@ -24,15 +24,18 @@
 #include <boost/serialization/tracking.hpp>
 #include <boost/serialization/string.hpp>
 
+#include <boost/mpl/assert.hpp>
+
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
-namespace boost {
+
+namespace boost {
 namespace archive {
-
+
 //////////////////////////////////////////////////////////////////////
 // class basic_xml_oarchive - write serialized objects to a xml output stream
 template<class Archive>
-class basic_xml_oarchive :
+class basic_xml_oarchive :
     public detail::common_oarchive<Archive>
 {
 protected:
@@ -42,8 +45,10 @@
     // for some inexplicable reason insertion of "class" generates compile erro
     // on msvc 7.1
     friend detail::interface_oarchive<Archive>;
+ friend class save_access;
 #else
     friend class detail::interface_oarchive<Archive>;
+ friend class save_access;
 #endif
     // special stuff for xml output
     unsigned int depth;
@@ -55,13 +60,13 @@
     init();
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     write_attribute(
- const char *attribute_name,
+ const char *attribute_name,
         int t,
         const char *conjunction = "=\""
     );
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     write_attribute(
- const char *attribute_name,
+ const char *attribute_name,
         const char *key
     );
     // helpers used below
@@ -80,7 +85,8 @@
         // If your program fails to compile here, its most likely due to
         // not specifying an nvp wrapper around the variable to
         // be serialized.
- BOOST_STATIC_ASSERT(0 == sizeof(T));
+ BOOST_MPL_ASSERT((serialization::is_wrapper<T>));
+ this->detail_common_oarchive::save_override(t, 0);
     }
 
    // special treatment for name-value pairs.
@@ -90,7 +96,7 @@
         #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
         const
         #endif
- ::boost::serialization::nvp<T> & t,
+ ::boost::serialization::nvp<T> & t,
         int
     ){
         save_start(t.name());
@@ -117,9 +123,9 @@
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     save_override(const tracking_type & t, int);
 
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+ BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     basic_xml_oarchive(unsigned int flags);
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+ BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     ~basic_xml_oarchive();
 };
 

Modified: branches/release/boost/archive/binary_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/binary_iarchive.hpp (original)
+++ branches/release/boost/archive/binary_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -22,6 +22,43 @@
 namespace boost {
 namespace archive {
 
+// do not derive from the classes below. If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead. This will
+// preserve correct static polymorphism.
+
+// same as binary_iarchive below - without the shared_ptr_helper
+class naked_binary_iarchive :
+ public binary_iarchive_impl<
+ boost::archive::naked_binary_iarchive,
+ std::istream::char_type,
+ std::istream::traits_type
+ >
+{
+public:
+ naked_binary_iarchive(std::istream & is, unsigned int flags = 0) :
+ binary_iarchive_impl<
+ naked_binary_iarchive, std::istream::char_type, std::istream::traits_type
+ >(is, flags)
+ {}
+ naked_binary_iarchive(std::streambuf & bsb, unsigned int flags = 0) :
+ binary_iarchive_impl<
+ naked_binary_iarchive, std::istream::char_type, std::istream::traits_type
+ >(bsb, flags)
+ {}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive. We created a "mix-in"
+// class to provide this functionality. Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <boost/archive/shared_ptr_helper.hpp>
+
+namespace boost {
+namespace archive {
+
 // do not derive from this class. If you want to extend this functionality
 // via inhertance, derived from binary_iarchive_impl instead. This will
 // preserve correct static polymorphism.
@@ -30,7 +67,8 @@
         boost::archive::binary_iarchive,
         std::istream::char_type,
         std::istream::traits_type
- >
+ >,
+ public detail::shared_ptr_helper
 {
 public:
     binary_iarchive(std::istream & is, unsigned int flags = 0) :
@@ -48,8 +86,7 @@
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::binary_iarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_iarchive)
 
 #endif // BOOST_ARCHIVE_BINARY_IARCHIVE_HPP

Modified: branches/release/boost/archive/binary_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/binary_oarchive.hpp (original)
+++ branches/release/boost/archive/binary_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -43,11 +43,12 @@
     {}
 };
 
+typedef binary_oarchive naked_binary_oarchive;
+
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::binary_oarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_oarchive)
 
 #endif // BOOST_ARCHIVE_BINARY_OARCHIVE_HPP

Modified: branches/release/boost/archive/binary_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/binary_wiarchive.hpp (original)
+++ branches/release/boost/archive/binary_wiarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -27,9 +27,43 @@
 namespace boost {
 namespace archive {
 
-// do not derive from this class. If you want to extend this functionality
-// via inhertance, derived from binary_iarchive_impl instead. This will
-// preserve correct static polymorphism.
+// same as binary_wiarchive below - without the shared_ptr_helper
+class naked_binary_wiarchive :
+ public binary_iarchive_impl<
+ boost::archive::naked_binary_wiarchive,
+ std::wistream::char_type,
+ std::wistream::traits_type
+ >
+{
+public:
+ naked_binary_wiarchive(std::wistream & is, unsigned int flags = 0) :
+ binary_iarchive_impl<
+ naked_binary_wiarchive,
+ std::wistream::char_type,
+ std::wistream::traits_type
+ >(is, flags)
+ {}
+ naked_binary_wiarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
+ binary_iarchive_impl<
+ naked_binary_wiarchive,
+ std::wistream::char_type,
+ std::wistream::traits_type
+ >(bsb, flags)
+ {}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive. We created a "mix-in"
+// class to provide this functionality. Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <boost/archive/shared_ptr_helper.hpp>
+
+namespace boost {
+namespace archive {
+
 class binary_wiarchive :
     public binary_iarchive_impl<
         binary_wiarchive, std::wistream::char_type, std::wistream::traits_type
@@ -51,9 +85,8 @@
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::binary_wiarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_wiarchive)
 
 #endif // BOOST_NO_STD_WSTREAMBUF
 #endif // BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP

Modified: branches/release/boost/archive/binary_woarchive.hpp
==============================================================================
--- branches/release/boost/archive/binary_woarchive.hpp (original)
+++ branches/release/boost/archive/binary_woarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -48,12 +48,13 @@
     {}
 };
 
+typedef binary_woarchive naked_binary_woarchive;
+
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::binary_woarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_woarchive)
 
 #endif // BOOST_NO_STD_WSTREAMBUF
 #endif // BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP

Modified: branches/release/boost/archive/codecvt_null.hpp
==============================================================================
--- branches/release/boost/archive/codecvt_null.hpp (original)
+++ branches/release/boost/archive/codecvt_null.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -20,19 +20,22 @@
 #include <cstddef>
 
 #include <boost/config.hpp>
+#include <boost/archive/detail/auto_link_archive.hpp>
 
 namespace std{
     #if defined(__LIBCOMO__)
         using ::mbstate_t;
     #elif defined(__QNXNTO__)
- using std::mbstate_t;
+ //using std::mbstate_t;
     #elif defined(BOOST_DINKUMWARE_STDLIB) && BOOST_DINKUMWARE_STDLIB == 1
         using ::mbstate_t;
     #elif defined(__SGI_STL_PORT)
     #elif defined(BOOST_NO_STDC_NAMESPACE)
         using ::codecvt;
         using ::mbstate_t;
- #endif
+ #elif defined(BOOST_RWSTD_VER)
+ using ::mbstate_t;
+ #endif
 } // namespace std
 
 namespace boost {
@@ -56,7 +59,7 @@
 template<>
 class codecvt_null<wchar_t> : public std::codecvt<wchar_t, char, std::mbstate_t>
 {
- virtual std::codecvt_base::result
+ virtual BOOST_ARCHIVE_DECL(std::codecvt_base::result)
     do_out(
         std::mbstate_t & state,
         const wchar_t * first1,
@@ -66,7 +69,7 @@
         char * last2,
         char * & next2
     ) const;
- virtual std::codecvt_base::result
+ virtual BOOST_ARCHIVE_DECL(std::codecvt_base::result)
     do_in(
         std::mbstate_t & state,
         const char * first1,

Modified: branches/release/boost/archive/detail/abi_prefix.hpp
==============================================================================
--- branches/release/boost/archive/detail/abi_prefix.hpp (original)
+++ branches/release/boost/archive/detail/abi_prefix.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -13,3 +13,8 @@
 # pragma warning(push)
 # pragma warning(disable : 4251 4231 4660 4275)
 #endif
+
+#if defined( __BORLANDC__ )
+#pragma nopushoptwarn
+#endif
+

Modified: branches/release/boost/archive/detail/abi_suffix.hpp
==============================================================================
--- branches/release/boost/archive/detail/abi_suffix.hpp (original)
+++ branches/release/boost/archive/detail/abi_suffix.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -12,3 +12,8 @@
 #pragma warning(pop)
 #endif
 #include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#if defined( __BORLANDC__ )
+#pragma nopushoptwarn
+#endif
+

Modified: branches/release/boost/archive/detail/basic_archive_impl.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_archive_impl.hpp (original)
+++ branches/release/boost/archive/detail/basic_archive_impl.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -20,7 +20,6 @@
 // #include <boost/scoped_ptr.hpp>
 
 #include <set>
-#include <boost/shared_ptr.hpp>
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
@@ -35,48 +34,6 @@
 //////////////////////////////////////////////////////////////////////
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_archive_impl
 {
- //////////////////////////////////////////////////////////////////////
- // list of serialization helpers
- // at least one compiler sunpro 5.3 erroneously doesn't give access to embedded structs
- struct helper_compare;
- friend struct helper_compare;
-
- struct helper_type {
- shared_ptr<void> m_helper;
- const boost::serialization::extended_type_info * m_eti;
- helper_type(
- shared_ptr<void> h,
- const boost::serialization::extended_type_info * const eti
- ) :
- m_helper(h),
- m_eti(eti)
- {}
- };
-
- struct helper_compare {
- bool operator()(
- const helper_type & lhs,
- const helper_type & rhs
- ) const {
- return lhs.m_eti < rhs.m_eti;
- }
- };
-
- typedef std::set<helper_type, helper_compare> collection;
- typedef collection::iterator helper_iterator;
- typedef collection::const_iterator helper_const_iterator;
- collection m_helpers;
-protected:
- void
- lookup_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- );
- void
- insert_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- );
 };
 
 } // namespace detail

Modified: branches/release/boost/archive/detail/basic_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_iarchive.hpp (original)
+++ branches/release/boost/archive/detail/basic_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -65,16 +65,8 @@
 public:
     // note: NOT part of the public API.
     void next_object_pointer(void *t);
- void register_basic_serializer(const basic_iserializer & bis);
- void
- lookup_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- );
- void
- insert_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
+ void register_basic_serializer(
+ const basic_iserializer & bis
     );
     void load_object(
         void *t,

Modified: branches/release/boost/archive/detail/basic_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_oarchive.hpp (original)
+++ branches/release/boost/archive/detail/basic_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -62,7 +62,7 @@
     virtual void vsave(const class_name_type & t) = 0;
     virtual void vsave(const tracking_type t) = 0;
 protected:
- basic_oarchive(unsigned int flags);
+ basic_oarchive(unsigned int flags = 0);
     // account for bogus gcc warning
     #if defined(__GNUC__)
     virtual
@@ -70,16 +70,8 @@
     ~basic_oarchive();
 public:
     // note: NOT part of the public interface
- void register_basic_serializer(const basic_oserializer & bos);
- void
- lookup_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- );
- void
- insert_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
+ void register_basic_serializer(
+ const basic_oserializer & bos
     );
     void save_object(
         const void *x,

Modified: branches/release/boost/archive/detail/common_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/common_iarchive.hpp (original)
+++ branches/release/boost/archive/detail/common_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -19,6 +19,7 @@
 #include <boost/archive/detail/basic_iarchive.hpp>
 #include <boost/archive/detail/interface_iarchive.hpp>
 #include <boost/archive/detail/iserializer.hpp>
+#include <boost/archive/detail/register_archive.hpp>
 #include <boost/pfto.hpp>
 
 namespace boost {
@@ -31,6 +32,7 @@
     public basic_iarchive,
     public interface_iarchive<Archive>
 {
+ friend class interface_iarchive<Archive>;
 private:
     virtual void vload(version_type & t){
         * this->This() >> t;
@@ -61,7 +63,7 @@
     void load_start(const char *name){}
     void load_end(const char *name){}
     // default archive initialization
- common_iarchive(unsigned int flags) :
+ common_iarchive(unsigned int flags = 0) :
         basic_iarchive(flags),
         interface_iarchive<Archive>()
     {}

Modified: branches/release/boost/archive/detail/common_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/common_oarchive.hpp (original)
+++ branches/release/boost/archive/detail/common_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -19,6 +19,7 @@
 #include <boost/archive/detail/basic_oarchive.hpp>
 #include <boost/archive/detail/interface_oarchive.hpp>
 #include <boost/archive/detail/oserializer.hpp>
+#include <boost/archive/detail/register_archive.hpp>
 
 namespace boost {
 namespace archive {
@@ -30,6 +31,7 @@
     public basic_oarchive,
     public interface_oarchive<Archive>
 {
+ friend class interface_oarchive<Archive>;
 private:
     virtual void vsave(const version_type t){
         * this->This() << t;
@@ -61,10 +63,9 @@
     void save_override(T & t, BOOST_PFTO int){
         archive::save(* this->This(), t);
     }
-
     void save_start(const char *name){}
     void save_end(const char *name){}
- common_oarchive(unsigned int flags) :
+ common_oarchive(unsigned int flags = 0) :
         basic_oarchive(flags),
         interface_oarchive<Archive>()
     {}

Modified: branches/release/boost/archive/detail/interface_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/interface_iarchive.hpp (original)
+++ branches/release/boost/archive/detail/interface_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -28,10 +28,11 @@
 namespace serialization {
     class extended_type_info;
 } // namespace serialization
+
 namespace archive {
 namespace detail {
 
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
 
 template<class Archive>
 class interface_iarchive
@@ -50,28 +51,13 @@
     }
 
     template<class T>
- const basic_pointer_iserializer * register_type(T * = NULL){
+ const basic_pointer_iserializer *
+ register_type(T * = NULL){
         const basic_pointer_iserializer & bpis =
- instantiate_pointer_iserializer(
- static_cast<Archive *>(NULL),
- static_cast<T *>(NULL)
- );
+ pointer_iserializer<Archive, T>::get_instance();
         this->This()->register_basic_serializer(bpis.get_basic_serializer());
         return & bpis;
     }
- void lookup_helper(
- const boost::serialization::extended_type_info * const eti,
- boost::shared_ptr<void> & sph
- ){
- this->This()->lookup_basic_helper(eti, sph);
- }
-
- void insert_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- ){
- this->This()->insert_basic_helper(eti, sph);
- }
     template<class T>
     Archive & operator>>(T & t){
         this->This()->load_override(t, 0);

Modified: branches/release/boost/archive/detail/interface_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/interface_oarchive.hpp (original)
+++ branches/release/boost/archive/detail/interface_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -32,7 +32,7 @@
 namespace archive {
 namespace detail {
 
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
 
 template<class Archive>
 class interface_oarchive
@@ -51,29 +51,14 @@
     }
 
     template<class T>
- const basic_pointer_oserializer * register_type(const T * = NULL){
+ const basic_pointer_oserializer *
+ register_type(const T * = NULL){
         const basic_pointer_oserializer & bpos =
- instantiate_pointer_oserializer(
- static_cast<Archive *>(NULL),
- static_cast<T *>(NULL)
- );
+ pointer_oserializer<Archive, T>::get_instance();
         this->This()->register_basic_serializer(bpos.get_basic_serializer());
         return & bpos;
     }
 
- void lookup_helper(
- const boost::serialization::extended_type_info * const eti,
- boost::shared_ptr<void> & sph
- ){
- this->This()->lookup_basic_helper(eti, sph);
- }
-
- void insert_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- ){
- this->This()->insert_basic_helper(eti, sph);
- }
     template<class T>
     Archive & operator<<(T & t){
         this->This()->save_override(t, 0);

Modified: branches/release/boost/archive/detail/iserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/iserializer.hpp (original)
+++ branches/release/boost/archive/detail/iserializer.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -44,6 +44,7 @@
 #include <boost/type_traits/is_enum.hpp>
 #include <boost/type_traits/is_const.hpp>
 #include <boost/type_traits/remove_const.hpp>
+#include <boost/type_traits/remove_all_extents.hpp>
 #include <boost/serialization/is_abstract.hpp>
 
 #include <boost/mpl/eval_if.hpp>
@@ -57,6 +58,7 @@
 #include <boost/mpl/list.hpp>
 #include <boost/mpl/empty.hpp>
 #include <boost/mpl/not.hpp>
+#include <boost/mpl/bool.hpp>
 
  #ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
      #include <boost/serialization/extended_type_info_typeid.hpp>
@@ -65,7 +67,7 @@
 #include <boost/archive/detail/basic_iarchive.hpp>
 #include <boost/archive/detail/basic_iserializer.hpp>
 #include <boost/archive/detail/archive_pointer_iserializer.hpp>
-#include <boost/archive/archive_exception.hpp>
+#include <boost/archive/detail/dynamically_initialized.hpp>
 
 #include <boost/serialization/force_include.hpp>
 #include <boost/serialization/serialization.hpp>
@@ -74,9 +76,9 @@
 #include <boost/serialization/tracking.hpp>
 #include <boost/serialization/type_info_implementation.hpp>
 #include <boost/serialization/nvp.hpp>
-#include <boost/serialization/binary_object.hpp>
 #include <boost/serialization/void_cast.hpp>
-
+#include <boost/serialization/array.hpp>
+#include <boost/serialization/collection_size_type.hpp>
 namespace boost {
 
 namespace serialization {
@@ -127,7 +129,7 @@
         return boost::serialization::tracking_level<T>::value
                 == boost::serialization::track_always
             || boost::serialization::tracking_level<T>::value
- == boost::serialization::track_selectivly
+ == boost::serialization::track_selectively
             && serialized_as_pointer();
     }
     virtual unsigned int version() const {
@@ -140,7 +142,7 @@
>::type::is_polymorphic::type typex;
         return typex::value;
     }
- static iserializer & instantiate(){
+ static iserializer & get_instance(){
         static iserializer instance;
         return instance;
     }
@@ -162,15 +164,14 @@
     );
 }
 
-// instantiation of this template creates a static object. Note inversion of
-// normal argument order to workaround bizarre error in MSVC 6.0 which only
-// manifests iftself during compiler time.
-template<class T, class Archive>
-class pointer_iserializer : public archive_pointer_iserializer<Archive>
+template<class Archive, class T>
+class pointer_iserializer
+ : public archive_pointer_iserializer<Archive>
+ , public dynamically_initialized<pointer_iserializer<Archive,T> >
 {
 private:
     virtual const basic_iserializer & get_basic_serializer() const {
- return iserializer<Archive, T>::instantiate();
+ return iserializer<Archive, T>::get_instance();
     }
     virtual BOOST_DLLEXPORT void load_object_ptr(
         basic_iarchive & ar,
@@ -182,32 +183,18 @@
 #endif
     // private constructor to inhibit any existence other than the
     // static one. Note GCC doesn't permit constructor to be private
- explicit BOOST_DLLEXPORT pointer_iserializer() BOOST_USED;
- static const pointer_iserializer instance;
+ BOOST_DLLEXPORT pointer_iserializer() BOOST_USED;
+ friend struct dynamically_initialized<pointer_iserializer<Archive,T> >;
 public:
     // at least one compiler (CW) seems to require that serialize_adl
     // be explicitly instantiated. Still under investigation.
- #if ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
+ #if !defined(__BORLANDC__)
     void (* const m)(Archive &, T &, const unsigned);
     boost::serialization::extended_type_info * (* e)();
     #endif
- static BOOST_DLLEXPORT const pointer_iserializer & instantiate() BOOST_USED;
- virtual ~pointer_iserializer(){};
+ BOOST_DLLEXPORT static const pointer_iserializer & get_instance() BOOST_USED;
 };
 
-template<class T, class Archive>
-BOOST_DLLEXPORT const pointer_iserializer<T, Archive> &
-pointer_iserializer<T, Archive>::instantiate() {
- return instance;
-}
-
-// note: instances of this template to be constructed before the main
-// is called in order for things to be initialized properly. For this
-// reason, hiding the instance in a static function as was done above
-// won't work here so we created a free instance here.
-template<class T, class Archive>
-const pointer_iserializer<T, Archive> pointer_iserializer<T, Archive>::instance;
-
 // note trick to be sure that operator new is using class specific
 // version if such exists. Due to Peter Dimov.
 // note: the following fails if T has no default constructor.
@@ -278,19 +265,15 @@
     T* m_p;
 };
 
-template<class T, class Archive>
-BOOST_DLLEXPORT void pointer_iserializer<T, Archive>::load_object_ptr(
+template<class Archive, class T>
+BOOST_DLLEXPORT void pointer_iserializer<Archive, T>::load_object_ptr(
     basic_iarchive & ar,
     void * & x,
     const unsigned int file_version
-) const {
+) const
+{
     Archive & ar_impl = boost::smart_cast_reference<Archive &>(ar);
 
-// if(0 != (ar.get_flags() & no_object_creation)){
-// ar_impl >> boost::serialization::make_nvp(NULL, * static_cast<T *>(x));
-// return;
-// }
-
     auto_ptr_with_deleter<T> ap(heap_allocator<T>::invoke());
     if(NULL == ap.get())
         boost::throw_exception(std::bad_alloc()) ;
@@ -312,6 +295,7 @@
         );
     }
     BOOST_CATCH(...){
+ ap.release();
         BOOST_RETHROW;
     }
     BOOST_CATCH_END
@@ -320,26 +304,33 @@
     ap.release();
 }
 
-template<class T, class Archive>
-#if ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-BOOST_DLLEXPORT pointer_iserializer<T, Archive>::pointer_iserializer() :
+template<class Archive, class T>
+#if !defined(__BORLANDC__)
+BOOST_DLLEXPORT pointer_iserializer<Archive, T>::pointer_iserializer() :
     archive_pointer_iserializer<Archive>(
         * boost::serialization::type_info_implementation<T>::type::get_instance()
     ),
     m(boost::serialization::serialize_adl<Archive, T>),
     e(boost::serialization::type_info_implementation<T>::type::get_instance)
 #else
-BOOST_DLLEXPORT pointer_iserializer<T, Archive>::pointer_iserializer() :
+BOOST_DLLEXPORT pointer_iserializer<Archive, T>::pointer_iserializer() :
     archive_pointer_iserializer<Archive>(
         * boost::serialization::type_info_implementation<T>::type::get_instance()
     )
 #endif
 {
- iserializer<Archive, T> & bis = iserializer<Archive, T>::instantiate();
+ iserializer<Archive, T> & bis = iserializer<Archive, T>::get_instance();
     bis.set_bpis(this);
 }
 
 template<class Archive, class T>
+BOOST_DLLEXPORT const pointer_iserializer<Archive, T> &
+pointer_iserializer<Archive, T>::get_instance() {
+ // note: comeau complains without full qualification
+ return dynamically_initialized<pointer_iserializer<Archive,T> >::instance;
+}
+
+template<class Archive, class T>
 struct load_non_pointer_type {
     // note this bounces the call right back to the archive
     // with no runtime overhead
@@ -370,7 +361,7 @@
             // its not called that way - so fix it her
             typedef BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type typex;
             void * x = & const_cast<typex &>(t);
- ar.load_object(x, iserializer<Archive, T>::instantiate());
+ ar.load_object(x, iserializer<Archive, T>::get_instance());
         }
     };
 
@@ -506,6 +497,8 @@
 template<class Archive, class T>
 struct load_array_type {
     static void invoke(Archive &ar, T &t){
+ typedef typename remove_all_extents<T>::type value_type;
+
         // convert integers to correct enum to load
         int current_count = sizeof(t) / (
             static_cast<char *>(static_cast<void *>(&t[1]))
@@ -517,12 +510,11 @@
             boost::throw_exception(archive::archive_exception(
                 boost::archive::archive_exception::array_size_too_short
             ));
- int i;
- for(i = 0; i < count; ++i)
- ar >> boost::serialization::make_nvp("item", t[i]);
+ ar >> serialization::make_array(static_cast<value_type*>(&t[0]),count);
     }
 };
 
+#if 0
 // note bogus arguments to workaround msvc 6 silent runtime failure
 template<class Archive, class T>
 BOOST_DLLEXPORT
@@ -539,10 +531,9 @@
     Archive * /* ar = NULL */,
     T * /* t = NULL */
 ){
- // note: reversal of order of arguments to work around msvc 6.0 bug
- // that manifests itself while trying to link.
- return pointer_iserializer<T, Archive>::instantiate();
+ return pointer_iserializer<Archive,T>::instance;
 }
+#endif
 
 } // detail
 
@@ -572,7 +563,7 @@
 
 // BORLAND
 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
-// borland has a couple fo problems
+// borland has a couple of problems
 // a) if function is partiall specialized - see below
 // const paramters are transformed to non-const ones
 // b) implementation of base_object can't be made to work
@@ -585,21 +576,19 @@
 }
 #endif
 
-// let wrappers through. (Someday implement is_wrapper)
+// let wrappers through.
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
 template<class Archive, class T>
-inline void load(Archive &ar, const serialization::nvp<T> &t){
- boost::archive::load(ar, const_cast<serialization::nvp<T> &>(t));
-}
-template<class Archive>
-inline void load(Archive &ar, const serialization::binary_object &t){
- boost::archive::load(ar, const_cast<serialization::binary_object &>(t));
+inline void load_wrapper(Archive &ar, const T&t, mpl::true_){
+ boost::archive::load(ar, const_cast<T&>(t));
 }
 
-//template<class Archive, class T>
-//inline void load(Archive &ar, const serialization::binary_object &t){
-// load(ar, const_cast<binary_object &>(t));
-//}
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
+template<class Archive, class T>
+inline void load(Archive &ar, const T&t){
+ load_wrapper(ar,t,serialization::is_wrapper<T>());
+}
+#endif
 #endif
 
 } // namespace archive

Deleted: branches/release/boost/archive/detail/known_archive_types.hpp
==============================================================================
--- branches/release/boost/archive/detail/known_archive_types.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
+++ (empty file)
@@ -1,93 +0,0 @@
-#ifndef BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_HPP
-#define BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// known_archive_types.hpp: set traits of classes to be serialized
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-// list of archive type shipped with the serialization system
-
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/pop_front.hpp>
-
-namespace boost {
-namespace archive {
-
-// class text_oarchive;
-namespace detail {
-
-class null_type;
-
-struct known_archive_types {
- typedef
- mpl::pop_front<
- mpl::list<
- null_type
- #if defined(BOOST_ARCHIVE_TEXT_OARCHIVE_HPP)
- , boost::archive::text_oarchive
- #endif
- #if defined(BOOST_ARCHIVE_TEXT_IARCHIVE_HPP)
- , boost::archive::text_iarchive
- #endif
- #if defined(BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP)
- , boost::archive::text_woarchive
- #endif
- #if defined(BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP)
- , boost::archive::text_wiarchive
- #endif
- #if defined(BOOST_ARCHIVE_BINARY_OARCHIVE_HPP)
- , boost::archive::binary_oarchive
- #endif
- #if defined(BOOST_ARCHIVE_BINARY_IARCHIVE_HPP)
- , boost::archive::binary_iarchive
- #endif
- #if defined(BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP)
- , boost::archive::binary_woarchive
- #endif
- #if defined(BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP)
- , boost::archive::binary_wiarchive
- #endif
- #if defined(BOOST_ARCHIVE_XML_OARCHIVE_HPP)
- , boost::archive::xml_oarchive
- #endif
- #if defined(BOOST_ARCHIVE_XML_IARCHIVE_HPP)
- , boost::archive::xml_iarchive
- #endif
- #if defined(BOOST_ARCHIVE_XML_WOARCHIVE_HPP)
- , boost::archive::xml_woarchive
- #endif
- #if defined(BOOST_ARCHIVE_XML_WIARCHIVE_HPP)
- , boost::archive::xml_wiarchive
- #endif
- #if defined(BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP)
- , boost::archive::polymorphic_oarchive
- #endif
- #if defined(BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP)
- , boost::archive::polymorphic_iarchive
- #endif
- #if defined(BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES)
- , BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES
- #endif
- #if defined(BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES)
- , BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES
- #endif
- >::type
- >::type type;
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_HPP

Deleted: branches/release/boost/archive/detail/known_archive_types_fwd.hpp
==============================================================================
--- branches/release/boost/archive/detail/known_archive_types_fwd.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
+++ (empty file)
@@ -1,39 +0,0 @@
-#ifndef BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_FWD_HPP
-#define BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_FWD_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// known_archive_types_fwd.hpp: set traits of classes to be serialized
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-// list of archive type shipped with the serialization system
-
-#include <boost/mpl/list.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-// default implementation of known_archive_types list - 0 elements
-// used to generate warning when a polymporhic pointer is serialized
-// to an unknown archive - export would otherwise fail silently
-template<bool>
-struct known_archive_types {
- typedef mpl::list<> type;
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_FWD

Modified: branches/release/boost/archive/detail/oserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/oserializer.hpp (original)
+++ branches/release/boost/archive/detail/oserializer.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -37,6 +37,7 @@
 #include <boost/type_traits/is_volatile.hpp>
 #include <boost/type_traits/is_const.hpp>
 #include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits/remove_all_extents.hpp>
 #include <boost/serialization/is_abstract.hpp>
 
 #include <boost/mpl/eval_if.hpp>
@@ -57,6 +58,7 @@
 #include <boost/archive/detail/basic_oarchive.hpp>
 #include <boost/archive/detail/basic_oserializer.hpp>
 #include <boost/archive/detail/archive_pointer_oserializer.hpp>
+#include <boost/archive/detail/dynamically_initialized.hpp>
 
 #include <boost/serialization/force_include.hpp>
 #include <boost/serialization/serialization.hpp>
@@ -66,6 +68,8 @@
 #include <boost/serialization/type_info_implementation.hpp>
 #include <boost/serialization/nvp.hpp>
 #include <boost/serialization/void_cast.hpp>
+#include <boost/serialization/array.hpp>
+#include <boost/serialization/collection_size_type.hpp>
 
 #include <boost/archive/archive_exception.hpp>
 
@@ -100,7 +104,7 @@
 private:
     // private constructor to inhibit any existence other than the
     // static one
- explicit oserializer() :
+ explicit BOOST_DLLEXPORT oserializer() :
         basic_oserializer(
             * boost::serialization::type_info_implementation<T>::type::get_instance()
         )
@@ -118,7 +122,7 @@
 // if(0 != (flags & no_tracking))
 // return false;
         return boost::serialization::tracking_level<T>::value == boost::serialization::track_always
- || boost::serialization::tracking_level<T>::value == boost::serialization::track_selectivly
+ || boost::serialization::tracking_level<T>::value == boost::serialization::track_selectively
             && serialized_as_pointer();
     }
     virtual unsigned int version() const {
@@ -130,7 +134,7 @@
>::type::is_polymorphic::type typex;
         return typex::value;
     }
- static oserializer & instantiate(){
+ static oserializer & get_instance(){
         static oserializer instance;
         return instance;
     }
@@ -151,15 +155,14 @@
     );
 }
 
-// instantiation of this template creates a static object. Note inversion of
-// normal argument order to workaround bizarre error in MSVC 6.0 which only
-// manifests iftself during compiler time.
-template<class T, class Archive>
-class pointer_oserializer : public archive_pointer_oserializer<Archive>
+template<class Archive, class T>
+class pointer_oserializer
+ : public archive_pointer_oserializer<Archive>
+ , public dynamically_initialized<pointer_oserializer<Archive,T> >
 {
 private:
     virtual const basic_oserializer & get_basic_serializer() const {
- return oserializer<Archive, T>::instantiate();
+ return oserializer<Archive, T>::get_instance();
     }
     virtual BOOST_DLLEXPORT void save_object_ptr(
         basic_oarchive & ar,
@@ -171,33 +174,19 @@
     // private constructor to inhibit any existence other than the
     // static one. Note GCC doesn't permit constructor to be private
     explicit BOOST_DLLEXPORT pointer_oserializer() BOOST_USED;
- static const pointer_oserializer instance;
+ friend struct dynamically_initialized<pointer_oserializer<Archive,T> >;
 public:
- #if ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
+ #if !defined(__BORLANDC__)
     // at least one compiler (CW) seems to require that serialize_adl
     // be explicitly instantiated. Still under investigation.
     void (* const m)(Archive &, T &, const unsigned);
     boost::serialization::extended_type_info * (* e)();
     #endif
- static BOOST_DLLEXPORT const pointer_oserializer & instantiate() BOOST_USED;
- virtual ~pointer_oserializer(){}
+ BOOST_DLLEXPORT static const pointer_oserializer & get_instance() BOOST_USED;
 };
 
-template<class T, class Archive>
-BOOST_DLLEXPORT const pointer_oserializer<T, Archive> &
-pointer_oserializer<T, Archive>::instantiate(){
- return instance;
-}
-
-// note: instances of this template to be constructed before the main
-// is called in order for things to be initialized properly. For this
-// reason, hiding the instance in a static function as was done above
-// won't work here so we created a free instance here.
-template<class T, class Archive>
-const pointer_oserializer<T, Archive> pointer_oserializer<T, Archive>::instance;
-
-template<class T, class Archive>
-BOOST_DLLEXPORT void pointer_oserializer<T, Archive>::save_object_ptr(
+template<class Archive, class T>
+BOOST_DLLEXPORT void pointer_oserializer<Archive, T>::save_object_ptr(
     basic_oarchive & ar,
     const void * x
 ) const {
@@ -215,27 +204,34 @@
     ar_impl << boost::serialization::make_nvp(NULL, * t);
 }
 
-template<class T, class Archive>
-#if ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-BOOST_DLLEXPORT pointer_oserializer<T, Archive>::pointer_oserializer() :
+template<class Archive, class T>
+#if !defined(__BORLANDC__)
+BOOST_DLLEXPORT pointer_oserializer<Archive, T>::pointer_oserializer() :
     archive_pointer_oserializer<Archive>(
         * boost::serialization::type_info_implementation<T>::type::get_instance()
     ),
     m(boost::serialization::serialize_adl<Archive, T>),
     e(boost::serialization::type_info_implementation<T>::type::get_instance)
 #else
-BOOST_DLLEXPORT pointer_oserializer<T, Archive>::pointer_oserializer() :
+BOOST_DLLEXPORT pointer_oserializer<Archive, T>::pointer_oserializer() :
     archive_pointer_oserializer<Archive>(
         * boost::serialization::type_info_implementation<T>::type::get_instance()
     )
 #endif
 {
     // make sure appropriate member function is instantiated
- oserializer<Archive, T> & bos = oserializer<Archive, T>::instantiate();
+ oserializer<Archive, T> & bos = oserializer<Archive, T>::get_instance();
     bos.set_bpos(this);
 }
 
 template<class Archive, class T>
+BOOST_DLLEXPORT const pointer_oserializer<Archive, T> &
+pointer_oserializer<Archive, T>::get_instance() {
+ // note: comeau complains without full qualification
+ return dynamically_initialized<pointer_oserializer<Archive,T> >::instance;
+}
+
+template<class Archive, class T>
 struct save_non_pointer_type {
     // note this bounces the call right back to the archive
     // with no runtime overhead
@@ -260,7 +256,7 @@
     // serialization level and class version
     struct save_standard {
         static void invoke(Archive &ar, const T & t){
- ar.save_object(& t, oserializer<Archive, T>::instantiate());
+ ar.save_object(& t, oserializer<Archive, T>::get_instance());
         }
     };
 
@@ -481,6 +477,8 @@
 struct save_array_type
 {
     static void invoke(Archive &ar, const T &t){
+ typedef typename remove_all_extents<T>::type value_type;
+
         save_access::end_preamble(ar);
         // consider alignment
         int count = sizeof(t) / (
@@ -488,12 +486,12 @@
             - static_cast<const char *>(static_cast<const void *>(&t[0]))
         );
         ar << BOOST_SERIALIZATION_NVP(count);
- int i;
- for(i = 0; i < count; ++i)
- ar << boost::serialization::make_nvp("item", t[i]);
+ ar << serialization::make_array(static_cast<value_type const*>(&t[0]),count);
     }
 };
 
+
+#if 0
 // note bogus arguments to workaround msvc 6 silent runtime failure
 // declaration to satisfy gcc
 template<class Archive, class T>
@@ -509,10 +507,9 @@
     Archive * /* ar = NULL */,
     T * /* t = NULL */
 ){
- // note: reversal of order of arguments to work around msvc 6.0 bug
- // that manifests itself while trying to link.
- return pointer_oserializer<T, Archive>::instantiate();
+ return pointer_oserializer<Archive, T>::instance;
 }
+#endif
 
 } // detail
 
@@ -557,12 +554,13 @@
 
 template<class Archive, class T>
 inline void save(Archive & ar, T &t){
- // if your program traps here, it indicates taht your doing one of the following:
+ // if your program traps here, it indicates that your doing one of the following:
     // a) serializing an object of a type marked "track_never" through a pointer.
     // b) saving an non-const object of a type not markd "track_never)
     // Either of these conditions may be an indicator of an error usage of the
     // serialization library and should be double checked. See documentation on
- // object tracking.
+ // object tracking. Also, see the "rationale" section of the documenation
+ // for motivation for this checking.
     BOOST_STATIC_ASSERT(check_tracking<T>::value);
         save(ar, const_cast<const T &>(t));
 }

Deleted: branches/release/boost/archive/detail/polymorphic_iarchive_impl.hpp
==============================================================================
--- branches/release/boost/archive/detail/polymorphic_iarchive_impl.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
+++ (empty file)
@@ -1,209 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_IMPL_HPP
-#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_IMPL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_iarchive_impl.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef>
-#include <string>
-#include <ostream>
-#include <boost/noncopyable.hpp>
-#include <boost/cstdint.hpp>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
- using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/archive/polymorphic_iarchive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
- class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail{
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
-
-template<class ArchiveImplementation>
-class polymorphic_iarchive_impl :
- public polymorphic_iarchive,
- // note: gcc dynamic cross cast fails if the the derivation below is
- // not public. I think this is a mistake.
- public /*protected*/ ArchiveImplementation,
- private boost::noncopyable
-{
-private:
- // these are used by the serialization library.
- virtual void load_object(
- void *t,
- const basic_iserializer & bis
- ){
- ArchiveImplementation::load_object(t, bis);
- }
- virtual const basic_pointer_iserializer * load_pointer(
- void * & t,
- const basic_pointer_iserializer * bpis_ptr,
- const basic_pointer_iserializer * (*finder)(
- const boost::serialization::extended_type_info & type
- )
- ){
- return ArchiveImplementation::load_pointer(t, bpis_ptr, finder);
- }
- virtual void set_library_version(unsigned int archive_library_version){
- ArchiveImplementation::set_library_version(archive_library_version);
- }
- virtual unsigned int get_library_version() const{
- return ArchiveImplementation::get_library_version();
- }
- virtual unsigned int get_flags() const {
- return ArchiveImplementation::get_flags();
- }
- virtual void delete_created_pointers(){
- ArchiveImplementation::delete_created_pointers();
- }
- virtual void reset_object_address(
- const void * new_address,
- const void * old_address
- ){
- ArchiveImplementation::reset_object_address(new_address, old_address);
- }
- virtual void load_binary(void * t, std::size_t size){
- ArchiveImplementation::load_binary(t, size);
- }
- // primitive types the only ones permitted by polymorphic archives
- virtual void load(bool & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(char & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(signed char & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned char & t){
- ArchiveImplementation::load(t);
- }
- #ifndef BOOST_NO_CWCHAR
- #ifndef BOOST_NO_INTRINSIC_WCHAR_T
- virtual void load(wchar_t & t){
- ArchiveImplementation::load(t);
- }
- #endif
- #endif
- virtual void load(short & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned short & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(int & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned int & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(long & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned long & t){
- ArchiveImplementation::load(t);
- }
- #if !defined(BOOST_NO_INTRINSIC_INT64_T)
- virtual void load(boost::int64_t & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(boost::uint64_t & t){
- ArchiveImplementation::load(t);
- }
- #endif
- virtual void load(float & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(double & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(std::string & t){
- ArchiveImplementation::load(t);
- }
- #ifndef BOOST_NO_STD_WSTRING
- virtual void load(std::wstring & t){
- ArchiveImplementation::load(t);
- }
- #endif
- // used for xml and other tagged formats default does nothing
- virtual void load_start(const char * name){
- ArchiveImplementation::load_start(name);
- }
- virtual void load_end(const char * name){
- ArchiveImplementation::load_end(name);
- }
-
- virtual void register_basic_serializer(const basic_iserializer & bis){
- ArchiveImplementation::register_basic_serializer(bis);
- }
- virtual void lookup_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- boost::shared_ptr<void> & sph
- ){
- ArchiveImplementation::lookup_basic_helper(eti, sph);
- }
- virtual void insert_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- boost::shared_ptr<void> & sph
- ){
- ArchiveImplementation::insert_basic_helper(eti, sph);
- }
-public:
- // this can't be inherited because they appear in mulitple
- // parents
- typedef mpl::bool_<true> is_loading;
- typedef mpl::bool_<false> is_saving;
- // the >> operator
- template<class T>
- polymorphic_iarchive & operator>>(T & t){
- return polymorphic_iarchive::operator>>(t);
- }
-
- // the & operator
- template<class T>
- polymorphic_iarchive & operator&(T & t){
- return polymorphic_iarchive::operator&(t);
- }
-
- // all current archives take a stream as constructor argument
- template <class _Elem, class _Tr>
- polymorphic_iarchive_impl(
- std::basic_istream<_Elem, _Tr> & is,
- unsigned int flags = 0
- ) :
- ArchiveImplementation(is, flags)
- {}
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_IMPL_HPP

Deleted: branches/release/boost/archive/detail/polymorphic_oarchive_impl.hpp
==============================================================================
--- branches/release/boost/archive/detail/polymorphic_oarchive_impl.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
+++ (empty file)
@@ -1,197 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_IMPL_HPP
-#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_IMPL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_oarchive_impl.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#include <string>
-#include <ostream>
-#include <boost/noncopyable.hpp>
-#include <boost/cstdint.hpp>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
- using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
- class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail{
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
-
-template<class ArchiveImplementation>
-class polymorphic_oarchive_impl :
- public polymorphic_oarchive,
- // note: gcc dynamic cross cast fails if the the derivation below is
- // not public. I think this is a mistake.
- public /*protected*/ ArchiveImplementation,
- private boost::noncopyable
-{
-private:
- // these are used by the serialization library.
- virtual void save_object(
- const void *x,
- const detail::basic_oserializer & bos
- ){
- ArchiveImplementation::save_object(x, bos);
- }
- virtual void save_pointer(
- const void * t,
- const detail::basic_pointer_oserializer * bpos_ptr
- ){
- ArchiveImplementation::save_pointer(t, bpos_ptr);
- }
- virtual void save_null_pointer(){
- ArchiveImplementation::save_null_pointer();
- }
- // primitive types the only ones permitted by polymorphic archives
- virtual void save(const bool t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const char t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const signed char t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned char t){
- ArchiveImplementation::save(t);
- }
- #ifndef BOOST_NO_CWCHAR
- #ifndef BOOST_NO_INTRINSIC_WCHAR_T
- virtual void save(const wchar_t t){
- ArchiveImplementation::save(t);
- }
- #endif
- #endif
- virtual void save(const short t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned short t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const int t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned int t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const long t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned long t){
- ArchiveImplementation::save(t);
- }
- #if !defined(BOOST_NO_INTRINSIC_INT64_T)
- virtual void save(const boost::int64_t t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const boost::uint64_t t){
- ArchiveImplementation::save(t);
- }
- #endif
- virtual void save(const float t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const double t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const std::string & t){
- ArchiveImplementation::save(t);
- }
- #ifndef BOOST_NO_STD_WSTRING
- virtual void save(const std::wstring & t){
- ArchiveImplementation::save(t);
- }
- #endif
- virtual unsigned int get_library_version() const{
- return ArchiveImplementation::get_library_version();
- }
- virtual unsigned int get_flags() const {
- return ArchiveImplementation::get_flags();
- }
- virtual void save_binary(const void * t, std::size_t size){
- ArchiveImplementation::save_binary(t, size);
- }
- // used for xml and other tagged formats default does nothing
- virtual void save_start(const char * name){
- ArchiveImplementation::save_start(name);
- }
- virtual void save_end(const char * name){
- ArchiveImplementation::save_end(name);
- }
- virtual void end_preamble(){
- ArchiveImplementation::end_preamble();
- }
- virtual void register_basic_serializer(const detail::basic_oserializer & bos){
- ArchiveImplementation::register_basic_serializer(bos);
- }
- virtual void lookup_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- ){
- ArchiveImplementation::lookup_basic_helper(eti, sph);
- }
- virtual void insert_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- ){
- ArchiveImplementation::insert_basic_helper(eti, sph);
- }
-public:
- // this can't be inherited because they appear in mulitple
- // parents
- typedef mpl::bool_<false> is_loading;
- typedef mpl::bool_<true> is_saving;
- // the << operator
- template<class T>
- polymorphic_oarchive & operator<<(T & t){
- return polymorphic_oarchive::operator<<(t);
- }
- // the & operator
- template<class T>
- polymorphic_oarchive & operator&(T & t){
- return polymorphic_oarchive::operator&(t);
- }
- // all current archives take a stream as constructor argument
- template <class _Elem, class _Tr>
- polymorphic_oarchive_impl(
- std::basic_ostream<_Elem, _Tr> & os,
- unsigned int flags = 0
- ) :
- ArchiveImplementation(os, flags)
- {}
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_IMPL_HPP

Modified: branches/release/boost/archive/detail/utf8_codecvt_facet.hpp
==============================================================================
--- branches/release/boost/archive/detail/utf8_codecvt_facet.hpp (original)
+++ branches/release/boost/archive/detail/utf8_codecvt_facet.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,9 +1,8 @@
 // Copyright © 2001 Ronald Garcia, Indiana University (garcia_at_[hidden])
-// Andrew Lumsdaine, Indiana University (lums_at_[hidden]). Permission to copy,
-// use, modify, sell and distribute this software is granted provided this
-// copyright notice appears in all copies. This software is provided "as is"
-// without express or implied warranty, and with no claim as to its suitability
-// for any purpose.
+// Andrew Lumsdaine, Indiana University (lums_at_[hidden]).
+// Distributed under the 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_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP
 #define BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP

Modified: branches/release/boost/archive/impl/basic_binary_iprimitive.ipp
==============================================================================
--- branches/release/boost/archive/impl/basic_binary_iprimitive.ipp (original)
+++ branches/release/boost/archive/impl/basic_binary_iprimitive.ipp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -79,7 +79,7 @@
 {
     std::size_t l;
     this->This()->load(l);
- load_binary(ws, l);
+ load_binary(ws, l * sizeof(wchar_t) / sizeof(char));
     ws[l / sizeof(wchar_t)] = L'\0';
 }
 

Modified: branches/release/boost/archive/impl/basic_xml_oarchive.ipp
==============================================================================
--- branches/release/boost/archive/impl/basic_xml_oarchive.ipp (original)
+++ branches/release/boost/archive/impl/basic_xml_oarchive.ipp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -144,7 +144,7 @@
         pending_preamble = false;
     }
 }
-
+#if 0
 template<class Archive>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
 basic_xml_oarchive<Archive>::save_override(const object_id_type & t, int)
@@ -168,6 +168,29 @@
     int i = t.t; // extra .t is for borland
     write_attribute(VERSION(), i);
 }
+#endif
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const object_id_type & t, int)
+{
+ write_attribute(OBJECT_ID(), t, "=\"_");
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(
+ const object_reference_type & t,
+ int
+){
+ write_attribute(OBJECT_REFERENCE(), t, "=\"_");
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const version_type & t, int)
+{
+ write_attribute(VERSION(), t);
+}
+
 template<class Archive>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
 basic_xml_oarchive<Archive>::save_override(const class_id_type & t, int)
@@ -199,11 +222,12 @@
         return;
     write_attribute(CLASS_NAME(), key);
 }
+
 template<class Archive>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
 basic_xml_oarchive<Archive>::save_override(const tracking_type & t, int)
 {
- write_attribute(TRACKING(), t.t); // extra .t is for borland
+ write_attribute(TRACKING(), t.t);
 }
 
 template<class Archive>

Modified: branches/release/boost/archive/polymorphic_binary_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_binary_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_binary_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -18,23 +18,26 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/binary_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_iarchive_impl<
- binary_iarchive_impl<
- binary_iarchive, std::istream::char_type, std::istream::traits_type
- >
-> polymorphic_binary_iarchive;
+class polymorphic_binary_iarchive :
+ public detail::polymorphic_iarchive_dispatch<naked_binary_iarchive>
+{
+public:
+ polymorphic_binary_iarchive(std::istream & is, unsigned int flags = 0) :
+ detail::polymorphic_iarchive_dispatch<naked_binary_iarchive>(is, flags)
+ {}
+ ~polymorphic_binary_iarchive(){}
+};
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_binary_iarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_binary_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_binary_oarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_binary_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -18,23 +18,24 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/binary_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_impl<
+typedef detail::polymorphic_oarchive_dispatch<
     binary_oarchive_impl<
- binary_oarchive, std::ostream::char_type, std::ostream::traits_type
+ naked_binary_oarchive,
+ std::ostream::char_type,
+ std::ostream::traits_type
>
> polymorphic_binary_oarchive;
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_binary_oarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -32,6 +32,7 @@
 #include <boost/archive/detail/iserializer.hpp>
 #include <boost/archive/detail/interface_iarchive.hpp>
 #include <boost/serialization/nvp.hpp>
+#include <boost/archive/detail/register_archive.hpp>
 
 // determine if its necessary to handle (u)int64_t specifically
 // i.e. that its not a synonym for (unsigned) long
@@ -54,7 +55,9 @@
     class basic_iserializer;
 }
 
-class polymorphic_iarchive :
+class polymorphic_iarchive;
+
+class polymorphic_iarchive_impl :
     public detail::interface_iarchive<polymorphic_iarchive>
 {
 #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
@@ -98,21 +101,13 @@
     virtual void load_start(const char * name) = 0;
     virtual void load_end(const char * name) = 0;
     virtual void register_basic_serializer(const detail::basic_iserializer & bis) = 0;
- virtual void lookup_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- boost::shared_ptr<void> & sph
- ) = 0;
- virtual void insert_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- boost::shared_ptr<void> & sph
- ) = 0;
 
     // msvc and borland won't automatically pass these to the base class so
     // make it explicit here
     template<class T>
     void load_override(T & t, BOOST_PFTO int)
     {
- archive::load(* this, t);
+ archive::load(* this->This(), t);
     }
     // special treatment for name-value pairs.
     template<class T>
@@ -124,9 +119,11 @@
                 int
         ){
         load_start(t.name());
- archive::load(* this, t.value());
+ archive::load(* this->This(), t.value());
         load_end(t.name());
     }
+protected:
+ virtual ~polymorphic_iarchive_impl(){}
 public:
     // utility function implemented by all legal archives
     virtual void set_library_version(unsigned int archive_library_version) = 0;
@@ -157,8 +154,24 @@
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::polymorphic_iarchive)
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive. We created a "mix-in"
+// class to provide this functionality. Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <boost/archive/shared_ptr_helper.hpp>
+
+namespace boost {
+namespace archive {
+
+class polymorphic_iarchive :
+ public polymorphic_iarchive_impl,
+ public detail::shared_ptr_helper
+{};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::polymorphic_iarchive)
 
 #endif // BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP

Modified: branches/release/boost/archive/polymorphic_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_oarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -31,6 +31,7 @@
 #include <boost/archive/detail/oserializer.hpp>
 #include <boost/archive/detail/interface_oarchive.hpp>
 #include <boost/serialization/nvp.hpp>
+#include <boost/archive/detail/register_archive.hpp>
 
 // determine if its necessary to handle (u)int64_t specifically
 // i.e. that its not a synonym for (unsigned) long
@@ -53,7 +54,9 @@
     class basic_oserializer;
 }
 
-class polymorphic_oarchive :
+class polymorphic_oarchive;
+
+class polymorphic_oarchive_impl :
     public detail::interface_oarchive<polymorphic_oarchive>
 {
 #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
@@ -97,14 +100,6 @@
     virtual void save_start(const char * name) = 0;
     virtual void save_end(const char * name) = 0;
     virtual void register_basic_serializer(const detail::basic_oserializer & bos) = 0;
- virtual void lookup_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- boost::shared_ptr<void> & sph
- ) = 0;
- virtual void insert_basic_helper(
- const boost::serialization::extended_type_info * const eti,
- shared_ptr<void> & sph
- ) = 0;
 
     virtual void end_preamble() = 0;
 
@@ -113,7 +108,7 @@
     template<class T>
     void save_override(T & t, BOOST_PFTO int)
     {
- archive::save(* this, t);
+ archive::save(* this->This(), t);
     }
     // special treatment for name-value pairs.
     template<class T>
@@ -124,9 +119,11 @@
                 ::boost::serialization::nvp<T> & t, int
         ){
         save_start(t.name());
- archive::save(* this, t.const_value());
+ archive::save(* this->This(), t.const_value());
         save_end(t.name());
     }
+protected:
+ virtual ~polymorphic_oarchive_impl(){}
 public:
     // utility functions implemented by all legal archives
     virtual unsigned int get_flags() const = 0;
@@ -143,11 +140,15 @@
     ) = 0;
 };
 
+// note: preserve naming symmetry
+class polymorphic_oarchive :
+ public polymorphic_oarchive_impl
+{};
+
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::polymorphic_oarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::polymorphic_oarchive)
 
 #endif // BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP

Modified: branches/release/boost/archive/polymorphic_text_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_text_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_text_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -18,21 +18,26 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_iarchive_impl<
- text_iarchive_impl<text_iarchive>
-> polymorphic_text_iarchive;
+class polymorphic_text_iarchive :
+ public detail::polymorphic_iarchive_dispatch<naked_text_iarchive>
+{
+public:
+ polymorphic_text_iarchive(std::istream & is, unsigned int flags = 0) :
+ detail::polymorphic_iarchive_dispatch<naked_text_iarchive>(is, flags)
+ {}
+ ~polymorphic_text_iarchive(){}
+};
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_text_iarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_text_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_text_oarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_text_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -18,21 +18,20 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_impl<
- text_oarchive_impl<text_oarchive>
+typedef detail::polymorphic_oarchive_dispatch<
+ text_oarchive_impl<naked_text_oarchive>
> polymorphic_text_oarchive;
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_text_oarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_text_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_text_wiarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_text_wiarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -22,21 +22,20 @@
 #else
 
 #include <boost/archive/text_wiarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_iarchive_impl<
- text_wiarchive_impl<text_wiarchive>
+typedef detail::polymorphic_iarchive_dispatch<
+ text_wiarchive_impl<naked_text_wiarchive>
> polymorphic_text_wiarchive;
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_text_wiarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_text_woarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_text_woarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_text_woarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -22,21 +22,20 @@
 #else
 
 #include <boost/archive/text_woarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_impl<
- text_woarchive_impl<text_woarchive>
+typedef detail::polymorphic_oarchive_dispatch<
+ text_woarchive_impl<naked_text_woarchive>
> polymorphic_text_woarchive;
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_text_woarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_xml_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_xml_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_xml_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -18,21 +18,26 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_iarchive_impl<
- xml_iarchive_impl<xml_iarchive>
-> polymorphic_xml_iarchive;
+class polymorphic_xml_iarchive :
+ public detail::polymorphic_iarchive_dispatch<naked_xml_iarchive>
+{
+public:
+ polymorphic_xml_iarchive(std::istream & is, unsigned int flags = 0) :
+ detail::polymorphic_iarchive_dispatch<naked_xml_iarchive>(is, flags)
+ {}
+ ~polymorphic_xml_iarchive(){}
+};
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_xml_iarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_xml_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_xml_oarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_xml_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -18,21 +18,20 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/xml_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_impl<
- xml_oarchive_impl<xml_oarchive>
+typedef detail::polymorphic_oarchive_dispatch<
+ xml_oarchive_impl<naked_xml_oarchive>
> polymorphic_xml_oarchive;
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_xml_oarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_xml_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_xml_wiarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_xml_wiarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -22,21 +22,20 @@
 #else
 
 #include <boost/archive/xml_wiarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_iarchive_impl<
- xml_wiarchive_impl<xml_wiarchive>
+typedef detail::polymorphic_iarchive_dispatch<
+ xml_wiarchive_impl<naked_xml_wiarchive>
> polymorphic_xml_wiarchive;
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_xml_wiarchive
 )
 

Modified: branches/release/boost/archive/polymorphic_xml_woarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_xml_woarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_xml_woarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -22,21 +22,20 @@
 #else
 
 #include <boost/archive/xml_woarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_impl.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_impl<
- xml_woarchive_impl<xml_woarchive>
+typedef detail::polymorphic_oarchive_dispatch<
+ xml_woarchive_impl<naked_xml_woarchive>
> polymorphic_xml_woarchive;
 
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_xml_woarchive
 )
 

Modified: branches/release/boost/archive/text_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_iarchive.hpp (original)
+++ branches/release/boost/archive/text_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -21,6 +21,7 @@
 #include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/basic_text_iprimitive.hpp>
 #include <boost/archive/basic_text_iarchive.hpp>
+#include <boost/config.hpp>
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
@@ -73,14 +74,38 @@
     ~text_iarchive_impl(){};
 };
 
-// do not derive from this class. If you want to extend this functionality
+// do not derive from the classes below. If you want to extend this functionality
 // via inhertance, derived from text_iarchive_impl instead. This will
 // preserve correct static polymorphism.
+
+// same as text_iarchive below - without the shared_ptr_helper
+class naked_text_iarchive :
+ public text_iarchive_impl<naked_text_iarchive>
+{
+public:
+ naked_text_iarchive(std::istream & is, unsigned int flags = 0) :
+ text_iarchive_impl<naked_text_iarchive>(is, flags)
+ {}
+ ~naked_text_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive. We created a "mix-in"
+// class to provide this functionality. Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <boost/archive/shared_ptr_helper.hpp>
+
+namespace boost {
+namespace archive {
+
 class text_iarchive :
- public text_iarchive_impl<text_iarchive>
+ public text_iarchive_impl<text_iarchive>,
+ public detail::shared_ptr_helper
 {
 public:
-
     text_iarchive(std::istream & is, unsigned int flags = 0) :
         text_iarchive_impl<text_iarchive>(is, flags)
     {}
@@ -90,9 +115,8 @@
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::text_iarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_iarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/archive/text_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_oarchive.hpp (original)
+++ branches/release/boost/archive/text_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -88,12 +88,13 @@
     ~text_oarchive(){}
 };
 
+typedef text_oarchive naked_text_oarchive;
+
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::text_oarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_oarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/archive/text_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_wiarchive.hpp (original)
+++ branches/release/boost/archive/text_wiarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -72,11 +72,36 @@
     ~text_wiarchive_impl(){};
 };
 
-// do not derive from this class. If you want to extend this functionality
-// via inhertance, derived from text_wiarchive_impl instead. This will
+// do not derive from the classes below. If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead. This will
 // preserve correct static polymorphism.
+
+// same as text_wiarchive below - without the shared_ptr_helper
+class naked_text_wiarchive :
+ public text_wiarchive_impl<naked_text_wiarchive>
+{
+public:
+ naked_text_wiarchive(std::wistream & is, unsigned int flags = 0) :
+ text_wiarchive_impl<naked_text_wiarchive>(is, flags)
+ {}
+ ~naked_text_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive. We created a "mix-in"
+// class to provide this functionality. Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <boost/archive/shared_ptr_helper.hpp>
+
+namespace boost {
+namespace archive {
+
 class text_wiarchive :
- public text_wiarchive_impl<text_wiarchive>
+ public text_wiarchive_impl<text_wiarchive>,
+ public detail::shared_ptr_helper
 {
 public:
     text_wiarchive(std::wistream & is, unsigned int flags = 0) :
@@ -88,9 +113,8 @@
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::text_wiarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_wiarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/archive/text_woarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_woarchive.hpp (original)
+++ branches/release/boost/archive/text_woarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -114,12 +114,13 @@
     ~text_woarchive(){}
 };
 
+typedef text_woarchive naked_text_woarchive;
+
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::text_woarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_woarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/archive/xml_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_iarchive.hpp (original)
+++ branches/release/boost/archive/xml_iarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -83,14 +83,36 @@
     ~xml_iarchive_impl();
 };
 
-// we use the following because we can't use
-// typedef xml_iarchive_impl<xml_iarchive_impl<...> > xml_iarchive;
-
-// do not derive from this class. If you want to extend this functionality
-// via inhertance, derived from xml_iarchive_impl instead. This will
+// do not derive from the classes below. If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead. This will
 // preserve correct static polymorphism.
+
+// same as xml_iarchive below - without the shared_ptr_helper
+class naked_xml_iarchive :
+ public xml_iarchive_impl<naked_xml_iarchive>
+{
+public:
+ naked_xml_iarchive(std::istream & is, unsigned int flags = 0) :
+ xml_iarchive_impl<naked_xml_iarchive>(is, flags)
+ {}
+ ~naked_xml_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive. We created a "mix-in"
+// class to provide this functionality. Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <boost/archive/shared_ptr_helper.hpp>
+
+namespace boost {
+namespace archive {
+
 class xml_iarchive :
- public xml_iarchive_impl<xml_iarchive>
+ public xml_iarchive_impl<xml_iarchive>,
+ public detail::shared_ptr_helper
 {
 public:
     xml_iarchive(std::istream & is, unsigned int flags = 0) :
@@ -102,9 +124,8 @@
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::xml_iarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_iarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/archive/xml_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_oarchive.hpp (original)
+++ branches/release/boost/archive/xml_oarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -48,9 +48,9 @@
     friend class save_access;
 protected:
 #endif
- void end_preamble(){
- basic_xml_oarchive<Archive>::end_preamble();
- }
+ //void end_preamble(){
+ // basic_xml_oarchive<Archive>::end_preamble();
+ //}
     template<class T>
     void save(const T & t){
         basic_text_oprimitive<std::ostream>::save(t);
@@ -101,12 +101,13 @@
     ~xml_oarchive(){}
 };
 
+typedef xml_oarchive naked_xml_oarchive;
+
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::xml_oarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_oarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/archive/xml_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_wiarchive.hpp (original)
+++ branches/release/boost/archive/xml_wiarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -87,14 +87,36 @@
     ~xml_wiarchive_impl();
 };
 
-// we use the following because we can't use
-// typedef xml_wiarchive_impl<xml_wiarchive_impl<...> > xml_wiarchive;
-
-// do not derive from this class. If you want to extend this functionality
-// via inhertance, derived from xml_wiarchive_impl instead. This will
+// do not derive from the classes below. If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead. This will
 // preserve correct static polymorphism.
+
+// same as xml_wiarchive below - without the shared_ptr_helper
+class naked_xml_wiarchive :
+ public xml_wiarchive_impl<naked_xml_wiarchive>
+{
+public:
+ naked_xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
+ xml_wiarchive_impl<naked_xml_wiarchive>(is, flags)
+ {}
+ ~naked_xml_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive. We created a "mix-in"
+// class to provide this functionality. Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <boost/archive/shared_ptr_helper.hpp>
+
+namespace boost {
+namespace archive {
+
 class xml_wiarchive :
- public xml_wiarchive_impl<xml_wiarchive>
+ public xml_wiarchive_impl<xml_wiarchive>,
+ public detail::shared_ptr_helper
 {
 public:
     xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
@@ -106,9 +128,8 @@
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::xml_wiarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_wiarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/archive/xml_woarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_woarchive.hpp (original)
+++ branches/release/boost/archive/xml_woarchive.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -58,9 +58,9 @@
     friend class save_access;
 protected:
 #endif
- void end_preamble(){
- basic_xml_oarchive<Archive>::end_preamble();
- }
+ //void end_preamble(){
+ // basic_xml_oarchive<Archive>::end_preamble();
+ //}
     template<class T>
     void
     save(const T & t){
@@ -113,12 +113,13 @@
     ~xml_woarchive(){}
 };
 
+typedef xml_woarchive naked_xml_woarchive;
+
 } // namespace archive
 } // namespace boost
 
-// required by smart_cast for compilers not implementing
-// partial template specialization
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::archive::xml_woarchive)
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_woarchive)
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/release/boost/array.hpp
==============================================================================
--- branches/release/boost/array.hpp (original)
+++ branches/release/boost/array.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -157,7 +157,7 @@
         // check range (may be private because it is static)
         static void rangecheck (size_type i) {
             if (i >= size()) {
- throw std::range_error("array<>: index out of range");
+ throw std::out_of_range("array<>: index out of range");
             }
         }
 
@@ -271,7 +271,7 @@
 
         // check range (may be private because it is static)
         static reference failed_rangecheck () {
- std::range_error e("attempt to access element of an empty array");
+ std::out_of_range e("attempt to access element of an empty array");
                 boost::throw_exception(e);
                 //
                 // We need to return something here to keep

Modified: branches/release/boost/assert.hpp
==============================================================================
--- branches/release/boost/assert.hpp (original)
+++ branches/release/boost/assert.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -2,6 +2,7 @@
 // boost/assert.hpp - BOOST_ASSERT(expr)
 //
 // Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
+// Copyright (c) 2007 Peter Dimov
 //
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
@@ -35,3 +36,15 @@
 # include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same
 # define BOOST_ASSERT(expr) assert(expr)
 #endif
+
+#undef BOOST_VERIFY
+
+#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )
+
+# define BOOST_VERIFY(expr) ((void)(expr))
+
+#else
+
+# define BOOST_VERIFY(expr) BOOST_ASSERT(expr)
+
+#endif

Modified: branches/release/boost/assign/ptr_list_of.hpp
==============================================================================
--- branches/release/boost/assign/ptr_list_of.hpp (original)
+++ branches/release/boost/assign/ptr_list_of.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -37,8 +37,9 @@
 namespace assign_detail
 {
     /////////////////////////////////////////////////////////////////////////
- // Part 0: flexible and efficient interface
- /////////////////////////////////////////////////////////////////////////
+ // Part 1: flexible and efficient interface
+ /////////////////////////////////////////////////////////////////////////
+
     template< class T >
     class generic_ptr_list
     {
@@ -57,10 +58,11 @@
         generic_ptr_list() : values_( 32u )
         { }
 
+ /*
         generic_ptr_list( const generic_ptr_list& r )
         {
             values_.swap(r.values_);
- }
+ }*/
         
         generic_ptr_list( release_type r ) : values_(r)
         { }
@@ -78,11 +80,19 @@
 
     public:
 
- template< class PtrContainer >
- operator std::auto_ptr<PtrContainer>() const
+ operator impl_type() const
         {
- PtrContainer* type = 0;
- return convert( type );
+ return values_;
+ }
+
+ template< template<class,class,class> class Seq, class U,
+ class CA, class A >
+ operator Seq<U,CA,A>() const
+ {
+ Seq<U,CA,A> result;
+ result.transfer( result.end(), values_ );
+ BOOST_ASSERT( empty() );
+ return result;
         }
 
         template< class PtrContainer >

Modified: branches/release/boost/bind.hpp
==============================================================================
--- branches/release/boost/bind.hpp (original)
+++ branches/release/boost/bind.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -25,6 +25,7 @@
 #include <boost/ref.hpp>
 #include <boost/mem_fn.hpp>
 #include <boost/type.hpp>
+#include <boost/is_placeholder.hpp>
 #include <boost/bind/arg.hpp>
 #include <boost/detail/workaround.hpp>
 #include <boost/visit_each.hpp>
@@ -933,11 +934,32 @@
 
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
 
+#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) )
+
 template<class T> struct add_value
 {
     typedef _bi::value<T> type;
 };
 
+#else
+
+template< class T, int I > struct add_value_2
+{
+ typedef boost::arg<I> type;
+};
+
+template< class T > struct add_value_2< T, 0 >
+{
+ typedef _bi::value< T > type;
+};
+
+template<class T> struct add_value
+{
+ typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type;
+};
+
+#endif
+
 template<class T> struct add_value< value<T> >
 {
     typedef _bi::value<T> type;
@@ -1196,6 +1218,22 @@
 
 #endif
 
+// is_bind_expression
+
+template< class T > struct is_bind_expression
+{
+ enum _vt { value = 0 };
+};
+
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+
+template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >
+{
+ enum _vt { value = 1 };
+};
+
+#endif
+
 // bind
 
 #ifndef BOOST_BIND

Modified: branches/release/boost/bind/arg.hpp
==============================================================================
--- branches/release/boost/bind/arg.hpp (original)
+++ branches/release/boost/bind/arg.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -19,18 +19,44 @@
 // See http://www.boost.org/libs/bind/bind.html for documentation.
 //
 
+#include <boost/config.hpp>
+#include <boost/is_placeholder.hpp>
+
 namespace boost
 {
 
-template<int I> class arg
+template< int I > struct arg
 {
+ arg()
+ {
+ }
+
+ template< class T > arg( T const & /* t */ )
+ {
+ // static assert I == is_placeholder<T>::value
+ typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];
+ }
 };
 
-template<int I> bool operator==(arg<I> const &, arg<I> const &)
+template< int I > bool operator==( arg<I> const &, arg<I> const & )
 {
     return true;
 }
 
+#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+
+template< int I > struct is_placeholder< arg<I> >
+{
+ enum _vt { value = I };
+};
+
+template< int I > struct is_placeholder< arg<I> (*) () >
+{
+ enum _vt { value = I };
+};
+
+#endif
+
 } // namespace boost
 
 #endif // #ifndef BOOST_BIND_ARG_HPP_INCLUDED

Modified: branches/release/boost/bind/bind_template.hpp
==============================================================================
--- branches/release/boost/bind/bind_template.hpp (original)
+++ branches/release/boost/bind/bind_template.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -122,6 +122,23 @@
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)
+ {
+ list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+ template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const
+ {
+ list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+#endif
+
     template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)
     {
         list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);
@@ -134,6 +151,23 @@
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)
+ {
+ list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+ template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const
+ {
+ list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+#endif
+
     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)
     {
         list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);
@@ -146,6 +180,23 @@
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)
+ {
+ list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const
+ {
+ list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+#endif
+
     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)
     {
         list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);
@@ -158,6 +209,23 @@
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)
+ {
+ list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const
+ {
+ list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+#endif
+
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)
     {
         list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);
@@ -170,6 +238,23 @@
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)
+ {
+ list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const
+ {
+ list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+#endif
+
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)
     {
         list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);
@@ -182,6 +267,23 @@
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8)
+ {
+ list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const
+ {
+ list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+#endif
+
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)
     {
         list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
@@ -194,6 +296,23 @@
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
+#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9)
+ {
+ list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const
+ {
+ list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
+ BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+ }
+
+#endif
+
     template<class A> result_type eval(A & a)
     {
         BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);

Modified: branches/release/boost/bind/placeholders.hpp
==============================================================================
--- branches/release/boost/bind/placeholders.hpp (original)
+++ branches/release/boost/bind/placeholders.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -25,7 +25,7 @@
 namespace
 {
 
-#if defined(__BORLANDC__) || defined(__GNUC__)
+#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ <= 400)
 
 static inline boost::arg<1> _1() { return boost::arg<1>(); }
 static inline boost::arg<2> _2() { return boost::arg<2>(); }

Modified: branches/release/boost/concept_check.hpp
==============================================================================
--- branches/release/boost/concept_check.hpp (original)
+++ branches/release/boost/concept_check.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -13,234 +13,153 @@
 // See http://www.boost.org/libs/concept_check for documentation.
 
 #ifndef BOOST_CONCEPT_CHECKS_HPP
-#define BOOST_CONCEPT_CHECKS_HPP
+# define BOOST_CONCEPT_CHECKS_HPP
 
-#include <boost/config.hpp>
-#include <boost/iterator.hpp>
-#include <boost/type_traits/conversion_traits.hpp>
-#include <utility>
-#include <boost/type_traits/conversion_traits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/mpl/identity.hpp>
+# include <boost/concept/assert.hpp>
 
+# include <boost/iterator.hpp>
+# include <boost/type_traits/conversion_traits.hpp>
+# include <utility>
+# include <boost/type_traits/is_same.hpp>
+# include <boost/type_traits/is_void.hpp>
+# include <boost/mpl/assert.hpp>
+# include <boost/mpl/bool.hpp>
+# include <boost/detail/workaround.hpp>
+# include <boost/detail/iterator.hpp>
 
-#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__BORLANDC__)
-#define BOOST_FPTR
-#else
-#define BOOST_FPTR &
-#endif
-
-namespace boost {
+# include <boost/concept/usage.hpp>
+# include <boost/concept/detail/concept_def.hpp>
 
-/*
- "inline" is used for ignore_unused_variable_warning()
- and function_requires() to make sure there is no
- overhead with g++.
- */
-
-template <class T> inline void ignore_unused_variable_warning(const T&) { }
-
-// the unused, defaulted parameter is a workaround for MSVC and Compaq C++
-template <class Concept>
-inline void function_requires(mpl::identity<Concept>* = 0)
+namespace boost
 {
-#if !defined(NDEBUG)
- void (Concept::*x)() = BOOST_FPTR Concept::constraints;
- ignore_unused_variable_warning(x);
-#endif
-}
-
-#define BOOST_CLASS_REQUIRE(type_var, ns, concept) \
- typedef void (ns::concept <type_var>::* func##type_var##concept)(); \
- template <func##type_var##concept Tp1_> \
- struct concept_checking_##type_var##concept { }; \
- typedef concept_checking_##type_var##concept< \
- BOOST_FPTR ns::concept<type_var>::constraints> \
- concept_checking_typedef_##type_var##concept
-
-#define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept) \
- typedef void (ns::concept <type_var1,type_var2>::* \
- func##type_var1##type_var2##concept)(); \
- template <func##type_var1##type_var2##concept Tp1_> \
- struct concept_checking_##type_var1##type_var2##concept { }; \
- typedef concept_checking_##type_var1##type_var2##concept< \
- BOOST_FPTR ns::concept<type_var1,type_var2>::constraints> \
- concept_checking_typedef_##type_var1##type_var2##concept
-
-#define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept) \
- typedef void (ns::concept <tv1,tv2,tv3>::* \
- func##tv1##tv2##tv3##concept)(); \
- template <func##tv1##tv2##tv3##concept Tp1_> \
- struct concept_checking_##tv1##tv2##tv3##concept { }; \
- typedef concept_checking_##tv1##tv2##tv3##concept< \
- BOOST_FPTR ns::concept<tv1,tv2,tv3>::constraints> \
- concept_checking_typedef_##tv1##tv2##tv3##concept
-
-#define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \
- typedef void (ns::concept <tv1,tv2,tv3,tv4>::* \
- func##tv1##tv2##tv3##tv4##concept)(); \
- template <func##tv1##tv2##tv3##tv4##concept Tp1_> \
- struct concept_checking_##tv1##tv2##tv3##tv4##concept { }; \
- typedef concept_checking_##tv1##tv2##tv3##tv4##concept< \
- BOOST_FPTR ns::concept<tv1,tv2,tv3,tv4>::constraints> \
- concept_checking_typedef_##tv1##tv2##tv3##tv4##concept
-
-// NOTE: The BOOST_CLASS_REQUIRES (with an 'S' at the end) is deprecated.
-
-// The BOOST_CLASS_REQUIRES macros use function pointers as
-// template parameters, which VC++ does not support.
-
-#if defined(BOOST_NO_FUNCTION_PTR_TEMPLATE_PARAMETERS)
-
-#define BOOST_CLASS_REQUIRES(type_var, concept)
-#define BOOST_CLASS_REQUIRES2(type_var1, type_var2, concept)
-#define BOOST_CLASS_REQUIRES3(type_var1, type_var2, type_var3, concept)
-#define BOOST_CLASS_REQUIRES4(type_var1, type_var2, type_var3, type_var4, concept)
-
-#else
-
-#define BOOST_CLASS_REQUIRES(type_var, concept) \
- typedef void (concept <type_var>::* func##type_var##concept)(); \
- template <func##type_var##concept Tp1_> \
- struct concept_checking_##type_var##concept { }; \
- typedef concept_checking_##type_var##concept< \
- BOOST_FPTR concept <type_var>::constraints> \
- concept_checking_typedef_##type_var##concept
-
-#define BOOST_CLASS_REQUIRES2(type_var1, type_var2, concept) \
- typedef void (concept <type_var1,type_var2>::* func##type_var1##type_var2##concept)(); \
- template <func##type_var1##type_var2##concept Tp1_> \
- struct concept_checking_##type_var1##type_var2##concept { }; \
- typedef concept_checking_##type_var1##type_var2##concept< \
- BOOST_FPTR concept <type_var1,type_var2>::constraints> \
- concept_checking_typedef_##type_var1##type_var2##concept
-
-#define BOOST_CLASS_REQUIRES3(type_var1, type_var2, type_var3, concept) \
- typedef void (concept <type_var1,type_var2,type_var3>::* func##type_var1##type_var2##type_var3##concept)(); \
- template <func##type_var1##type_var2##type_var3##concept Tp1_> \
- struct concept_checking_##type_var1##type_var2##type_var3##concept { }; \
- typedef concept_checking_##type_var1##type_var2##type_var3##concept< \
- BOOST_FPTR concept <type_var1,type_var2,type_var3>::constraints> \
- concept_checking_typedef_##type_var1##type_var2##type_var3##concept
-
-#define BOOST_CLASS_REQUIRES4(type_var1, type_var2, type_var3, type_var4, concept) \
- typedef void (concept <type_var1,type_var2,type_var3,type_var4>::* func##type_var1##type_var2##type_var3##type_var4##concept)(); \
- template <func##type_var1##type_var2##type_var3##type_var4##concept Tp1_> \
- struct concept_checking_##type_var1##type_var2##type_var3##type_var4##concept { }; \
- typedef concept_checking_##type_var1##type_var2##type_var3##type_var4##concept< \
- BOOST_FPTR concept <type_var1,type_var2,type_var3,type_var4>::constraints> \
- concept_checking_typedef_##type_var1##type_var2##type_var3##type_var4##concept
-
-
-#endif
 
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <class T, class U>
-struct require_same { };
-
-template <class T>
-struct require_same<T,T> { typedef T type; };
-#else
-// This version does not perform checking, but will not do any harm.
-template <class T, class U>
-struct require_same { typedef T type; };
-#endif
+ //
+ // Backward compatibility
+ //
+
+ template <class Model>
+ inline void function_requires(Model* = 0)
+ {
+ BOOST_CONCEPT_ASSERT((Model));
+ }
+ template <class T> inline void ignore_unused_variable_warning(T const&) {}
+
+# define BOOST_CLASS_REQUIRE(type_var, ns, concept) \
+ BOOST_CONCEPT_ASSERT((ns::concept<type_var>))
+
+# define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept) \
+ BOOST_CONCEPT_ASSERT((ns::concept<type_var1,type_var2>))
+
+# define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept) \
+ BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3>))
+
+# define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \
+ BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3,tv4>))
+
+
+ //
+ // Begin concept definitions
+ //
+ BOOST_concept(Integer, (T))
+ {
+ BOOST_CONCEPT_USAGE(Integer)
+ {
+ x.error_type_must_be_an_integer_type();
+ }
+ private:
+ T x;
+ };
+
+ template <> struct Integer<signed char> {};
+ template <> struct Integer<unsigned char> {};
+ template <> struct Integer<short> {};
+ template <> struct Integer<unsigned short> {};
+ template <> struct Integer<int> {};
+ template <> struct Integer<unsigned int> {};
+ template <> struct Integer<long> {};
+ template <> struct Integer<unsigned long> {};
+# if defined(BOOST_HAS_LONG_LONG)
+ template <> struct Integer< ::boost::long_long_type> {};
+ template <> struct Integer< ::boost::ulong_long_type> {};
+# elif defined(BOOST_HAS_MS_INT64)
+ template <> struct Integer<__int64> {};
+ template <> struct Integer<unsigned __int64> {};
+# endif
 
- template <class T>
- struct IntegerConcept {
- void constraints() {
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- x.error_type_must_be_an_integer_type();
-#endif
- }
- T x;
- };
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template <> struct IntegerConcept<short> { void constraints() {} };
- template <> struct IntegerConcept<unsigned short> { void constraints() {} };
- template <> struct IntegerConcept<int> { void constraints() {} };
- template <> struct IntegerConcept<unsigned int> { void constraints() {} };
- template <> struct IntegerConcept<long> { void constraints() {} };
- template <> struct IntegerConcept<unsigned long> { void constraints() {} };
- // etc.
-#endif
-
- template <class T>
- struct SignedIntegerConcept {
- void constraints() {
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+ BOOST_concept(SignedInteger,(T)) {
+ BOOST_CONCEPT_USAGE(SignedInteger) {
       x.error_type_must_be_a_signed_integer_type();
-#endif
     }
+ private:
     T x;
   };
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template <> struct SignedIntegerConcept<short> { void constraints() {} };
- template <> struct SignedIntegerConcept<int> { void constraints() {} };
- template <> struct SignedIntegerConcept<long> { void constraints() {} };
+ template <> struct SignedInteger<signed char> { };
+ template <> struct SignedInteger<short> {};
+ template <> struct SignedInteger<int> {};
+ template <> struct SignedInteger<long> {};
 # if defined(BOOST_HAS_LONG_LONG)
- template <> struct SignedIntegerConcept< ::boost::long_long_type> { void constraints() {} };
-# endif
- // etc.
-#endif
+ template <> struct SignedInteger< ::boost::long_long_type> {};
+# elif defined(BOOST_HAS_MS_INT64)
+ template <> struct SignedInteger<__int64> {};
+# endif
 
- template <class T>
- struct UnsignedIntegerConcept {
- void constraints() {
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+ BOOST_concept(UnsignedInteger,(T)) {
+ BOOST_CONCEPT_USAGE(UnsignedInteger) {
       x.error_type_must_be_an_unsigned_integer_type();
-#endif
     }
+ private:
     T x;
   };
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template <> struct UnsignedIntegerConcept<unsigned short>
- { void constraints() {} };
- template <> struct UnsignedIntegerConcept<unsigned int>
- { void constraints() {} };
- template <> struct UnsignedIntegerConcept<unsigned long>
- { void constraints() {} };
- // etc.
-#endif
+
+ template <> struct UnsignedInteger<unsigned char> {};
+ template <> struct UnsignedInteger<unsigned short> {};
+ template <> struct UnsignedInteger<unsigned int> {};
+ template <> struct UnsignedInteger<unsigned long> {};
+# if defined(BOOST_HAS_LONG_LONG)
+ template <> struct UnsignedInteger< ::boost::ulong_long_type> {};
+# elif defined(BOOST_HAS_MS_INT64)
+ template <> struct UnsignedInteger<unsigned __int64> {};
+# endif
 
   //===========================================================================
   // Basic Concepts
 
- template <class TT>
- struct DefaultConstructibleConcept
+ BOOST_concept(DefaultConstructible,(TT))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(DefaultConstructible) {
       TT a; // require default constructor
       ignore_unused_variable_warning(a);
     }
   };
 
- template <class TT>
- struct AssignableConcept
+ BOOST_concept(Assignable,(TT))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(Assignable) {
 #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
- a = a; // require assignment operator
+ a = a; // require assignment operator
 #endif
       const_constraints(a);
     }
+ private:
     void const_constraints(const TT& b) {
 #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
       a = b; // const required for argument to assignment
 #endif
     }
+ private:
     TT a;
   };
 
- template <class TT>
- struct CopyConstructibleConcept
+
+ BOOST_concept(CopyConstructible,(TT))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(CopyConstructible) {
       TT a(b); // require copy constructor
       TT* ptr = &a; // require address of operator
       const_constraints(a);
       ignore_unused_variable_warning(ptr);
     }
+ private:
     void const_constraints(const TT& a) {
       TT c(a); // require const copy constructor
       const TT* ptr = &a; // require const address of operator
@@ -251,10 +170,9 @@
   };
 
   // The SGI STL version of Assignable requires copy constructor and operator=
- template <class TT>
- struct SGIAssignableConcept
+ BOOST_concept(SGIAssignable,(TT))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(SGIAssignable) {
       TT b(a);
 #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
       a = a; // require assignment operator
@@ -262,6 +180,7 @@
       const_constraints(a);
       ignore_unused_variable_warning(b);
     }
+ private:
     void const_constraints(const TT& b) {
       TT c(b);
 #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
@@ -272,13 +191,13 @@
     TT a;
   };
 
- template <class X, class Y>
- struct ConvertibleConcept
+ BOOST_concept(Convertible,(X)(Y))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(Convertible) {
       Y y = x;
       ignore_unused_variable_warning(y);
     }
+ private:
     X x;
   };
 
@@ -297,177 +216,166 @@
     ignore_unused_variable_warning(x);
   }
 
- template <class TT>
- struct EqualityComparableConcept
+ BOOST_concept(EqualityComparable,(TT))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(EqualityComparable) {
       require_boolean_expr(a == b);
       require_boolean_expr(a != b);
     }
+ private:
     TT a, b;
   };
 
- template <class TT>
- struct LessThanComparableConcept
+ BOOST_concept(LessThanComparable,(TT))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(LessThanComparable) {
       require_boolean_expr(a < b);
     }
+ private:
     TT a, b;
   };
 
   // This is equivalent to SGI STL's LessThanComparable.
- template <class TT>
- struct ComparableConcept
+ BOOST_concept(Comparable,(TT))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(Comparable) {
       require_boolean_expr(a < b);
       require_boolean_expr(a > b);
       require_boolean_expr(a <= b);
       require_boolean_expr(a >= b);
     }
+ private:
     TT a, b;
   };
 
-#define BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(OP,NAME) \
- template <class First, class Second> \
- struct NAME { \
- void constraints() { (void)constraints_(); } \
- bool constraints_() { \
- return a OP b; \
- } \
- First a; \
- Second b; \
+#define BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(OP,NAME) \
+ BOOST_concept(NAME, (First)(Second)) \
+ { \
+ BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); } \
+ private: \
+ bool constraints_() { return a OP b; } \
+ First a; \
+ Second b; \
   }
 
-#define BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(OP,NAME) \
- template <class Ret, class First, class Second> \
- struct NAME { \
- void constraints() { (void)constraints_(); } \
- Ret constraints_() { \
- return a OP b; \
- } \
- First a; \
- Second b; \
+#define BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(OP,NAME) \
+ BOOST_concept(NAME, (Ret)(First)(Second)) \
+ { \
+ BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); } \
+ private: \
+ Ret constraints_() { return a OP b; } \
+ First a; \
+ Second b; \
   }
 
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, EqualOpConcept);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, NotEqualOpConcept);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, LessThanOpConcept);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, LessEqualOpConcept);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, GreaterThanOpConcept);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, GreaterEqualOpConcept);
-
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, PlusOpConcept);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, TimesOpConcept);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, DivideOpConcept);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, SubtractOpConcept);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, ModOpConcept);
+ BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, EqualOp);
+ BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, NotEqualOp);
+ BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, LessThanOp);
+ BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, LessEqualOp);
+ BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, GreaterThanOp);
+ BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, GreaterEqualOp);
+
+ BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, PlusOp);
+ BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, TimesOp);
+ BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, DivideOp);
+ BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, SubtractOp);
+ BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, ModOp);
 
   //===========================================================================
   // Function Object Concepts
 
- template <class Func, class Return>
- struct GeneratorConcept
+ BOOST_concept(Generator,(Func)(Return))
   {
- void constraints() {
- const Return& r = f(); // require operator() member function
- ignore_unused_variable_warning(r);
- }
- Func f;
- };
-
-
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template <class Func>
- struct GeneratorConcept<Func,void>
- {
- void constraints() {
- f(); // require operator() member function
- }
- Func f;
- };
-#endif
-
- template <class Func, class Return, class Arg>
- struct UnaryFunctionConcept
- {
- // required in case any of our template args are const-qualified:
- UnaryFunctionConcept();
-
- void constraints() {
- r = f(arg); // require operator()
- }
- Func f;
- Arg arg;
- Return r;
- };
-
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template <class Func, class Arg>
- struct UnaryFunctionConcept<Func, void, Arg> {
- void constraints() {
- f(arg); // require operator()
- }
- Func f;
- Arg arg;
+ BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
+
+ private:
+ void test(boost::mpl::false_)
+ {
+ // Do we really want a reference here?
+ const Return& r = f();
+ ignore_unused_variable_warning(r);
+ }
+
+ void test(boost::mpl::true_)
+ {
+ f();
+ }
+
+ Func f;
   };
-#endif
 
- template <class Func, class Return, class First, class Second>
- struct BinaryFunctionConcept
+ BOOST_concept(UnaryFunction,(Func)(Return)(Arg))
   {
- void constraints() {
- r = f(first, second); // require operator()
- }
- Func f;
- First first;
- Second second;
- Return r;
+ BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
+
+ private:
+ void test(boost::mpl::false_)
+ {
+ f(arg); // "priming the pump" this way keeps msvc6 happy (ICE)
+ Return r = f(arg);
+ ignore_unused_variable_warning(r);
+ }
+
+ void test(boost::mpl::true_)
+ {
+ f(arg);
+ }
+
+ Func f;
+ Arg arg;
   };
 
-#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template <class Func, class First, class Second>
- struct BinaryFunctionConcept<Func, void, First, Second>
+ BOOST_concept(BinaryFunction,(Func)(Return)(First)(Second))
   {
- void constraints() {
- f(first, second); // require operator()
- }
- Func f;
- First first;
- Second second;
+ BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
+ private:
+ void test(boost::mpl::false_)
+ {
+ f(first,second);
+ Return r = f(first, second); // require operator()
+ (void)r;
+ }
+
+ void test(boost::mpl::true_)
+ {
+ f(first,second);
+ }
+
+ Func f;
+ First first;
+ Second second;
   };
-#endif
 
- template <class Func, class Arg>
- struct UnaryPredicateConcept
+ BOOST_concept(UnaryPredicate,(Func)(Arg))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(UnaryPredicate) {
       require_boolean_expr(f(arg)); // require operator() returning bool
     }
+ private:
     Func f;
     Arg arg;
   };
 
- template <class Func, class First, class Second>
- struct BinaryPredicateConcept
+ BOOST_concept(BinaryPredicate,(Func)(First)(Second))
   {
- void constraints() {
+ BOOST_CONCEPT_USAGE(BinaryPredicate) {
       require_boolean_expr(f(a, b)); // require operator() returning bool
     }
+ private:
     Func f;
     First a;
     Second b;
   };
 
   // use this when functor is used inside a container class like std::set
- template <class Func, class First, class Second>
- struct Const_BinaryPredicateConcept {
- void constraints() {
+ BOOST_concept(Const_BinaryPredicate,(Func)(First)(Second))
+ : BinaryPredicate<Func, First, Second>
+ {
+ BOOST_CONCEPT_USAGE(Const_BinaryPredicate) {
       const_constraints(f);
     }
+ private:
     void const_constraints(const Func& fun) {
- function_requires<BinaryPredicateConcept<Func, First, Second> >();
       // operator() must be a const member function
       require_boolean_expr(fun(a, b));
     }
@@ -476,581 +384,605 @@
     Second b;
   };
 
- template <class Func, class Return>
- struct AdaptableGeneratorConcept
+ BOOST_concept(AdaptableGenerator,(Func)(Return))
+ : Generator<Func, typename Func::result_type>
   {
- void constraints() {
       typedef typename Func::result_type result_type;
- BOOST_STATIC_ASSERT((is_convertible<result_type, Return>::value));
- function_requires< GeneratorConcept<Func, result_type> >();
- }
+
+ BOOST_CONCEPT_USAGE(AdaptableGenerator)
+ {
+ BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
+ }
   };
 
- template <class Func, class Return, class Arg>
- struct AdaptableUnaryFunctionConcept
+ BOOST_concept(AdaptableUnaryFunction,(Func)(Return)(Arg))
+ : UnaryFunction<Func, typename Func::result_type, typename Func::argument_type>
   {
- void constraints() {
       typedef typename Func::argument_type argument_type;
       typedef typename Func::result_type result_type;
- BOOST_STATIC_ASSERT((is_convertible<result_type, Return>::value));
- BOOST_STATIC_ASSERT((is_convertible<Arg, argument_type>::value));
- function_requires< UnaryFunctionConcept<Func, result_type, argument_type> >();
- }
+
+ ~AdaptableUnaryFunction()
+ {
+ BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
+ BOOST_CONCEPT_ASSERT((Convertible<Arg, argument_type>));
+ }
   };
 
- template <class Func, class Return, class First, class Second>
- struct AdaptableBinaryFunctionConcept
+ BOOST_concept(AdaptableBinaryFunction,(Func)(Return)(First)(Second))
+ : BinaryFunction<
+ Func
+ , typename Func::result_type
+ , typename Func::first_argument_type
+ , typename Func::second_argument_type
+ >
   {
- void constraints() {
       typedef typename Func::first_argument_type first_argument_type;
       typedef typename Func::second_argument_type second_argument_type;
       typedef typename Func::result_type result_type;
- BOOST_STATIC_ASSERT((is_convertible<result_type, Return>::value));
- BOOST_STATIC_ASSERT((is_convertible<First, first_argument_type>::value));
- BOOST_STATIC_ASSERT((is_convertible<Second, second_argument_type>::value));
- function_requires< BinaryFunctionConcept<Func, result_type,
- first_argument_type, second_argument_type> >();
- }
+
+ ~AdaptableBinaryFunction()
+ {
+ BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
+ BOOST_CONCEPT_ASSERT((Convertible<First, first_argument_type>));
+ BOOST_CONCEPT_ASSERT((Convertible<Second, second_argument_type>));
+ }
   };
 
- template <class Func, class Arg>
- struct AdaptablePredicateConcept
+ BOOST_concept(AdaptablePredicate,(Func)(Arg))
+ : UnaryPredicate<Func, Arg>
+ , AdaptableUnaryFunction<Func, bool, Arg>
   {
- void constraints() {
- function_requires< UnaryPredicateConcept<Func, Arg> >();
- function_requires< AdaptableUnaryFunctionConcept<Func, bool, Arg> >();
- }
   };
 
- template <class Func, class First, class Second>
- struct AdaptableBinaryPredicateConcept
+ BOOST_concept(AdaptableBinaryPredicate,(Func)(First)(Second))
+ : BinaryPredicate<Func, First, Second>
+ , AdaptableBinaryFunction<Func, bool, First, Second>
   {
- void constraints() {
- function_requires< BinaryPredicateConcept<Func, First, Second> >();
- function_requires< AdaptableBinaryFunctionConcept<Func, bool, First, Second> >();
- }
   };
 
   //===========================================================================
   // Iterator Concepts
 
- template <class TT>
- struct InputIteratorConcept
- {
- void constraints() {
- function_requires< AssignableConcept<TT> >();
- function_requires< EqualityComparableConcept<TT> >();
- TT j(i);
- (void)*i; // require dereference operator
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
- // require iterator_traits typedef's
- typedef typename std::iterator_traits<TT>::difference_type D;
- // Hmm, the following is a bit fragile
- //function_requires< SignedIntegerConcept<D> >();
- typedef typename std::iterator_traits<TT>::reference R;
- typedef typename std::iterator_traits<TT>::pointer P;
- typedef typename std::iterator_traits<TT>::iterator_category C;
- function_requires< ConvertibleConcept<C, std::input_iterator_tag> >();
-#endif
- ++j; // require preincrement operator
- i++; // require postincrement operator
- }
+ BOOST_concept(InputIterator,(TT))
+ : Assignable<TT>
+ , EqualityComparable<TT>
+ {
+ typedef typename boost::detail::iterator_traits<TT>::value_type value_type;
+ typedef typename boost::detail::iterator_traits<TT>::difference_type difference_type;
+ typedef typename boost::detail::iterator_traits<TT>::reference reference;
+ typedef typename boost::detail::iterator_traits<TT>::pointer pointer;
+ typedef typename boost::detail::iterator_traits<TT>::iterator_category iterator_category;
+
+ BOOST_CONCEPT_USAGE(InputIterator)
+ {
+ BOOST_CONCEPT_ASSERT((SignedInteger<difference_type>));
+ BOOST_CONCEPT_ASSERT((Convertible<iterator_category, std::input_iterator_tag>));
+
+ TT j(i);
+ (void)*i; // require dereference operator
+ ++j; // require preincrement operator
+ i++; // require postincrement operator
+ }
+ private:
     TT i;
   };
 
- template <class TT, class ValueT>
- struct OutputIteratorConcept
+ BOOST_concept(OutputIterator,(TT)(ValueT))
+ : Assignable<TT>
   {
- void constraints() {
- function_requires< AssignableConcept<TT> >();
+ BOOST_CONCEPT_USAGE(OutputIterator) {
+
       ++i; // require preincrement operator
       i++; // require postincrement operator
       *i++ = t; // require postincrement and assignment
     }
+ private:
     TT i, j;
     ValueT t;
   };
 
- template <class TT>
- struct ForwardIteratorConcept
- {
- void constraints() {
- function_requires< InputIteratorConcept<TT> >();
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
- typedef typename std::iterator_traits<TT>::iterator_category C;
- function_requires< ConvertibleConcept<C, std::forward_iterator_tag> >();
- typedef typename std::iterator_traits<TT>::reference reference;
- reference r = *i;
- ignore_unused_variable_warning(r);
-#endif
- }
- TT i;
- };
-
- template <class TT>
- struct Mutable_ForwardIteratorConcept
- {
- void constraints() {
- function_requires< ForwardIteratorConcept<TT> >();
- *i++ = *i; // require postincrement and assignment
- }
- TT i;
- };
-
- template <class TT>
- struct BidirectionalIteratorConcept
- {
- void constraints() {
- function_requires< ForwardIteratorConcept<TT> >();
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
- typedef typename std::iterator_traits<TT>::iterator_category C;
- function_requires< ConvertibleConcept<C,
- std::bidirectional_iterator_tag> >();
-#endif
- --i; // require predecrement operator
- i--; // require postdecrement operator
- }
- TT i;
- };
-
- template <class TT>
- struct Mutable_BidirectionalIteratorConcept
+ BOOST_concept(ForwardIterator,(TT))
+ : InputIterator<TT>
   {
- void constraints() {
- function_requires< BidirectionalIteratorConcept<TT> >();
- function_requires< Mutable_ForwardIteratorConcept<TT> >();
- *i-- = *i; // require postdecrement and assignment
- }
- TT i;
+ BOOST_CONCEPT_USAGE(ForwardIterator)
+ {
+ BOOST_CONCEPT_ASSERT((Convertible<
+ BOOST_DEDUCED_TYPENAME ForwardIterator::iterator_category
+ , std::forward_iterator_tag
+ >));
+
+ typename InputIterator<TT>::reference r = *i;
+ ignore_unused_variable_warning(r);
+ }
+
+ private:
+ TT i;
   };
 
-
- template <class TT>
- struct RandomAccessIteratorConcept
+ BOOST_concept(Mutable_ForwardIterator,(TT))
+ : ForwardIterator<TT>
   {
- void constraints() {
- function_requires< BidirectionalIteratorConcept<TT> >();
- function_requires< ComparableConcept<TT> >();
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
- typedef typename std::iterator_traits<TT>::iterator_category C;
- function_requires< ConvertibleConcept< C,
- std::random_access_iterator_tag> >();
- typedef typename std::iterator_traits<TT>::reference R;
-#endif
-
- i += n; // require assignment addition operator
- i = i + n; i = n + i; // require addition with difference type
- i -= n; // require assignment subtraction operator
- i = i - n; // require subtraction with difference type
- n = i - j; // require difference operator
- (void)i[n]; // require element access operator
- }
+ BOOST_CONCEPT_USAGE(Mutable_ForwardIterator) {
+ *i++ = *i; // require postincrement and assignment
+ }
+ private:
+ TT i;
+ };
+
+ BOOST_concept(BidirectionalIterator,(TT))
+ : ForwardIterator<TT>
+ {
+ BOOST_CONCEPT_USAGE(BidirectionalIterator)
+ {
+ BOOST_CONCEPT_ASSERT((Convertible<
+ BOOST_DEDUCED_TYPENAME BidirectionalIterator::iterator_category
+ , std::bidirectional_iterator_tag
+ >));
+
+ --i; // require predecrement operator
+ i--; // require postdecrement operator
+ }
+ private:
+ TT i;
+ };
+
+ BOOST_concept(Mutable_BidirectionalIterator,(TT))
+ : BidirectionalIterator<TT>
+ , Mutable_ForwardIterator<TT>
+ {
+ BOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator)
+ {
+ *i-- = *i; // require postdecrement and assignment
+ }
+ private:
+ TT i;
+ };
+
+ BOOST_concept(RandomAccessIterator,(TT))
+ : BidirectionalIterator<TT>
+ , Comparable<TT>
+ {
+ BOOST_CONCEPT_USAGE(RandomAccessIterator)
+ {
+ BOOST_CONCEPT_ASSERT((Convertible<
+ BOOST_DEDUCED_TYPENAME BidirectionalIterator<TT>::iterator_category
+ , std::random_access_iterator_tag
+ >));
+
+ i += n; // require assignment addition operator
+ i = i + n; i = n + i; // require addition with difference type
+ i -= n; // require assignment subtraction operator
+ i = i - n; // require subtraction with difference type
+ n = i - j; // require difference operator
+ (void)i[n]; // require element access operator
+ }
+
+ private:
     TT a, b;
     TT i, j;
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
- typename std::iterator_traits<TT>::difference_type n;
-#else
- std::ptrdiff_t n;
-#endif
+ typename boost::detail::iterator_traits<TT>::difference_type n;
   };
 
- template <class TT>
- struct Mutable_RandomAccessIteratorConcept
- {
- void constraints() {
- function_requires< RandomAccessIteratorConcept<TT> >();
- function_requires< Mutable_BidirectionalIteratorConcept<TT> >();
- i[n] = *i; // require element access and assignment
- }
+ BOOST_concept(Mutable_RandomAccessIterator,(TT))
+ : RandomAccessIterator<TT>
+ , Mutable_BidirectionalIterator<TT>
+ {
+ BOOST_CONCEPT_USAGE(Mutable_RandomAccessIterator)
+ {
+ i[n] = *i; // require element access and assignment
+ }
+ private:
     TT i;
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
- typename std::iterator_traits<TT>::difference_type n;
-#else
- std::ptrdiff_t n;
-#endif
+ typename boost::detail::iterator_traits<TT>::difference_type n;
   };
 
   //===========================================================================
- // Container Concepts
+ // Container s
 
- template <class Container>
- struct ContainerConcept
+ BOOST_concept(Container,(C))
+ : Assignable<C>
   {
- typedef typename Container::value_type value_type;
- typedef typename Container::difference_type difference_type;
- typedef typename Container::size_type size_type;
- typedef typename Container::const_reference const_reference;
- typedef typename Container::const_pointer const_pointer;
- typedef typename Container::const_iterator const_iterator;
-
- void constraints() {
- function_requires< InputIteratorConcept<const_iterator> >();
- function_requires< AssignableConcept<Container> >();
- const_constraints(c);
- }
- void const_constraints(const Container& cc) {
- i = cc.begin();
- i = cc.end();
- n = cc.size();
- n = cc.max_size();
- b = cc.empty();
- }
- Container c;
- bool b;
- const_iterator i;
- size_type n;
- };
-
- template <class Container>
- struct Mutable_ContainerConcept
- {
- typedef typename Container::value_type value_type;
- typedef typename Container::reference reference;
- typedef typename Container::iterator iterator;
- typedef typename Container::pointer pointer;
+ typedef typename C::value_type value_type;
+ typedef typename C::difference_type difference_type;
+ typedef typename C::size_type size_type;
+ typedef typename C::const_reference const_reference;
+ typedef typename C::const_pointer const_pointer;
+ typedef typename C::const_iterator const_iterator;
+
+ BOOST_CONCEPT_USAGE(Container)
+ {
+ BOOST_CONCEPT_ASSERT((InputIterator<const_iterator>));
+ const_constraints(c);
+ }
+
+ private:
+ void const_constraints(const C& cc) {
+ i = cc.begin();
+ i = cc.end();
+ n = cc.size();
+ n = cc.max_size();
+ b = cc.empty();
+ }
+ C c;
+ bool b;
+ const_iterator i;
+ size_type n;
+ };
+
+ BOOST_concept(Mutable_Container,(C))
+ : Container<C>
+ {
+ typedef typename C::reference reference;
+ typedef typename C::iterator iterator;
+ typedef typename C::pointer pointer;
     
- void constraints() {
- function_requires< ContainerConcept<Container> >();
- function_requires< AssignableConcept<value_type> >();
- function_requires< InputIteratorConcept<iterator> >();
-
- i = c.begin();
- i = c.end();
- c.swap(c2);
- }
- iterator i;
- Container c, c2;
+ BOOST_CONCEPT_USAGE(Mutable_Container)
+ {
+ BOOST_CONCEPT_ASSERT((
+ Assignable<typename Mutable_Container::value_type>));
+
+ BOOST_CONCEPT_ASSERT((InputIterator<iterator>));
+
+ i = c.begin();
+ i = c.end();
+ c.swap(c2);
+ }
+
+ private:
+ iterator i;
+ C c, c2;
   };
 
- template <class ForwardContainer>
- struct ForwardContainerConcept
- {
- void constraints() {
- function_requires< ContainerConcept<ForwardContainer> >();
- typedef typename ForwardContainer::const_iterator const_iterator;
- function_requires< ForwardIteratorConcept<const_iterator> >();
- }
+ BOOST_concept(ForwardContainer,(C))
+ : Container<C>
+ {
+ BOOST_CONCEPT_USAGE(ForwardContainer)
+ {
+ BOOST_CONCEPT_ASSERT((
+ ForwardIterator<
+ typename ForwardContainer::const_iterator
+ >));
+ }
   };
 
- template <class ForwardContainer>
- struct Mutable_ForwardContainerConcept
- {
- void constraints() {
- function_requires< ForwardContainerConcept<ForwardContainer> >();
- function_requires< Mutable_ContainerConcept<ForwardContainer> >();
- typedef typename ForwardContainer::iterator iterator;
- function_requires< Mutable_ForwardIteratorConcept<iterator> >();
- }
+ BOOST_concept(Mutable_ForwardContainer,(C))
+ : ForwardContainer<C>
+ , Mutable_Container<C>
+ {
+ BOOST_CONCEPT_USAGE(Mutable_ForwardContainer)
+ {
+ BOOST_CONCEPT_ASSERT((
+ Mutable_ForwardIterator<
+ typename Mutable_ForwardContainer::iterator
+ >));
+ }
   };
 
- template <class ReversibleContainer>
- struct ReversibleContainerConcept
+ BOOST_concept(ReversibleContainer,(C))
+ : ForwardContainer<C>
   {
- typedef typename ReversibleContainer::const_iterator const_iterator;
- typedef typename ReversibleContainer::const_reverse_iterator
+ typedef typename
+ C::const_reverse_iterator
       const_reverse_iterator;
 
- void constraints() {
- function_requires< ForwardContainerConcept<ReversibleContainer> >();
- function_requires< BidirectionalIteratorConcept<const_iterator> >();
- function_requires<
- BidirectionalIteratorConcept<const_reverse_iterator> >();
- const_constraints(c);
- }
- void const_constraints(const ReversibleContainer& cc) {
- const_reverse_iterator i = cc.rbegin();
- i = cc.rend();
- }
- ReversibleContainer c;
- };
-
- template <class ReversibleContainer>
- struct Mutable_ReversibleContainerConcept
- {
- typedef typename ReversibleContainer::iterator iterator;
- typedef typename ReversibleContainer::reverse_iterator reverse_iterator;
-
- void constraints() {
- function_requires< ReversibleContainerConcept<ReversibleContainer> >();
- function_requires<
- Mutable_ForwardContainerConcept<ReversibleContainer> >();
- function_requires< Mutable_BidirectionalIteratorConcept<iterator> >();
- function_requires<
- Mutable_BidirectionalIteratorConcept<reverse_iterator> >();
-
- reverse_iterator i = c.rbegin();
- i = c.rend();
- }
- ReversibleContainer c;
- };
-
- template <class RandomAccessContainer>
- struct RandomAccessContainerConcept
+ BOOST_CONCEPT_USAGE(ReversibleContainer)
+ {
+ BOOST_CONCEPT_ASSERT((
+ BidirectionalIterator<
+ typename ReversibleContainer::const_iterator>));
+
+ BOOST_CONCEPT_ASSERT((BidirectionalIterator<const_reverse_iterator>));
+
+ const_constraints(c);
+ }
+ private:
+ void const_constraints(const C& cc)
+ {
+ const_reverse_iterator i = cc.rbegin();
+ i = cc.rend();
+ }
+ C c;
+ };
+
+ BOOST_concept(Mutable_ReversibleContainer,(C))
+ : Mutable_ForwardContainer<C>
+ , ReversibleContainer<C>
   {
- typedef typename RandomAccessContainer::size_type size_type;
- typedef typename RandomAccessContainer::const_reference const_reference;
- typedef typename RandomAccessContainer::const_iterator const_iterator;
- typedef typename RandomAccessContainer::const_reverse_iterator
- const_reverse_iterator;
-
- void constraints() {
- function_requires< ReversibleContainerConcept<RandomAccessContainer> >();
- function_requires< RandomAccessIteratorConcept<const_iterator> >();
- function_requires<
- RandomAccessIteratorConcept<const_reverse_iterator> >();
-
- const_constraints(c);
- }
- void const_constraints(const RandomAccessContainer& cc) {
- const_reference r = cc[n];
- ignore_unused_variable_warning(r);
- }
- RandomAccessContainer c;
- size_type n;
+ typedef typename C::reverse_iterator reverse_iterator;
+
+ BOOST_CONCEPT_USAGE(Mutable_ReversibleContainer)
+ {
+ typedef typename Mutable_ForwardContainer<C>::iterator iterator;
+ BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<iterator>));
+ BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<reverse_iterator>));
+
+ reverse_iterator i = c.rbegin();
+ i = c.rend();
+ }
+ private:
+ C c;
+ };
+
+ BOOST_concept(RandomAccessContainer,(C))
+ : ReversibleContainer<C>
+ {
+ typedef typename C::size_type size_type;
+ typedef typename C::const_reference const_reference;
+
+ BOOST_CONCEPT_USAGE(RandomAccessContainer)
+ {
+ BOOST_CONCEPT_ASSERT((
+ RandomAccessIterator<
+ typename RandomAccessContainer::const_iterator
+ >));
+
+ const_constraints(c);
+ }
+ private:
+ void const_constraints(const C& cc)
+ {
+ const_reference r = cc[n];
+ ignore_unused_variable_warning(r);
+ }
+
+ C c;
+ size_type n;
   };
 
- template <class RandomAccessContainer>
- struct Mutable_RandomAccessContainerConcept
- {
- typedef typename RandomAccessContainer::size_type size_type;
- typedef typename RandomAccessContainer::reference reference;
- typedef typename RandomAccessContainer::iterator iterator;
- typedef typename RandomAccessContainer::reverse_iterator reverse_iterator;
-
- void constraints() {
- function_requires<
- RandomAccessContainerConcept<RandomAccessContainer> >();
- function_requires<
- Mutable_ReversibleContainerConcept<RandomAccessContainer> >();
- function_requires< Mutable_RandomAccessIteratorConcept<iterator> >();
- function_requires<
- Mutable_RandomAccessIteratorConcept<reverse_iterator> >();
-
- reference r = c[i];
- ignore_unused_variable_warning(r);
- }
- size_type i;
- RandomAccessContainer c;
+ BOOST_concept(Mutable_RandomAccessContainer,(C))
+ : Mutable_ReversibleContainer<C>
+ , RandomAccessContainer<C>
+ {
+ private:
+ typedef Mutable_RandomAccessContainer self;
+ public:
+ BOOST_CONCEPT_USAGE(Mutable_RandomAccessContainer)
+ {
+ BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::iterator>));
+ BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::reverse_iterator>));
+
+ typename self::reference r = c[i];
+ ignore_unused_variable_warning(r);
+ }
+
+ private:
+ typename Mutable_ReversibleContainer<C>::size_type i;
+ C c;
   };
 
   // A Sequence is inherently mutable
- template <class Sequence>
- struct SequenceConcept
- {
-
- typedef typename Sequence::reference reference;
- typedef typename Sequence::const_reference const_reference;
-
- void constraints() {
+ BOOST_concept(Sequence,(S))
+ : Mutable_ForwardContainer<S>
       // Matt Austern's book puts DefaultConstructible here, the C++
- // standard places it in Container
- // function_requires< DefaultConstructible<Sequence> >();
- function_requires< Mutable_ForwardContainerConcept<Sequence> >();
- function_requires< DefaultConstructibleConcept<Sequence> >();
-
- Sequence
- c(n),
- c2(n, t),
- c3(first, last);
-
- c.insert(p, t);
- c.insert(p, n, t);
- c.insert(p, first, last);
-
- c.erase(p);
- c.erase(p, q);
-
- reference r = c.front();
-
- ignore_unused_variable_warning(c);
- ignore_unused_variable_warning(c2);
- ignore_unused_variable_warning(c3);
- ignore_unused_variable_warning(r);
- const_constraints(c);
- }
- void const_constraints(const Sequence& c) {
- const_reference r = c.front();
- ignore_unused_variable_warning(r);
- }
- typename Sequence::value_type t;
- typename Sequence::size_type n;
- typename Sequence::value_type* first, *last;
- typename Sequence::iterator p, q;
- };
-
- template <class FrontInsertionSequence>
- struct FrontInsertionSequenceConcept
- {
- void constraints() {
- function_requires< SequenceConcept<FrontInsertionSequence> >();
-
- c.push_front(t);
- c.pop_front();
- }
- FrontInsertionSequence c;
- typename FrontInsertionSequence::value_type t;
- };
-
- template <class BackInsertionSequence>
- struct BackInsertionSequenceConcept
- {
- typedef typename BackInsertionSequence::reference reference;
- typedef typename BackInsertionSequence::const_reference const_reference;
-
- void constraints() {
- function_requires< SequenceConcept<BackInsertionSequence> >();
-
- c.push_back(t);
- c.pop_back();
- reference r = c.back();
- ignore_unused_variable_warning(r);
- }
- void const_constraints(const BackInsertionSequence& cc) {
- const_reference r = cc.back();
- ignore_unused_variable_warning(r);
- };
- BackInsertionSequence c;
- typename BackInsertionSequence::value_type t;
- };
-
- template <class AssociativeContainer>
- struct AssociativeContainerConcept
- {
- void constraints() {
- function_requires< ForwardContainerConcept<AssociativeContainer> >();
- function_requires< DefaultConstructibleConcept<AssociativeContainer> >();
-
- i = c.find(k);
- r = c.equal_range(k);
- c.erase(k);
- c.erase(i);
- c.erase(r.first, r.second);
- const_constraints(c);
- }
- void const_constraints(const AssociativeContainer& cc) {
- ci = cc.find(k);
- n = cc.count(k);
- cr = cc.equal_range(k);
- }
- typedef typename AssociativeContainer::iterator iterator;
- typedef typename AssociativeContainer::const_iterator const_iterator;
-
- AssociativeContainer c;
- iterator i;
- std::pair<iterator,iterator> r;
- const_iterator ci;
- std::pair<const_iterator,const_iterator> cr;
- typename AssociativeContainer::key_type k;
- typename AssociativeContainer::size_type n;
- };
-
- template <class UniqueAssociativeContainer>
- struct UniqueAssociativeContainerConcept
- {
- void constraints() {
- function_requires< AssociativeContainerConcept<UniqueAssociativeContainer> >();
+ // standard places it in Container --JGS
+ // ... so why aren't we following the standard? --DWA
+ , DefaultConstructible<S>
+ {
+ BOOST_CONCEPT_USAGE(Sequence)
+ {
+ S
+ c(n),
+ c2(n, t),
+ c3(first, last);
+
+ c.insert(p, t);
+ c.insert(p, n, t);
+ c.insert(p, first, last);
+
+ c.erase(p);
+ c.erase(p, q);
+
+ typename Sequence::reference r = c.front();
+
+ ignore_unused_variable_warning(c);
+ ignore_unused_variable_warning(c2);
+ ignore_unused_variable_warning(c3);
+ ignore_unused_variable_warning(r);
+ const_constraints(c);
+ }
+ private:
+ void const_constraints(const S& c) {
+ typename Sequence::const_reference r = c.front();
+ ignore_unused_variable_warning(r);
+ }
     
- UniqueAssociativeContainer c(first, last);
+ typename S::value_type t;
+ typename S::size_type n;
+ typename S::value_type* first, *last;
+ typename S::iterator p, q;
+ };
+
+ BOOST_concept(FrontInsertionSequence,(S))
+ : Sequence<S>
+ {
+ BOOST_CONCEPT_USAGE(FrontInsertionSequence)
+ {
+ c.push_front(t);
+ c.pop_front();
+ }
+ private:
+ S c;
+ typename S::value_type t;
+ };
+
+ BOOST_concept(BackInsertionSequence,(S))
+ : Sequence<S>
+ {
+ BOOST_CONCEPT_USAGE(BackInsertionSequence)
+ {
+ c.push_back(t);
+ c.pop_back();
+ typename BackInsertionSequence::reference r = c.back();
+ ignore_unused_variable_warning(r);
+ const_constraints(c);
+ }
+ private:
+ void const_constraints(const S& cc) {
+ typename BackInsertionSequence::const_reference
+ r = cc.back();
+ ignore_unused_variable_warning(r);
+ };
+ S c;
+ typename S::value_type t;
+ };
+
+ BOOST_concept(AssociativeContainer,(C))
+ : ForwardContainer<C>
+ , DefaultConstructible<C>
+ {
+ typedef typename C::key_type key_type;
+ typedef typename C::key_compare key_compare;
+ typedef typename C::value_compare value_compare;
+ typedef typename C::iterator iterator;
+
+ BOOST_CONCEPT_USAGE(AssociativeContainer)
+ {
+ i = c.find(k);
+ r = c.equal_range(k);
+ c.erase(k);
+ c.erase(i);
+ c.erase(r.first, r.second);
+ const_constraints(c);
+ BOOST_CONCEPT_ASSERT((BinaryPredicate<key_compare,key_type,key_type>));
+
+ typedef typename AssociativeContainer::value_type value_type_;
+ BOOST_CONCEPT_ASSERT((BinaryPredicate<value_compare,value_type_,value_type_>));
+ }
       
- pos_flag = c.insert(t);
- c.insert(first, last);
-
- ignore_unused_variable_warning(c);
- }
- std::pair<typename UniqueAssociativeContainer::iterator, bool> pos_flag;
- typename UniqueAssociativeContainer::value_type t;
- typename UniqueAssociativeContainer::value_type* first, *last;
- };
-
- template <class MultipleAssociativeContainer>
- struct MultipleAssociativeContainerConcept
- {
- void constraints() {
- function_requires< AssociativeContainerConcept<MultipleAssociativeContainer> >();
-
- MultipleAssociativeContainer c(first, last);
+ // Redundant with the base concept, but it helps below.
+ typedef typename C::const_iterator const_iterator;
+ private:
+ void const_constraints(const C& cc)
+ {
+ ci = cc.find(k);
+ n = cc.count(k);
+ cr = cc.equal_range(k);
+ }
+
+ C c;
+ iterator i;
+ std::pair<iterator,iterator> r;
+ const_iterator ci;
+ std::pair<const_iterator,const_iterator> cr;
+ typename C::key_type k;
+ typename C::size_type n;
+ };
+
+ BOOST_concept(UniqueAssociativeContainer,(C))
+ : AssociativeContainer<C>
+ {
+ BOOST_CONCEPT_USAGE(UniqueAssociativeContainer)
+ {
+ C c(first, last);
       
- pos = c.insert(t);
- c.insert(first, last);
-
- ignore_unused_variable_warning(c);
- ignore_unused_variable_warning(pos);
- }
- typename MultipleAssociativeContainer::iterator pos;
- typename MultipleAssociativeContainer::value_type t;
- typename MultipleAssociativeContainer::value_type* first, *last;
- };
-
- template <class SimpleAssociativeContainer>
- struct SimpleAssociativeContainerConcept
- {
- void constraints() {
- function_requires< AssociativeContainerConcept<SimpleAssociativeContainer> >();
- typedef typename SimpleAssociativeContainer::key_type key_type;
- typedef typename SimpleAssociativeContainer::value_type value_type;
- typedef typename require_same<key_type, value_type>::type req;
- }
- };
+ pos_flag = c.insert(t);
+ c.insert(first, last);
 
- template <class SimpleAssociativeContainer>
- struct PairAssociativeContainerConcept
- {
- void constraints() {
- function_requires< AssociativeContainerConcept<SimpleAssociativeContainer> >();
- typedef typename SimpleAssociativeContainer::key_type key_type;
- typedef typename SimpleAssociativeContainer::value_type value_type;
- typedef typename SimpleAssociativeContainer::mapped_type mapped_type;
- typedef std::pair<const key_type, mapped_type> required_value_type;
- typedef typename require_same<value_type, required_value_type>::type req;
- }
- };
+ ignore_unused_variable_warning(c);
+ }
+ private:
+ std::pair<typename C::iterator, bool> pos_flag;
+ typename C::value_type t;
+ typename C::value_type* first, *last;
+ };
+
+ BOOST_concept(MultipleAssociativeContainer,(C))
+ : AssociativeContainer<C>
+ {
+ BOOST_CONCEPT_USAGE(MultipleAssociativeContainer)
+ {
+ C c(first, last);
+
+ pos = c.insert(t);
+ c.insert(first, last);
 
- template <class SortedAssociativeContainer>
- struct SortedAssociativeContainerConcept
- {
- void constraints() {
- function_requires< AssociativeContainerConcept<SortedAssociativeContainer> >();
- function_requires< ReversibleContainerConcept<SortedAssociativeContainer> >();
-
- SortedAssociativeContainer
- c(kc),
- c2(first, last),
- c3(first, last, kc);
-
- p = c.upper_bound(k);
- p = c.lower_bound(k);
- r = c.equal_range(k);
+ ignore_unused_variable_warning(c);
+ ignore_unused_variable_warning(pos);
+ }
+ private:
+ typename C::iterator pos;
+ typename C::value_type t;
+ typename C::value_type* first, *last;
+ };
+
+ BOOST_concept(SimpleAssociativeContainer,(C))
+ : AssociativeContainer<C>
+ {
+ BOOST_CONCEPT_USAGE(SimpleAssociativeContainer)
+ {
+ typedef typename C::key_type key_type;
+ typedef typename C::value_type value_type;
+ BOOST_MPL_ASSERT((boost::is_same<key_type,value_type>));
+ }
+ };
+
+ BOOST_concept(PairAssociativeContainer,(C))
+ : AssociativeContainer<C>
+ {
+ BOOST_CONCEPT_USAGE(PairAssociativeContainer)
+ {
+ typedef typename C::key_type key_type;
+ typedef typename C::value_type value_type;
+ typedef typename C::mapped_type mapped_type;
+ typedef std::pair<const key_type, mapped_type> required_value_type;
+ BOOST_MPL_ASSERT((boost::is_same<value_type,required_value_type>));
+ }
+ };
+
+ BOOST_concept(SortedAssociativeContainer,(C))
+ : AssociativeContainer<C>
+ , ReversibleContainer<C>
+ {
+ BOOST_CONCEPT_USAGE(SortedAssociativeContainer)
+ {
+ C
+ c(kc),
+ c2(first, last),
+ c3(first, last, kc);
+
+ p = c.upper_bound(k);
+ p = c.lower_bound(k);
+ r = c.equal_range(k);
       
- c.insert(p, t);
+ c.insert(p, t);
       
- ignore_unused_variable_warning(c);
- ignore_unused_variable_warning(c2);
- ignore_unused_variable_warning(c3);
- }
- void const_constraints(const SortedAssociativeContainer& c) {
- kc = c.key_comp();
- vc = c.value_comp();
-
- cp = c.upper_bound(k);
- cp = c.lower_bound(k);
- cr = c.equal_range(k);
- }
- typename SortedAssociativeContainer::key_compare kc;
- typename SortedAssociativeContainer::value_compare vc;
- typename SortedAssociativeContainer::value_type t;
- typename SortedAssociativeContainer::key_type k;
- typedef typename SortedAssociativeContainer::iterator iterator;
- typedef typename SortedAssociativeContainer::const_iterator const_iterator;
- iterator p;
- const_iterator cp;
- std::pair<iterator,iterator> r;
- std::pair<const_iterator,const_iterator> cr;
- typename SortedAssociativeContainer::value_type* first, *last;
+ ignore_unused_variable_warning(c);
+ ignore_unused_variable_warning(c2);
+ ignore_unused_variable_warning(c3);
+ const_constraints(c);
+ }
+
+ void const_constraints(const C& c)
+ {
+ kc = c.key_comp();
+ vc = c.value_comp();
+
+ cp = c.upper_bound(k);
+ cp = c.lower_bound(k);
+ cr = c.equal_range(k);
+ }
+
+ private:
+ typename C::key_compare kc;
+ typename C::value_compare vc;
+ typename C::value_type t;
+ typename C::key_type k;
+ typedef typename C::iterator iterator;
+ typedef typename C::const_iterator const_iterator;
+
+ typedef SortedAssociativeContainer self;
+ iterator p;
+ const_iterator cp;
+ std::pair<typename self::iterator,typename self::iterator> r;
+ std::pair<typename self::const_iterator,typename self::const_iterator> cr;
+ typename C::value_type* first, *last;
   };
 
   // HashedAssociativeContainer
 
 } // namespace boost
 
+# include <boost/concept/detail/concept_undef.hpp>
+
 #endif // BOOST_CONCEPT_CHECKS_HPP
 

Modified: branches/release/boost/config/compiler/visualc.hpp
==============================================================================
--- branches/release/boost/config/compiler/visualc.hpp (original)
+++ branches/release/boost/config/compiler/visualc.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -70,6 +70,11 @@
 # define BOOST_NO_SWPRINTF
 #endif
 
+#if defined(UNDER_CE)
+// Windows CE does not have a conforming signature for swprintf
+# define BOOST_NO_SWPRINTF
+#endif
+
 #if _MSC_VER <= 1400 // 1400 == VC++ 8.0
 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 #endif
@@ -82,9 +87,10 @@
 # define BOOST_NO_INTRINSIC_WCHAR_T
 #endif
 
-#ifdef _WIN32_WCE
+#if defined(_WIN32_WCE) || defined(UNDER_CE)
 # define BOOST_NO_THREADEX
 # define BOOST_NO_GETSYSTEMTIMEASFILETIME
+# define BOOST_NO_SWPRINTF
 #endif
 
 //

Modified: branches/release/boost/current_function.hpp
==============================================================================
--- branches/release/boost/current_function.hpp (original)
+++ branches/release/boost/current_function.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -32,6 +32,10 @@
 
 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
 
+#elif defined(__DMC__) && (__DMC__ >= 0x810)
+
+# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
+
 #elif defined(__FUNCSIG__)
 
 # define BOOST_CURRENT_FUNCTION __FUNCSIG__

Modified: branches/release/boost/date_time/compiler_config.hpp
==============================================================================
--- branches/release/boost/date_time/compiler_config.hpp (original)
+++ branches/release/boost/date_time/compiler_config.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -140,7 +140,7 @@
 #if defined(BOOST_HAS_THREADS)
 # if defined(_MSC_VER) || defined(__MWERKS__) || defined(__MINGW32__) || defined(__BORLANDC__)
      //no reentrant posix functions (eg: localtime_r)
-# else
+# elif (!defined(__hpux) || (defined(__hpux) && defined(_REENTRANT)))
 # define BOOST_DATE_TIME_HAS_REENTRANT_STD_FUNCTIONS
 # endif
 #endif

Modified: branches/release/boost/date_time/date_facet.hpp
==============================================================================
--- branches/release/boost/date_time/date_facet.hpp (original)
+++ branches/release/boost/date_time/date_facet.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -429,7 +429,7 @@
     typedef std::basic_string<CharT> string_type;
     typedef CharT char_type;
     typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
- typedef special_values_parser<date_type,CharT> special_values_parser_type;
+ typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
     typedef std::vector<std::basic_string<CharT> > input_collection_type;
     typedef format_date_parser<date_type, CharT> format_date_parser_type;
     // date_generators stuff goes here

Modified: branches/release/boost/date_time/date_generators.hpp
==============================================================================
--- branches/release/boost/date_time/date_generators.hpp (original)
+++ branches/release/boost/date_time/date_generators.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -153,8 +153,6 @@
    month_type month_;
  };
 
- //! Returns nth arg as string. 1 -> "first", 2 -> "second", max is 5.
- BOOST_DATE_TIME_DECL const char* nth_as_str(int n);
 
   //! Useful generator functor for finding holidays
   /*! Based on the idea in Cal. Calc. for finding holidays that are
@@ -243,7 +241,9 @@
     week_num wn_;
     day_of_week_type dow_;
   };
-
+
+ //! Returns nth arg as string. 1 -> "first", 2 -> "second", max is 5.
+ BOOST_DATE_TIME_DECL const char* nth_as_str(int n);
 
   //! Useful generator functor for finding holidays and daylight savings
   /*! Similar to nth_kday_of_month, but requires less paramters

Modified: branches/release/boost/date_time/date_parsing.hpp
==============================================================================
--- branches/release/boost/date_time/date_parsing.hpp (original)
+++ branches/release/boost/date_time/date_parsing.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -2,11 +2,9 @@
 #define _DATE_TIME_DATE_PARSING_HPP___
 
 /* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
- *
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
+ * Use, modification and distribution is subject to the
+ * Boost Software License, Version 1.0. (See accompanying
+ * file LICENSE-1.0 or http://www.boost.org/LICENSE-1.0)
  * Author: Jeff Garland, Bart Garst
  * $Date$
  */
@@ -79,8 +77,8 @@
     /*! find_match searches both arrays for a match to 's'. Indexing of the
      * arrays is from 0 to 'limit'. The index of the match is returned.
      * Ex. "Jan" returns 0, "Dec" returns 11, "Tue" returns 2.
- * 'limit' can be sent in with: (greg_month::max)(),
- * (greg_weekday::max)() or date_time::NumSpecialValues */
+ * 'limit' can be sent in with: greg_month::max(),
+ * greg_weekday::max() or date_time::NumSpecialValues */
     template<class charT>
     short find_match(const charT* const* short_names,
                      const charT* const* long_names,

Modified: branches/release/boost/date_time/format_date_parser.hpp
==============================================================================
--- branches/release/boost/date_time/format_date_parser.hpp (original)
+++ branches/release/boost/date_time/format_date_parser.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -87,7 +87,7 @@
 inline
 int_type
 var_string_to_int(std::istreambuf_iterator<charT>& itr,
- std::istreambuf_iterator<charT>& stream_end,
+ std::istreambuf_iterator<charT>& /* stream_end */,
                   unsigned int max_length)
 {
   typedef std::basic_string<charT> string_type;

Modified: branches/release/boost/date_time/locale_config.hpp
==============================================================================
--- branches/release/boost/date_time/locale_config.hpp (original)
+++ branches/release/boost/date_time/locale_config.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,7 +1,7 @@
 #ifndef DATE_TIME_LOCALE_CONFIG_HPP___
 #define DATE_TIME_LOCALE_CONFIG_HPP___
 
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
+/* Copyright (c) 2002-2006 CrystalClear Software, Inc.
  * Use, modification and distribution is subject to the
  * Boost Software License, Version 1.0. (See accompanying
  * file LICENSE-1.0 or http://www.boost.org/LICENSE-1.0)

Modified: branches/release/boost/date_time/microsec_time_clock.hpp
==============================================================================
--- branches/release/boost/date_time/microsec_time_clock.hpp (original)
+++ branches/release/boost/date_time/microsec_time_clock.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -16,6 +16,7 @@
 
 #include <boost/detail/workaround.hpp>
 #include "boost/date_time/c_time.hpp"
+#include "boost/date_time/time_clock.hpp"
 #include "boost/cstdint.hpp"
 #include "boost/shared_ptr.hpp"
 
@@ -119,6 +120,10 @@
       FILETIME ft_utc;
       GetSystemTimeAsFileTime(&ft_utc);
       FileTimeToLocalFileTime(&ft_utc,&ft);
+ #elif defined(BOOST_NO_GETSYSTEMTIMEASFILETIME)
+ SYSTEMTIME st;
+ GetSystemTime( &st );
+ SystemTimeToFileTime( &st, &ft );
       #else
       GetSystemTimeAsFileTime(&ft);
       #endif
@@ -133,6 +138,10 @@
       FILETIME ft_utc;
       GetSystemTimeAsFileTime(&ft_utc);
       FileTimeToLocalFileTime(&ft_utc,&ft);
+ #elif defined(BOOST_NO_GETSYSTEMTIMEASFILETIME)
+ SYSTEMTIME st;
+ GetSystemTime( &st );
+ SystemTimeToFileTime( &st, &ft );
       #else
       GetSystemTimeAsFileTime(&ft);
       #endif

Modified: branches/release/boost/date_time/period.hpp
==============================================================================
--- branches/release/boost/date_time/period.hpp (original)
+++ branches/release/boost/date_time/period.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,13 +1,10 @@
 #ifndef DATE_TIME_PERIOD_HPP___
 #define DATE_TIME_PERIOD_HPP___
 
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- *
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- *
+/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
+ * Use, modification and distribution is subject to the
+ * Boost Software License, Version 1.0. (See accompanying
+ * file LICENSE-1.0 or http://www.boost.org/LICENSE-1.0)
  * Author: Jeff Garland, Bart Garst
  * $Date$
  */
@@ -70,6 +67,7 @@
     bool operator==(const period& rhs) const;
     bool operator<(const period& rhs) const;
     void shift(const duration_rep& d);
+ void expand(const duration_rep& d);
     bool contains(const point_rep& point) const;
     bool contains(const period& other) const;
     bool intersects(const period& other) const;
@@ -178,6 +176,33 @@
     last_ = last_ + d;
   }
 
+ /** Expands the size of the period by the duration on both ends.
+ *
+ *So before expand
+ *@code
+ *
+ * [-------]
+ * ^ ^ ^ ^ ^ ^ ^
+ * 1 2 3 4 5 6 7
+ *
+ *@endcode
+ * After expand(2)
+ *@code
+ *
+ * [----------------------]
+ * ^ ^ ^ ^ ^ ^ ^
+ * 1 2 3 4 5 6 7
+ *
+ *@endcode
+ */
+ template<class point_rep, class duration_rep>
+ inline
+ void period<point_rep,duration_rep>::expand(const duration_rep& d)
+ {
+ begin_ = begin_ - d;
+ last_ = last_ + d;
+ }
+
   //! True if the point is inside the period, zero length periods contain no points
   template<class point_rep, class duration_rep>
   inline
@@ -325,8 +350,8 @@
 
   //! Combine two periods with earliest start and latest end.
   /*! Combines two periods and any gap between them such that
- * start = minimum(p1.start, p2.start)
- * end = maximum(p1.end , p2.end)
+ * start = min(p1.start, p2.start)
+ * end = max(p1.end , p2.end)
    *@code
    * [---p1---)
    * [---p2---)

Modified: branches/release/boost/date_time/time_facet.hpp
==============================================================================
--- branches/release/boost/date_time/time_facet.hpp (original)
+++ branches/release/boost/date_time/time_facet.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -197,7 +197,7 @@
 #endif
 
     //! sets default formats for ptime, local_date_time, and time_duration
- explicit time_facet(::size_t a_ref = 0)
+ explicit time_facet(::size_t /* a_ref */ = 0)
       //: base_type(standard_format),
       : base_type(default_time_format),
         m_time_duration_format(string_type(duration_sign_negative_only) + default_time_duration_format)

Modified: branches/release/boost/dynamic_bitset.hpp
==============================================================================
--- branches/release/boost/dynamic_bitset.hpp (original)
+++ branches/release/boost/dynamic_bitset.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -9,7 +9,9 @@
 //
 // -----------------------------------------------------------
 
-// See http://www.boost.org/libs/dynamic_bitset for documentation.
+// See http://www.boost.org/libs/dynamic_bitset/ for documentation.
+//
+// $Revision$ $Date$ - $Name$
 
 #ifndef BOOST_DYNAMIC_BITSET_HPP
 #define BOOST_DYNAMIC_BITSET_HPP

Modified: branches/release/boost/dynamic_bitset/config.hpp
==============================================================================
--- branches/release/boost/dynamic_bitset/config.hpp (original)
+++ branches/release/boost/dynamic_bitset/config.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,7 +1,7 @@
 // --------------------------------------------------
 //
 // (C) Copyright Chuck Allison and Jeremy Siek 2001 - 2002.
-// (C) Copyright Gennaro Prota 2003 - 2004.
+// (C) Copyright Gennaro Prota 2003 - 2006.
 //
 // Distributed under the Boost Software License, Version 1.0.
 // (See accompanying file LICENSE_1_0.txt or copy at
@@ -9,8 +9,9 @@
 //
 // -----------------------------------------------------------
 
-// See http://www.boost.org/libs/dynamic_bitset for documentation.
-
+// See http://www.boost.org/libs/dynamic_bitset/ for documentation.
+//
+// $Revision$ $Date$ - $Name$
 
 #ifndef BOOST_DYNAMIC_BITSET_CONFIG_HPP_GP_20040424
 #define BOOST_DYNAMIC_BITSET_CONFIG_HPP_GP_20040424
@@ -28,8 +29,8 @@
 #define BOOST_DYNAMIC_BITSET_GNUC_VERSION ( __GNUC__ * 100 * 100 \
                                             + __GNUC_MINOR__ * 100)
 
-// workaround for gcc bug c++/8419 - gps
-
+// no-op function to workaround gcc bug c++/8419
+//
 namespace boost { namespace detail {
     template <typename T> T make_non_const(T t) { return t; }
 }}
@@ -48,7 +49,7 @@
 #define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS
 #endif
 
-// if we can't use friends then private members are exposed
+// if we can't use friends then we simply expose private members
 //
 #if defined(BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS)
 #define BOOST_DYNAMIC_BITSET_PRIVATE public

Modified: branches/release/boost/dynamic_bitset/dynamic_bitset.hpp
==============================================================================
--- branches/release/boost/dynamic_bitset/dynamic_bitset.hpp (original)
+++ branches/release/boost/dynamic_bitset/dynamic_bitset.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -1,7 +1,7 @@
 // --------------------------------------------------
 //
 // (C) Copyright Chuck Allison and Jeremy Siek 2001 - 2002.
-// (C) Copyright Gennaro Prota 2003 - 2004.
+// (C) Copyright Gennaro Prota 2003 - 2006.
 //
 // Distributed under the Boost Software License, Version 1.0.
 // (See accompanying file LICENSE_1_0.txt or copy at
@@ -9,24 +9,25 @@
 //
 // -----------------------------------------------------------
 
-// See http://www.boost.org/libs/dynamic_bitset for documentation.
-
+// See http://www.boost.org/libs/dynamic_bitset/ for documentation.
+//
+// $Revision$ $Date$ - $Name$
 
 
 #ifndef BOOST_DYNAMIC_BITSET_DYNAMIC_BITSET_HPP
 #define BOOST_DYNAMIC_BITSET_DYNAMIC_BITSET_HPP
 
-#include <cassert>
+#include <assert.h>
 #include <string>
-#include <stdexcept> // for std::overflow_error
-#include <algorithm> // for std::swap, std::min, std::copy, std::fill
+#include <stdexcept> // for std::overflow_error
+#include <algorithm> // for std::swap, min, copy, fill
 #include <vector>
-#include <climits> // for CHAR_BIT
+#include <climits> // for CHAR_BIT
 
 #include "boost/dynamic_bitset/config.hpp"
 
 #ifndef BOOST_NO_STD_LOCALE
-# include <locale> // G.P.S
+# include <locale>
 #endif
 
 #if defined(BOOST_OLD_IOSTREAMS)
@@ -68,7 +69,7 @@
     typedef Block block_type;
     typedef Allocator allocator_type;
     typedef std::size_t size_type;
- typedef int block_width_type; // gps
+ typedef int block_width_type;
 
     BOOST_STATIC_CONSTANT(block_width_type, bits_per_block = (std::numeric_limits<Block>::digits));
     BOOST_STATIC_CONSTANT(size_type, npos = static_cast<size_type>(-1));
@@ -77,7 +78,6 @@
 public:
 
     // A proxy class to simulate lvalues of bit type.
- // Shouldn't it be private? [gps]
     //
     class reference
     {
@@ -87,7 +87,7 @@
         // the one and only non-copy ctor
         reference(block_type & b, int pos)
             :m_block(b), m_mask(block_type(1) << pos)
- {}
+ { assert(pos >= 0 && pos < bits_per_block); }
 
         void operator&(); // left undefined
 
@@ -129,16 +129,16 @@
                const Allocator& alloc = Allocator());
 
 
- // The presence of this constructor is a concession to ease of
- // use, especially for the novice user. A conversion from string
- // is, in most cases, formatting, and should be done by the standard
- // formatting convention: operator>>.
+ // WARNING: you should avoid using this constructor.
+ //
+ // A conversion from string is, in most cases, formatting,
+ // and should be performed by using operator>>.
     //
     // NOTE:
- // Leave the parentheses around std::basic_string<CharT, Traits, Alloc>::npos.
- // g++ 3.2 requires them and probably the standard will - see core issue 325
- // NOTE 2:
- // split into two constructors because of bugs in MSVC 6.0sp5 with STLport
+ // Leave the parentheses around std::basic_string<CharT, Traits, Alloc>::npos.
+ // g++ 3.2 requires them and probably the standard will - see core issue 325
+ // NOTE 2:
+ // split into two constructors because of bugs in MSVC 6.0sp5 with STLport
 
     template <typename CharT, typename Traits, typename Alloc>
     dynamic_bitset(const std::basic_string<CharT, Traits, Alloc>& s,
@@ -150,7 +150,7 @@
     :m_bits(alloc),
      m_num_bits(0)
     {
- init_from_string(s, pos, n, num_bits, alloc);
+ init_from_string(s, pos, n, num_bits);
     }
 
     template <typename CharT, typename Traits, typename Alloc>
@@ -162,7 +162,7 @@
      m_num_bits(0)
     {
       init_from_string(s, pos, (std::basic_string<CharT, Traits, Alloc>::npos),
- npos, Allocator());
+ npos);
     }
 
     // The first bit in *first is the least significant bit, and the
@@ -264,10 +264,6 @@
     size_type num_blocks() const;
     size_type max_size() const;
     bool empty() const;
-#if 0 // gps
- void reserve(size_type n);
- size_type capacity() const;
-#endif
 
     bool is_subset_of(const dynamic_bitset& a) const;
     bool is_proper_subset_of(const dynamic_bitset& a) const;
@@ -327,15 +323,14 @@
     void init_from_string(const std::basic_string<CharT, Traits, Alloc>& s,
         typename std::basic_string<CharT, Traits, Alloc>::size_type pos,
         typename std::basic_string<CharT, Traits, Alloc>::size_type n,
- size_type num_bits,
- const Allocator& alloc)
+ size_type num_bits)
     {
         assert(pos <= s.size());
 
         typedef typename std::basic_string<CharT, Traits, Alloc> StrT;
         typedef typename StrT::traits_type Tr;
 
- const typename StrT::size_type rlen = (std::min)(n, s.size() - pos); // gps
+ const typename StrT::size_type rlen = (std::min)(n, s.size() - pos);
         const size_type sz = ( num_bits != npos? num_bits : rlen);
         m_bits.resize(calc_num_blocks(sz));
         m_num_bits = sz;
@@ -344,7 +339,7 @@
         BOOST_DYNAMIC_BITSET_CTYPE_FACET(CharT, fac, std::locale());
         const CharT one = BOOST_DYNAMIC_BITSET_WIDEN_CHAR(fac, '1');
 
- const size_type m = num_bits < rlen ? num_bits : rlen; // [gps]
+ const size_type m = num_bits < rlen ? num_bits : rlen;
         typename StrT::size_type i = 0;
         for( ; i < m; ++i) {
 
@@ -368,7 +363,7 @@
     Block& m_highest_block();
     const Block& m_highest_block() const;
 
- buffer_type m_bits; // [gps] to be renamed
+ buffer_type m_bits;
     size_type m_num_bits;
 
 
@@ -378,10 +373,11 @@
       // helper for stream >>
       // Supplies to the lack of an efficient append at the less
       // significant end: bits are actually appended "at left" but
- // rearranged in the destructor. Everything works just as if
- // dynamic_bitset<> had an append_at_right() function (which
- // threw, in case, the same exceptions as push_back) except
- // that the function is actually called bit_appender::do_append().
+ // rearranged in the destructor. From the perspective of
+ // client code everything works *as if* dynamic_bitset<> had
+ // an append_at_right() function (eventually throwing the same
+ // exceptions as push_back) except that the function is in fact
+ // called bit_appender::do_append().
       //
       dynamic_bitset & bs;
       size_type n;
@@ -419,10 +415,17 @@
 
 };
 
-#if BOOST_WORKAROUND( __IBMCPP__, <=600 )
+#if defined(__IBMCPP__) && BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
 
 // Workaround for IBM's AIX platform.
 // See http://comments.gmane.org/gmane.comp.lib.boost.user/15331
+//
+// NOTE:
+// The compiler is actually right, until core issue 454 will be settled:
+// http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_active.html#454
+//
+// It's arguable whether we want to mark this with BOOST_WORKAROUND or not.
+
 
 template<typename Block, typename Allocator>
 dynamic_bitset<Block, Allocator>::block_width_type const
@@ -462,18 +465,15 @@
 template <typename Block, typename Allocator>
 std::istream& operator>>(std::istream& is, dynamic_bitset<Block,Allocator>& b);
 #else
-// NOTE: Digital Mars wants the same template parameter names
-// here and in the definition! [last tested: 8.48.10]
-//
-template <typename Ch, typename Tr, typename Block, typename Alloc>
-std::basic_ostream<Ch, Tr>&
-operator<<(std::basic_ostream<Ch, Tr>& os,
- const dynamic_bitset<Block, Alloc>& b);
-
-template <typename Ch, typename Tr, typename Block, typename Alloc>
-std::basic_istream<Ch, Tr>&
-operator>>(std::basic_istream<Ch, Tr>& is,
- dynamic_bitset<Block, Alloc>& b);
+template <typename CharT, typename Traits, typename Block, typename Allocator>
+std::basic_ostream<CharT, Traits>&
+operator<<(std::basic_ostream<CharT, Traits>& os,
+ const dynamic_bitset<Block, Allocator>& b);
+
+template <typename CharT, typename Traits, typename Block, typename Allocator>
+std::basic_istream<CharT, Traits>&
+operator>>(std::basic_istream<CharT, Traits>& is,
+ dynamic_bitset<Block, Allocator>& b);
 #endif
 
 // bitset operations
@@ -505,7 +505,7 @@
 
 template <typename Block, typename Allocator, typename stringT>
 void
-to_string(const dynamic_bitset<Block, Allocator>& b, stringT & s); // gps
+to_string(const dynamic_bitset<Block, Allocator>& b, stringT & s);
 
 template <typename Block, typename Allocator, typename BlockOutputIterator>
 void
@@ -513,15 +513,13 @@
                BlockOutputIterator result);
 
 
-// gps - check docs with Jeremy
-//
 template <typename BlockIterator, typename B, typename A>
 inline void
 from_block_range(BlockIterator first, BlockIterator last,
                  dynamic_bitset<B, A>& result)
 {
     // PRE: distance(first, last) <= numblocks()
- std::copy (first, last, result.m_bits.begin()); //[gps]
+ std::copy (first, last, result.m_bits.begin());
 }
 
 //=============================================================================
@@ -545,26 +543,22 @@
     m_num_bits(num_bits)
 {
 
- if (num_bits == 0)
- return;
-
   typedef unsigned long num_type;
+ typedef boost::detail::shifter<num_type, bits_per_block, ulong_width> shifter;
+
+ //if (num_bits == 0)
+ // return;
 
- // cut off all bits in value that have pos >= num_bits, if any
+ // zero out all bits at pos >= num_bits, if any;
+ // note that: num_bits == 0 implies value == 0
   if (num_bits < static_cast<size_type>(ulong_width)) {
       const num_type mask = (num_type(1) << num_bits) - 1;
       value &= mask;
   }
 
- if (bits_per_block >= ulong_width) {
- m_bits[0] = static_cast<block_type>(value);
- }
- else {
- for(size_type i = 0; value != 0; ++i) {
-
- m_bits[i] = static_cast<block_type>(value);
- value >>= BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(bits_per_block);
- }
+ typename buffer_type::iterator it = m_bits.begin();
+ for( ; value; shifter::left_shift(value), ++it) {
+ *it = static_cast<block_type>(value);
   }
 
 }
@@ -573,7 +567,7 @@
 template <typename Block, typename Allocator>
 inline dynamic_bitset<Block, Allocator>::
 dynamic_bitset(const dynamic_bitset& b)
- : m_bits(b.m_bits), m_num_bits(b.m_num_bits) // [gps]
+ : m_bits(b.m_bits), m_num_bits(b.m_num_bits)
 {
 
 }
@@ -597,15 +591,9 @@
 dynamic_bitset<Block, Allocator>& dynamic_bitset<Block, Allocator>::
 operator=(const dynamic_bitset<Block, Allocator>& b)
 {
-#if 0 // gps
- dynamic_bitset<Block, Allocator> tmp(b);
- this->swap(tmp);
- return *this;
-#else
     m_bits = b.m_bits;
     m_num_bits = b.m_num_bits;
     return *this;
-#endif
 }
 
 template <typename Block, typename Allocator>
@@ -629,34 +617,32 @@
   const block_type v = value? ~Block(0) : Block(0);
 
   if (required_blocks != old_num_blocks) {
- m_bits.resize(required_blocks, v); // s.g. (copy) [gps]
+ m_bits.resize(required_blocks, v); // s.g. (copy)
   }
 
 
   // At this point:
   //
- // - if the buffer was shrunk, there's nothing to do, except
- // a call to m_zero_unused_bits()
+ // - if the buffer was shrunk, we have nothing more to do,
+ // except a call to m_zero_unused_bits()
   //
- // - if it it is enlarged, all the (used) bits in the new blocks have
- // the correct value, but we should also take care of the bits,
- // if any, that were 'unused bits' before enlarging: if value == true,
+ // - if it was enlarged, all the (used) bits in the new blocks have
+ // the correct value, but we have not yet touched those bits, if
+ // any, that were 'unused bits' before enlarging: if value == true,
   // they must be set.
 
   if (value && (num_bits > m_num_bits)) {
 
- const size_type extra_bits = count_extra_bits(); // gps
+ const size_type extra_bits = count_extra_bits();
     if (extra_bits) {
         assert(old_num_blocks >= 1 && old_num_blocks <= m_bits.size());
 
         // Set them.
- m_bits[old_num_blocks - 1] |= (v << extra_bits); // gps
+ m_bits[old_num_blocks - 1] |= (v << extra_bits);
     }
 
   }
 
-
-
   m_num_bits = num_bits;
   m_zero_unused_bits();
 
@@ -675,16 +661,15 @@
 void dynamic_bitset<Block, Allocator>::
 push_back(bool bit)
 {
- resize(size() + 1);
- set(size() - 1, bit);
+ const size_type sz = size();
+ resize(sz + 1);
+ set(sz, bit);
 }
 
 template <typename Block, typename Allocator>
 void dynamic_bitset<Block, Allocator>::
 append(Block value) // strong guarantee
 {
- // G.P.S. to be reviewed...
-
     const block_width_type r = count_extra_bits();
 
     if (r == 0) {
@@ -784,10 +769,23 @@
             b[div] = b[0];
         }
 
+ // disable std::fill_n deprecated warning in MSVC++ 8.0 (warning C4996)
+ // This will only work in MSVC++ 8.0 SP1, which brings up the warning
+ // in the line of user code; otherwise, the warning will come up
+ // in the line in the header itself, so if the user includes stdlib
+ // headers before dynamic_bitset, he will still get the warning.
+#if defined(_MSC_VER) && _MSC_VER >= 1400
+#pragma warning(push)
+#pragma warning(disable:4996)
+#endif
 
         // zero out div blocks at the less significant end
         std::fill_n(b, div, static_cast<block_type>(0));
 
+#if defined(_MSC_VER) && _MSC_VER >= 1400
+#pragma warning(pop)
+#endif
+
         // zero out any 1 bit that flowed into the unused part
         m_zero_unused_bits(); // thanks to Lester Gong
 
@@ -871,13 +869,6 @@
 dynamic_bitset<Block, Allocator>&
 dynamic_bitset<Block, Allocator>::set(size_type pos, bool val)
 {
- // [gps]
- //
- // Below we have no set(size_type) function to call when
- // value == true; instead of using a helper, I think
- // overloading set (rather than giving it a default bool
- // argument) would be more elegant.
-
     assert(pos < m_num_bits);
 
     if (val)
@@ -902,14 +893,14 @@
 dynamic_bitset<Block, Allocator>::reset(size_type pos)
 {
     assert(pos < m_num_bits);
- #if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
+#if defined __MWERKS__ && BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
     // CodeWarrior 8 generates incorrect code when the &=~ is compiled,
     // use the |^ variation instead.. <grafik>
     m_bits[block_index(pos)] |= bit_mask(pos);
     m_bits[block_index(pos)] ^= bit_mask(pos);
- #else
+#else
     m_bits[block_index(pos)] &= ~bit_mask(pos);
- #endif
+#endif
     return *this;
 }
 
@@ -978,45 +969,6 @@
 }
 
 
-/*
-
-The following is the straightforward implementation of count(), which
-we leave here in a comment for documentation purposes.
-
-template <typename Block, typename Allocator>
-typename dynamic_bitset<Block, Allocator>::size_type
-dynamic_bitset<Block, Allocator>::count() const
-{
- size_type sum = 0;
- for (size_type i = 0; i != this->m_num_bits; ++i)
- if (test(i))
- ++sum;
- return sum;
-}
-
-The actual algorithm uses a lookup table.
-
-
- The basic idea of the method is to pick up X bits at a time
- from the internal array of blocks and consider those bits as
- the binary representation of a number N. Then, to use a table
- of 1<<X elements where table[N] is the number of '1' digits
- in the binary representation of N (i.e. in our X bits).
-
-
- In this implementation X is 8 (but can be easily changed: you
- just have to modify the definition of table_width and shrink/enlarge
- the table accordingly - it could be useful, for instance, to expand
- the table to 512 elements on an implementation with 9-bit bytes) and
- the internal array of blocks is seen, if possible, as an array of bytes.
- In practice the "reinterpretation" as array of bytes is possible if and
- only if X >= CHAR_BIT and Block has no padding bits (that would be counted
- together with the "real ones" if we saw the array as array of bytes).
- Otherwise we simply 'extract' X bits at a time from each Block.
-
-*/
-
-
 template <typename Block, typename Allocator>
 typename dynamic_bitset<Block, Allocator>::size_type
 dynamic_bitset<Block, Allocator>::count() const
@@ -1073,7 +1025,7 @@
 // making me (Gennaro) realize this important separation of
 // concerns issue, as well as many things about i18n.
 //
-template <typename Block, typename Allocator, typename stringT> // G.P.S.
+template <typename Block, typename Allocator, typename stringT>
 inline void
 to_string(const dynamic_bitset<Block, Allocator>& b, stringT& s)
 {
@@ -1087,7 +1039,7 @@
 //
 template <typename B, typename A, typename stringT>
 inline void
-dump_to_string(const dynamic_bitset<B, A>& b, stringT& s) // G.P.S.
+dump_to_string(const dynamic_bitset<B, A>& b, stringT& s)
 {
     to_string_helper(b, s, true /* =dump_all*/);
 }
@@ -1099,7 +1051,7 @@
 {
     // note how this copies *all* bits, including the
     // unused ones in the last block (which are zero)
- std::copy(b.m_bits.begin(), b.m_bits.end(), result); // [gps]
+ std::copy(b.m_bits.begin(), b.m_bits.end(), result);
 }
 
 template <typename Block, typename Allocator>
@@ -1116,26 +1068,29 @@
     throw std::overflow_error("boost::dynamic_bitset::to_ulong overflow");
 
 
- // Ok, from now on we can be sure there's no "on" bit beyond
- // the allowed positions
-
- if (bits_per_block >= ulong_width)
- return m_bits[0];
-
-
- size_type last_block = block_index((std::min)(m_num_bits-1, // gps
- (size_type)(ulong_width-1)));
- unsigned long result = 0;
+ // Ok, from now on we can be sure there's no "on" bit
+ // beyond the "allowed" positions
+ typedef unsigned long result_type;
+
+ /*
+ if find_next() did its job correctly we don't need the if
+ below, because all bits we care about are in the first block
+
+ if (bits_per_block >= ulong_width)
+ return static_cast<result_type>(m_bits[0]);
+ */
+
+ size_type last_block = block_index(
+ (std::min)( m_num_bits, (size_type)ulong_width ) - 1 );
+ result_type result = 0;
   for (size_type i = 0; i <= last_block; ++i) {
 
- assert((size_type)bits_per_block * i < (size_type)ulong_width); // gps
+ assert((size_type)bits_per_block * i < (size_type)ulong_width);
 
- unsigned long piece = m_bits[i];
- result |= (piece << (bits_per_block * i));
+ result |= (m_bits[i] << (bits_per_block * i));
   }
 
   return result;
-
 }
 
 
@@ -1180,31 +1135,6 @@
   return size() == 0;
 }
 
-#if 0 // gps
-template <typename Block, typename Allocator>
-inline void dynamic_bitset<Block, Allocator>::reserve(size_type n)
-{
- assert(n <= max_size()); // PRE - G.P.S.
- m_bits.reserve(calc_num_blocks(n));
-}
-
-template <typename Block, typename Allocator>
-typename dynamic_bitset<Block, Allocator>::size_type
-dynamic_bitset<Block, Allocator>::capacity() const
-{
- // capacity is m_bits.capacity() * bits_per_block
- // unless that one overflows
- const size_type m = static_cast<size_type>(-1);
- const size_type q = m / bits_per_block;
-
- const size_type c = m_bits.capacity();
-
- return c <= q ?
- c * bits_per_block :
- m;
-}
-#endif
-
 template <typename Block, typename Allocator>
 bool dynamic_bitset<Block, Allocator>::
 is_subset_of(const dynamic_bitset<Block, Allocator>& a) const
@@ -1221,13 +1151,17 @@
 is_proper_subset_of(const dynamic_bitset<Block, Allocator>& a) const
 {
     assert(size() == a.size());
+ assert(num_blocks() == a.num_blocks());
+
     bool proper = false;
     for (size_type i = 0; i < num_blocks(); ++i) {
- Block bt = m_bits[i], ba = a.m_bits[i];
+ const Block & bt = m_bits[i];
+ const Block & ba = a.m_bits[i];
+
+ if (bt & ~ba)
+ return false; // not a subset at all
         if (ba & ~bt)
             proper = true;
- if (bt & ~ba)
- return false;
     }
     return proper;
 }
@@ -1312,7 +1246,7 @@
                 const dynamic_bitset<Block, Allocator>& b)
 {
     return (a.m_num_bits == b.m_num_bits)
- && (a.m_bits == b.m_bits); // [gps]
+ && (a.m_bits == b.m_bits);
 }
 
 template <typename Block, typename Allocator>
@@ -1329,23 +1263,20 @@
     assert(a.size() == b.size());
     typedef typename dynamic_bitset<Block, Allocator>::size_type size_type;
 
- if (a.size() == 0)
- return false;
+ //if (a.size() == 0)
+ // return false;
 
     // Since we are storing the most significant bit
     // at pos == size() - 1, we need to do the comparisons in reverse.
-
- // Compare a block at a time
- for (size_type i = a.num_blocks() - 1; i > 0; --i)
+ //
+ for (size_type ii = a.num_blocks(); ii > 0; --ii) {
+ size_type i = ii-1;
       if (a.m_bits[i] < b.m_bits[i])
         return true;
       else if (a.m_bits[i] > b.m_bits[i])
         return false;
-
- if (a.m_bits[0] < b.m_bits[0])
- return true;
- else
- return false;
+ }
+ return false;
 }
 
 template <typename Block, typename Allocator>
@@ -1387,7 +1318,7 @@
     const ios::iostate ok = ios::goodbit;
     ios::iostate err = ok;
 
- if (os.opfx()) { // gps
+ if (os.opfx()) {
 
         //try
         typedef typename dynamic_bitset<Block, Alloc>::size_type bitsetsize_type;
@@ -1395,7 +1326,7 @@
         const bitsetsize_type sz = b.size();
         std::streambuf * buf = os.rdbuf();
         size_t npad = os.width() <= 0 // careful: os.width() is signed (and can be < 0)
- || (bitsetsize_type) os.width() <= sz? 0 : os.width() - sz; //- gps
+ || (bitsetsize_type) os.width() <= sz? 0 : os.width() - sz;
 
         const char fill_char = os.fill();
         const ios::fmtflags adjustfield = os.flags() & ios::adjustfield;
@@ -1404,16 +1335,16 @@
         if (adjustfield != ios::left) {
             for (; 0 < npad; --npad)
                 if (fill_char != buf->sputc(fill_char)) {
- err |= ios::failbit; // gps
+ err |= ios::failbit;
                     break;
                 }
         }
 
         if (err == ok) {
             // output the bitset
- for (bitsetsize_type i = b.size(); 0 < i; --i) {// G.P.S.
+ for (bitsetsize_type i = b.size(); 0 < i; --i) {
                 const char dig = b.test(i-1)? '1' : '0';
- if (EOF == buf->sputc(dig)) { // ok?? gps
+ if (EOF == buf->sputc(dig)) {
                     err |= ios::failbit;
                     break;
                 }
@@ -1436,7 +1367,7 @@
     } // if opfx
 
     if(err != ok)
- os.setstate(err); // assume this does NOT throw - gps
+ os.setstate(err); // assume this does NOT throw
     return os;
 
 }
@@ -1463,11 +1394,11 @@
         try {
 
             typedef typename dynamic_bitset<Block, Alloc>::size_type bitsetsize_type;
- typedef basic_streambuf<Ch, Tr> buffer_type; // G.P.S.
+ typedef basic_streambuf<Ch, Tr> buffer_type;
 
             buffer_type * buf = os.rdbuf();
             size_t npad = os.width() <= 0 // careful: os.width() is signed (and can be < 0)
- || (bitsetsize_type) os.width() <= b.size()? 0 : os.width() - b.size(); //- G.P.S.
+ || (bitsetsize_type) os.width() <= b.size()? 0 : os.width() - b.size();
 
             const Ch fill_char = os.fill();
             const ios_base::fmtflags adjustfield = os.flags() & ios_base::adjustfield;
@@ -1476,14 +1407,14 @@
             if (adjustfield != ios_base::left) {
                 for (; 0 < npad; --npad)
                     if (Tr::eq_int_type(Tr::eof(), buf->sputc(fill_char))) {
- err |= ios_base::failbit; // G.P.S.
+ err |= ios_base::failbit;
                           break;
                     }
             }
 
             if (err == ok) {
                 // output the bitset
- for (bitsetsize_type i = b.size(); 0 < i; --i) {// G.P.S.
+ for (bitsetsize_type i = b.size(); 0 < i; --i) {
                     typename buffer_type::int_type
                         ret = buf->sputc(b.test(i-1)? one : zero);
                     if (Tr::eq_int_type(Tr::eof(), ret)) {
@@ -1525,8 +1456,8 @@
 
 #ifdef BOOST_OLD_IOSTREAMS
 
- // gps - A sentry-like class that calls isfx in its
- // destructor. Necessary because bit_appender::do_append may throw.
+ // A sentry-like class that calls isfx in its destructor.
+ // "Necessary" because bit_appender::do_append may throw.
     class pseudo_sentry {
         std::istream & m_r;
         const bool m_ok;
@@ -1550,21 +1481,21 @@
     typedef dynamic_bitset<Block, Alloc> bitset_type;
     typedef typename bitset_type::size_type size_type;
 
- std::ios::iostate err = std::ios::goodbit; // gps
+ std::ios::iostate err = std::ios::goodbit;
     pseudo_sentry cerberos(is); // skips whitespaces
     if(cerberos) {
 
         b.clear();
 
         const std::streamsize w = is.width();
- const size_type limit = w > 0 && static_cast<size_type>(w) < b.max_size()// gps
+ const size_type limit = w > 0 && static_cast<size_type>(w) < b.max_size()
                                                          ? w : b.max_size();
         typename bitset_type::bit_appender appender(b);
         std::streambuf * buf = is.rdbuf();
         for(int c = buf->sgetc(); appender.get_count() < limit; c = buf->snextc() ) {
 
             if (c == EOF) {
- err |= std::ios::eofbit; // G.P.S.
+ err |= std::ios::eofbit;
                 break;
             }
             else if (char(c) != '0' && char(c) != '1')
@@ -1572,7 +1503,6 @@
 
             else {
                 try {
- //throw std::bad_alloc(); // gps
                     appender.do_append(char(c) == '1');
                 }
                 catch(...) {
@@ -1584,10 +1514,10 @@
         } // for
     }
 
- is.width(0); // gps
+ is.width(0);
     if (b.size() == 0)
         err |= std::ios::failbit;
- if (err != std::ios::goodbit) // gps
+ if (err != std::ios::goodbit)
         is.setstate (err); // may throw
 
     return is;
@@ -1606,10 +1536,10 @@
     typedef typename bitset_type::size_type size_type;
 
     const streamsize w = is.width();
- const size_type limit = 0 < w && static_cast<size_type>(w) < b.max_size()? // gps
+ const size_type limit = 0 < w && static_cast<size_type>(w) < b.max_size()?
                                          w : b.max_size();
 
- ios_base::iostate err = ios_base::goodbit; // gps
+ ios_base::iostate err = ios_base::goodbit;
     typename basic_istream<Ch, Tr>::sentry cerberos(is); // skips whitespaces
     if(cerberos) {
 
@@ -1622,11 +1552,11 @@
         try {
             typename bitset_type::bit_appender appender(b);
             basic_streambuf <Ch, Tr> * buf = is.rdbuf();
- typename Tr::int_type c = buf->sgetc(); // G.P.S.
+ typename Tr::int_type c = buf->sgetc();
             for( ; appender.get_count() < limit; c = buf->snextc() ) {
 
                 if (Tr::eq_int_type(Tr::eof(), c)) {
- err |= ios_base::eofbit; // G.P.S.
+ err |= ios_base::eofbit;
                     break;
                 }
                 else {
@@ -1647,7 +1577,7 @@
             //
             // bits_stored bits have been extracted and stored, and
             // either no further character is extractable or we can't
- // append to the underlying vector (out of memory) gps
+ // append to the underlying vector (out of memory)
 
             bool rethrow = false; // see std 27.6.1.1/4
             try { is.setstate(ios_base::badbit); }
@@ -1659,10 +1589,10 @@
         }
     }
 
- is.width(0); // gps
+ is.width(0);
     if (b.size() == 0 /*|| !cerberos*/)
         err |= ios_base::failbit;
- if (err != ios_base::goodbit) // gps
+ if (err != ios_base::goodbit)
         is.setstate (err); // may throw
 
     return is;
@@ -1720,7 +1650,7 @@
 swap(dynamic_bitset<Block, Allocator>& left,
      dynamic_bitset<Block, Allocator>& right) // no throw
 {
- left.swap(right); // gps
+ left.swap(right);
 }
 
 

Modified: branches/release/boost/dynamic_bitset_fwd.hpp
==============================================================================
--- branches/release/boost/dynamic_bitset_fwd.hpp (original)
+++ branches/release/boost/dynamic_bitset_fwd.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -9,8 +9,9 @@
 //
 // -----------------------------------------------------------
 
-// See http://www.boost.org/libs/dynamic_bitset for documentation.
-
+// See http://www.boost.org/libs/dynamic_bitset/ for documentation.
+//
+// $Revision$ $Date$ - $Name$
 
 #ifndef BOOST_DYNAMIC_BITSET_FWD_HPP
 #define BOOST_DYNAMIC_BITSET_FWD_HPP

Modified: branches/release/boost/dynamic_property_map.hpp
==============================================================================
--- branches/release/boost/dynamic_property_map.hpp (original)
+++ branches/release/boost/dynamic_property_map.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -356,7 +356,15 @@
   throw dynamic_get_failure(name);
 }
 
-
+// The easy way to ignore properties.
+inline
+std::auto_ptr<boost::dynamic_property_map>
+ignore_other_properties(const std::string&,
+ const boost::any&,
+ const boost::any&) {
+ return std::auto_ptr<boost::dynamic_property_map>(0);
 }
 
+} // namespace boost
+
 #endif // DYNAMIC_PROPERTY_MAP_RG09302004_HPP

Modified: branches/release/boost/foreach.hpp
==============================================================================
--- branches/release/boost/foreach.hpp (original)
+++ branches/release/boost/foreach.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -5,6 +5,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
+// See http://www.boost.org/libs/foreach for documentation
 //
 // Credits:
 // Anson Tsao - for the initial inspiration and several good suggestions.
@@ -61,12 +62,13 @@
 #endif
 
 #include <boost/mpl/if.hpp>
+#include <boost/mpl/assert.hpp>
 #include <boost/mpl/logical.hpp>
 #include <boost/mpl/eval_if.hpp>
 #include <boost/noncopyable.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/begin.hpp>
-#include <boost/range/result_iterator.hpp>
+#include <boost/range/iterator.hpp>
 #include <boost/type_traits/is_array.hpp>
 #include <boost/type_traits/is_const.hpp>
 #include <boost/type_traits/is_abstract.hpp>
@@ -286,13 +288,82 @@
 {
 };
 
+template<typename T>
+struct wrap_cstr
+{
+ typedef T type;
+};
+
+template<>
+struct wrap_cstr<char *>
+{
+ typedef wrap_cstr<char *> type;
+ typedef char *iterator;
+ typedef char *const_iterator;
+};
+
+template<>
+struct wrap_cstr<char const *>
+{
+ typedef wrap_cstr<char const *> type;
+ typedef char const *iterator;
+ typedef char const *const_iterator;
+};
+
+template<>
+struct wrap_cstr<wchar_t *>
+{
+ typedef wrap_cstr<wchar_t *> type;
+ typedef wchar_t *iterator;
+ typedef wchar_t *const_iterator;
+};
+
+template<>
+struct wrap_cstr<wchar_t const *>
+{
+ typedef wrap_cstr<wchar_t const *> type;
+ typedef wchar_t const *iterator;
+ typedef wchar_t const *const_iterator;
+};
+
+template<typename T>
+struct is_char_array
+ : mpl::and_<
+ is_array<T>
+ , mpl::or_<
+ is_convertible<T, char const *>
+ , is_convertible<T, wchar_t const *>
+ >
+ >
+{};
+
 template<typename T, typename C = boost::mpl::false_>
 struct foreach_iterator
 {
+ // **** READ THIS IF YOUR COMPILE BREAKS HERE ****
+ //
+ // There is an ambiguity about how to iterate over arrays of char and wchar_t.
+ // Should the last array element be treated as a null terminator to be skipped, or
+ // is it just like any other element in the array? To fix the problem, you must
+ // say which behavior you want.
+ //
+ // To treat the container as a null-terminated string, merely cast it to a
+ // char const *, as in BOOST_FOREACH( char ch, (char const *)"hello" ) ...
+ //
+ // To treat the container as an array, use boost::as_array() in <boost/range/as_array.hpp>,
+ // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ...
+ #if BOOST_MSVC > 1300
+ BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T) );
+ #endif
+
+ // If the type is a pointer to a null terminated string (as opposed
+ // to an array type), there is no ambiguity.
+ typedef BOOST_DEDUCED_TYPENAME wrap_cstr<T>::type container;
+
     typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if<
         C
- , range_const_iterator<T>
- , range_iterator<T>
+ , range_const_iterator<container>
+ , range_mutable_iterator<container>
>::type type;
 };
 
@@ -560,6 +631,15 @@
 }
 #endif
 
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+template<typename T, typename C>
+inline auto_any<T *>
+begin(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings
+{
+ return auto_any_cast<T *, boost::mpl::false_>(col);
+}
+#endif
+
 ///////////////////////////////////////////////////////////////////////////////
 // end
 //

Modified: branches/release/boost/format/alt_sstream_impl.hpp
==============================================================================
--- branches/release/boost/format/alt_sstream_impl.hpp (original)
+++ branches/release/boost/format/alt_sstream_impl.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -107,7 +107,7 @@
                     return pos_type(off_type(-1));
                 if(eback() <= off+gptr() && off+gptr() <= putend_ ) {
                     // set gptr
- streambuf_t::gbump(off);
+ streambuf_t::gbump(static_cast<int>(off));
                     if(which & ::std::ios_base::out && pptr() != NULL)
                         // update pptr to match gptr
                         streambuf_t::pbump(static_cast<int>(gptr()-pptr()));
@@ -125,7 +125,7 @@
                     return pos_type(off_type(-1));
                 if(pbase() <= off+pptr() && off+pptr() <= putend_)
                     // set pptr
- streambuf_t::pbump(off);
+ streambuf_t::pbump(static_cast<int>(off));
                 else
                     off = off_type(-1);
             }
@@ -221,6 +221,10 @@
         typename basic_altstringbuf<Ch, Tr, Alloc>::int_type
         basic_altstringbuf<Ch, Tr, Alloc>::
         overflow (int_type meta) {
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4996)
+#endif
             if(compat_traits_type::eq_int_type(compat_traits_type::eof(), meta))
                 return compat_traits_type::not_eof(meta); // nothing to do
             else if(pptr() != NULL && pptr() < epptr()) {
@@ -276,6 +280,9 @@
                 streambuf_t::sputc(compat_traits_type::to_char_type(meta));
                 return meta;
             }
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
         }
         // -end overflow(..)
 

Modified: branches/release/boost/format/feed_args.hpp
==============================================================================
--- branches/release/boost/format/feed_args.hpp (original)
+++ branches/release/boost/format/feed_args.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -51,7 +51,7 @@
         else {
             std::streamsize n=static_cast<std::streamsize>(w-size-!!prefix_space);
             std::streamsize n_after = 0, n_before = 0;
- res.reserve(w); // allocate once for the 2 inserts
+ res.reserve(static_cast<size_type>(w)); // allocate once for the 2 inserts
             if(center)
                 n_after = n/2, n_before = n - n_after;
             else
@@ -60,12 +60,12 @@
                 else
                     n_before = n;
             // now make the res string :
- if(n_before) res.append(n_before, fill_char);
+ if(n_before) res.append(static_cast<size_type>(n_before), fill_char);
             if(prefix_space)
               res.append(1, prefix_space);
             if (size)
               res.append(beg, size);
- if(n_after) res.append(n_after, fill_char);
+ if(n_after) res.append(static_cast<size_type>(n_after), fill_char);
         }
     } // -mk_str(..)
 

Modified: branches/release/boost/format/format_implementation.hpp
==============================================================================
--- branches/release/boost/format/format_implementation.hpp (original)
+++ branches/release/boost/format/format_implementation.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -25,21 +25,21 @@
 // --- basic_format implementation -----------------------------------------//
 
     template< class Ch, class Tr, class Alloc>
- basic_format<Ch, Tr, Alloc>:: basic_format(const Ch* str)
+ basic_format<Ch, Tr, Alloc>:: basic_format(const Ch* s)
         : style_(0), cur_arg_(0), num_args_(0), dumped_(false),
           exceptions_(io::all_error_bits)
     {
- if( str)
- parse( str );
+ if( s)
+ parse( s );
     }
 
 #if !defined(BOOST_NO_STD_LOCALE)
     template< class Ch, class Tr, class Alloc>
- basic_format<Ch, Tr, Alloc>:: basic_format(const Ch* str, const std::locale & loc)
+ basic_format<Ch, Tr, Alloc>:: basic_format(const Ch* s, const std::locale & loc)
         : style_(0), cur_arg_(0), num_args_(0), dumped_(false),
           loc_(loc), exceptions_(io::all_error_bits)
     {
- if(str) parse( str );
+ if(s) parse( s );
     }
 
     template< class Ch, class Tr, class Alloc>
@@ -123,6 +123,7 @@
             for(std::size_t i=0; i < nbitems; ++i)
                 items_[i].reset(fill); // strings are resized, instead of reallocated
         }
+ prefix_.resize(0);
     }
 
     template< class Ch, class Tr, class Alloc>

Modified: branches/release/boost/format/group.hpp
==============================================================================
--- branches/release/boost/format/group.hpp (original)
+++ branches/release/boost/format/group.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -55,6 +55,8 @@
     group1(T1 a1)
       : a1_(a1)
       {}
+private:
+ group1& operator=(const group1&);
 };
 
 template <class Ch, class Tr, class T1>
@@ -78,6 +80,8 @@
     group2(T1 a1,T2 a2)
       : a1_(a1),a2_(a2)
       {}
+private:
+ group2& operator=(const group2&);
 };
 
 template <class Ch, class Tr, class T1,class T2>
@@ -99,6 +103,8 @@
     group3(T1 a1,T2 a2,T3 a3)
       : a1_(a1),a2_(a2),a3_(a3)
       {}
+private:
+ group3& operator=(const group3&);
 };
 
 template <class Ch, class Tr, class T1,class T2,class T3>

Modified: branches/release/boost/format/internals.hpp
==============================================================================
--- branches/release/boost/format/internals.hpp (original)
+++ branches/release/boost/format/internals.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -119,6 +119,8 @@
             os.imbue(loc_.get());
         else if(loc_default)
             os.imbue(*loc_default);
+#else
+ (void) loc_default; // keep compiler quiet if we don't support locales
 #endif
     }
 

Modified: branches/release/boost/format/parsing.hpp
==============================================================================
--- branches/release/boost/format/parsing.hpp (original)
+++ branches/release/boost/format/parsing.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -16,6 +16,7 @@
 
 
 #include <boost/format/format_class.hpp>
+#include <boost/format/exceptions.hpp>
 #include <boost/throw_exception.hpp>
 #include <boost/assert.hpp>
 
@@ -130,6 +131,12 @@
         bool in_brackets=false;
         Iter start0 = start;
         std::size_t fstring_size = last-start0+offset;
+
+ if(start>= last) { // empty directive : this is a trailing %
+ maybe_throw_exception(exceptions, start-start0 + offset, fstring_size);
+ return false;
+ }
+
         if(*start== const_or_not(fac).widen( '|')) {
             in_brackets=true;
             if( ++start >= last ) {
@@ -360,7 +367,10 @@
             if( i1+1 >= buf.size() ) {
                 if(exceptions & bad_format_string_bit)
                     boost::throw_exception(bad_format_string(i1, buf.size() )); // must not end in ".. %"
- else break; // stop there, ignore last '%'
+ else {
+ ++num_items;
+ break;
+ }
             }
             if(buf[i1+1] == buf[i1] ) {// escaped "%%"
                 i1+=2; continue;
@@ -429,8 +439,10 @@
             }
             BOOST_ASSERT( static_cast<unsigned int>(cur_item) < items_.size() || cur_item==0);
 
- if(i1!=i0)
+ if(i1!=i0) {
                 io::detail::append_string(piece, buf, i0, i1);
+ i0=i1;
+ }
             ++i1;
             it = buf.begin()+i1;
             bool parse_ok = io::detail::parse_printf_directive(

Modified: branches/release/boost/function.hpp
==============================================================================
--- branches/release/boost/function.hpp (original)
+++ branches/release/boost/function.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -10,6 +10,8 @@
 // William Kempf, Jesse Jones and Karl Nelson were all very helpful in the
 // design of this library.
 
+#include <functional> // unary_function, binary_function
+
 #include <boost/preprocessor/iterate.hpp>
 #include <boost/detail/workaround.hpp>
 
@@ -21,8 +23,8 @@
 // in anything that may be included by function_template.hpp doesn't break
 #include <boost/function/detail/prologue.hpp>
 
-// Older versions of the IBM C++ compiler do not handle file iterations well
-#if BOOST_WORKAROUND(__IBMCPP__, >= 500) && BOOST_WORKAROUND(__IBMCPP__, < 800)
+// Visual Age C++ doesn't handle the file iteration well
+#if BOOST_WORKAROUND(__IBMCPP__, >= 500)
 # if BOOST_FUNCTION_MAX_ARGS >= 0
 # include <boost/function/function0.hpp>
 # endif

Modified: branches/release/boost/function/detail/prologue.hpp
==============================================================================
--- branches/release/boost/function/detail/prologue.hpp (original)
+++ branches/release/boost/function/detail/prologue.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -11,6 +11,7 @@
 #define BOOST_FUNCTION_PROLOGUE_HPP
 # include <cassert>
 # include <algorithm>
+# include <functional> // unary_function, binary_function
 # include <boost/throw_exception.hpp>
 # include <boost/config.hpp>
 # include <boost/function/function_base.hpp>

Modified: branches/release/boost/function/function_base.hpp
==============================================================================
--- branches/release/boost/function/function_base.hpp (original)
+++ branches/release/boost/function/function_base.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -30,6 +30,19 @@
 #endif
 #include <boost/function_equal.hpp>
 
+#if defined(BOOST_MSVC)
+# pragma warning( push )
+# pragma warning( disable : 4793 ) // complaint about native code generation
+#endif
+
+// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
+#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
+// Embedded VC++ does not have type_info in namespace std
+# define BOOST_FUNCTION_STD_NS
+#else
+# define BOOST_FUNCTION_STD_NS std
+#endif
+
 // Borrowed from Boost.Python library: determines the cases where we
 // need to use std::type_info::name to compare instead of operator==.
 # if (defined(__GNUC__) && __GNUC__ >= 3) \
@@ -59,7 +72,7 @@
 
 #if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
  || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
- || !(BOOST_STRICT_CONFIG || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
+ || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
 # define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
 #endif
 
@@ -198,8 +211,8 @@
       struct reference_manager
       {
         static inline void
- get(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op)
+ manage(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op)
         {
           switch (op) {
           case clone_functor_tag:
@@ -215,8 +228,8 @@
               // DPG TBD: Since we're only storing a pointer, it's
               // possible that the user could ask for a base class or
               // derived class. Is that okay?
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
               if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(F)))
                 out_buffer.obj_ptr = in_buffer.obj_ptr;
               else
@@ -265,8 +278,8 @@
           else if (op == destroy_functor_tag)
             out_buffer.func_ptr = 0;
           else /* op == check_functor_type_tag */ {
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
             if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
               out_buffer.obj_ptr = &in_buffer.func_ptr;
             else
@@ -287,8 +300,8 @@
             // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
             reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
           } else /* op == check_functor_type_tag */ {
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
             if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
               out_buffer.obj_ptr = &in_buffer.data;
             else
@@ -348,8 +361,8 @@
 # endif // BOOST_NO_STD_ALLOCATOR
             out_buffer.obj_ptr = 0;
           } else /* op == check_functor_type_tag */ {
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
             if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
               out_buffer.obj_ptr = in_buffer.obj_ptr;
             else
@@ -368,6 +381,15 @@
                   mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
         }
 
+ // For member pointers, we treat them as function objects with
+ // the small-object optimization always enabled.
+ static inline void
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op, member_ptr_tag)
+ {
+ manager(in_buffer, out_buffer, op, mpl::true_());
+ }
+
       public:
         /* Dispatch to an appropriate manager based on whether we have a
            function pointer or a function object pointer. */
@@ -456,7 +478,6 @@
        */
       struct vtable_base
       {
- vtable_base() : manager(0) { }
         void (*manager)(const function_buffer& in_buffer,
                         function_buffer& out_buffer,
                         functor_manager_operation_type op);
@@ -480,13 +501,13 @@
 
   /** Retrieve the type of the stored function object, or typeid(void)
       if this is empty. */
- const std::type_info& target_type() const
+ const BOOST_FUNCTION_STD_NS::type_info& target_type() const
   {
     if (!vtable) return typeid(void);
 
     detail::function::function_buffer type;
     vtable->manager(functor, type, detail::function::get_functor_type_tag);
- return *static_cast<const std::type_info*>(type.const_obj_ptr);
+ return *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(type.const_obj_ptr);
   }
 
   template<typename Functor>
@@ -558,7 +579,7 @@
 #endif
 
 public: // should be protected, but GCC 2.95.3 will fail to allow access
- detail::function::vtable_base* vtable;
+ const detail::function::vtable_base* vtable;
   mutable detail::function::function_buffer functor;
 };
 
@@ -733,4 +754,8 @@
 #undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
 #undef BOOST_FUNCTION_COMPARE_TYPE_ID
 
+#if defined(BOOST_MSVC)
+# pragma warning( pop )
+#endif
+
 #endif // BOOST_FUNCTION_BASE_HEADER

Modified: branches/release/boost/function/function_template.hpp
==============================================================================
--- branches/release/boost/function/function_template.hpp (original)
+++ branches/release/boost/function/function_template.hpp 2007-11-25 13:07:19 EST (Sun, 25 Nov 2007)
@@ -54,12 +54,20 @@
   BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
 #define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
   BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_MEMBER_INVOKER \
+ BOOST_JOIN(member_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \
+ BOOST_JOIN(void_member_invoker,BOOST_FUNCTION_NUM_ARGS)
 #define BOOST_FUNCTION_GET_FUNCTION_INVOKER \
   BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
 #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
   BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
 #define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \
   BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_GET_MEMBER_INVOKER \
+ BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_GET_INVOKER \
+ BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS)
 #define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS)
 
 #ifndef BOOST_NO_VOID_RETURNS
@@ -70,16 +78,6 @@
 # define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE ()
 #endif
 
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant.
-#endif
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant.
-#endif
-
 namespace boost {
   namespace detail {
     namespace function {
@@ -191,6 +189,44 @@
         }
       };
 
+#if BOOST_FUNCTION_NUM_ARGS > 0
+ /* Handle invocation of member pointers. */
+ template<
+ typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_PARMS
+ >
+ struct BOOST_FUNCTION_MEMBER_INVOKER
+ {
+ static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_PARMS)
+
+ {
+ MemberPtr* f =
+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
+ return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS);
+ }
+ };
+
+ template<
+ typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_PARMS
+ >
+ struct BOOST_FUNCTION_VOID_MEMBER_INVOKER
+ {
+ static BOOST_FUNCTION_VOID_RETURN_TYPE
+ invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_PARMS)
+
+ {
+ MemberPtr* f =
+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
+ BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS));
+ }
+ };
+#endif
+
       template<
         typename FunctionPtr,
         typename R BOOST_FUNCTION_COMMA
@@ -254,12 +290,130 @@
>::type type;
       };
 
+#if BOOST_FUNCTION_NUM_ARGS > 0
+ /* Retrieve the appropriate invoker for a member pointer. */
+ template<
+ typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_PARMS
+ >
+ struct BOOST_FUNCTION_GET_MEMBER_INVOKER
+ {
+ typedef typename mpl::if_c<(is_void<R>::value),
+ BOOST_FUNCTION_VOID_MEMBER_INVOKER<
+ MemberPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >,
+ BOOST_FUNCTION_MEMBER_INVOKER<
+ MemberPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >
+ >::type type;
+ };
+#endif
+
+ /* Given the tag returned by get_function_tag, retrieve the
+ actual invoker that will be used for the given function
+ object.
+
+ Each specialization contains an "apply" nested class template
+ that accepts the function object, return type, function
+ argument types, and allocator. The resulting "apply" class
+ contains two typedefs, "invoker_type" and "manager_type",
+ which correspond to the invoker and manager types. */
+ template<typename Tag>
+ struct BOOST_FUNCTION_GET_INVOKER { };
+
+ /* Retrieve the invoker for a function pointer. */
+ template<>
+ struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag>
+ {
+ template<typename FunctionPtr,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+ typename Allocator>
+ struct apply
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
+ FunctionPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ invoker_type;
+
+ typedef functor_manager<FunctionPtr, Allocator> manager_type;
+ };
+ };
+
+#if BOOST_FUNCTION_NUM_ARGS > 0
+ /* Retrieve the invoker for a member pointer. */
+ template<>
+ struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag>
+ {
+ template<typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+ typename Allocator>
+ struct apply
+ {
+ typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
+ MemberPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ invoker_type;
+
+ typedef functor_manager<MemberPtr, Allocator> manager_type;
+ };
+ };
+#endif
+
+ /* Retrieve the invoker for a function object. */
+ template<>
+ struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag>
+ {
+ template<typename FunctionObj,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+ typename Allocator>
+ struct apply
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
+ FunctionObj,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ invoker_type;
+
+ typedef functor_manager<FunctionObj, Allocator> manager_type;
+ };
+ };
+
+ /* Retrieve the invoker for a reference to a functio